Вроде бы, никаких проблем быть не должно с этим. Я подписан на рассылку ISC DHCP, вот что писали по этому поводу еще год назад:
The software can handle both protocols, however a running instance can
only handle one protocol at a time.
The defined solution to this is to run dhcpd twice, one instance for
IPv4 and one instance for IPv6. You can do this on the same machine
without problems.
Так что, dhcpd вполне подходит. Линк на dhcpd в init.d ну и далее.
Спасибо, уже смотрю в эту сторону. Так же смотрю в сторону dnsmasq (попробую еще и кеширующий DNS), вроде все получается, по результатам эксперимента отпишусь.
—
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Настроил dnsmasq. Вообщем все работает, вот только не получается привязать определенные IPv6 к определенным link-local адресом (производной MAC адреса). Согласно RFC-3315:
Цитата:
The client uses a link-local address or addresses determined through other mechanisms for transmitting and receiving DHCP messages
Клиенты используют link-local адреса или адреса полученные другими способами для отправки и приема DHCP сообщений
Ну меня другие способы пока не интересуют, смотрим в сторону link-local адресов, опять же в RFC-3315:
Цитата:
link-local address An IPv6 address having a link-only
scope, indicated by having the prefix
(FE80::/10), that can be used to reach
neighboring nodes attached to the same
link. Every interface has a link-local
address.
Что в переводе на русский:
link-local адрес - IPv6 адрес использующийся только в подсети FE80::/10 для связи с другими адресами вышеуказанной подсети. Каждый интерфейс физический (от себя) имеет link-local адрес. Короче замена MAC адреса.
Я так понял все это придумали, чтоб не городить ARPv6.
Смотрим
Вот собственно и эти link-local адреса (странно, а префикс не /10 (как в RFC), а /64), причем только у физических интерфейсов (недоработали ребята в RFC), и они похожи на MAC адреса. В RFC-3315 я не нашел как формируются link-local адреса. Стал смотреть на просторах интернета. Нашел вот эту статью на википедии.
Цитата:
A 64-bit interface identifier is most commonly derived from its 48-bit MAC address. A MAC address 00:1D:BA:06:37:64 is turned into a 64-bit EUI-64 by inserting FF:FE in the middle: 00:1D:BA:FF:FE:06:37:64. When this EUI-64 is used to form an IPv6 address it is modified:[1] the meaning of the Universal/Local bit (the 7th most significant bit of the EUI-64, starting from 1) is inverted, so that a 1 now means Universal. To create an IPv6 address with the network prefix 2001:db8:1:2::/64 it yields the address 2001:db8:1:2:021d:baff:fe06:3764 (with the underlined U/L bit inverted to a 1, because the MAC address is universally unique)
64 битный идентификатор интерфейса может быть получен из 48 битного MAC адреса, путем запихивания 3 старших байт MAC адреса в 3 старших байта идентификатора, 3 младших байтов MAC адреса в 3 младших байта идентификатора, запихивания FF:FE в два средних байта (4,5 байт) идентификатора, и инвертирования 2 бита старшего байта идентификатора
Что вообщем и видно из выхлопа ifconfig
В dnsmasq.conf прописано:
Но комп с id:fe:80:00:00:00:00:d6:9a:20:ff:fe:79:36:fc получает IPv6 2002:59b3:f3cd::ac17:8ab, а не 2002:59b3:f3cd::ac17:804 как мне бы хотелось.
Что делаю не так? Куда копать?
—
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Запускать dhcpd для ipv4 и
Запускать dhcpd для ipv4 и dibbler для ipv6?
Нейтральность - высшее достижение сознания!
.
Вроде бы, никаких проблем быть не должно с этим. Я подписан на рассылку ISC DHCP, вот что писали по этому поводу еще год назад:
Так что, dhcpd вполне подходит. Линк на dhcpd в init.d ну и далее.
Спасибо, уже смотрю в эту
Спасибо, уже смотрю в эту сторону. Так же смотрю в сторону dnsmasq (попробую еще и кеширующий DNS), вроде все получается, по результатам эксперимента отпишусь.
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Настроил dnsmasq. Вообщем все
Настроил dnsmasq. Вообщем все работает, вот только не получается привязать определенные IPv6 к определенным link-local адресом (производной MAC адреса). Согласно RFC-3315:
Ну меня другие способы пока не интересуют, смотрим в сторону link-local адресов, опять же в RFC-3315:
Я так понял все это придумали, чтоб не городить ARPv6.
Смотрим
# ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 1118 bytes 140573 (137.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1118 bytes 140573 (137.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 net_eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.200.79.52 netmask 255.255.248.0 broadcast 10.200.79.255 inet6 fe80::211:9ff:fe94:bdc3 prefixlen 64 scopeid 0x20<link> ether 00:11:09:94:bd:c3 txqueuelen 1000 (Ethernet) RX packets 1728663 bytes 193402301 (184.4 MiB) RX errors 0 dropped 473 overruns 0 frame 0 TX packets 3974613 bytes 5336766269 (4.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 net_eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.23.8.8 netmask 255.255.255.0 broadcast 172.23.8.255 inet6 fe80::211:9ff:fe94:bdc4 prefixlen 64 scopeid 0x20<link> inet6 2002:59b3:f3cd::ac17:808 prefixlen 120 scopeid 0x0<global> ether 00:11:09:94:bd:c4 txqueuelen 1000 (Ethernet) RX packets 34162 bytes 4112731 (3.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29052 bytes 13306726 (12.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1460 inet 89.179.243.205 netmask 255.255.255.255 destination 78.107.1.78 ppp txqueuelen 3 (Point-to-Point Protocol) RX packets 1662916 bytes 98787149 (94.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3968793 bytes 5130033841 (4.7 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 sit0: flags=193<UP,RUNNING,NOARP> mtu 1440 inet6 ::89.179.243.205 prefixlen 96 scopeid 0x80<compat,global> inet6 ::172.23.8.8 prefixlen 96 scopeid 0x80<compat,global> inet6 ::10.200.79.52 prefixlen 96 scopeid 0x80<compat,global> inet6 ::127.0.0.1 prefixlen 96 scopeid 0x90<compat,host> inet6 2002:59b3:f3cd:: prefixlen 48 scopeid 0x0<global> sit txqueuelen 0 (IPv6-in-IPv4) RX packets 1000 bytes 217165 (212.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1034 bytes 123642 (120.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0Вот собственно и эти link-local адреса (странно, а префикс не /10 (как в RFC), а /64), причем только у физических интерфейсов (недоработали ребята в RFC), и они похожи на MAC адреса. В RFC-3315 я не нашел как формируются link-local адреса. Стал смотреть на просторах интернета. Нашел вот эту статью на википедии.
Что вообщем и видно из выхлопа ifconfig
В dnsmasq.conf прописано:
Но комп с id:fe:80:00:00:00:00:d6:9a:20:ff:fe:79:36:fc получает IPv6 2002:59b3:f3cd::ac17:8ab, а не 2002:59b3:f3cd::ac17:804 как мне бы хотелось.
Что делаю не так? Куда копать?
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
насколько я помню,
насколько я помню, привязывать надо не к link-local адресу, а к DUID. По крайней мере так в dibbler...
Нейтральность - высшее достижение сознания!
Огромное спасибо! Разобрался,
Огромное спасибо! Теперь все работает!
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!