Temat: IPv6, działa static, problemy z DHCP
W oparciu o ten artykuł http://eko.one.pl/?p=openwrt-ipv6 próbowałem sobie skonfigurować tunel na routerze i dorobić do tego lokalną sieć IPv6. Pakiety poinstalowane, konfiguracja z serwisu zaaplikowana. Gdy na routerze daję ping na ipv6.google.com , dostaję:
root@the-mountain:~# ping6 ipv6.google.com
PING ipv6.google.com(waw02s05-in-x0e.1e100.net) 56 data bytes
64 bytes from waw02s05-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=31.3 ms
64 bytes from waw02s05-in-x0e.1e100.net: icmp_seq=2 ttl=55 time=32.9 ms
64 bytes from waw02s05-in-x0e.1e100.net: icmp_seq=3 ttl=55 time=34.4 ms
^C
--- ipv6.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 31.328/32.924/34.482/1.287 msZatem tunel na routerze działa.
Interfejs br-lan na routerze wygląda tak:
root@the-mountain:~# ip addr show br-lan
10: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default
link/ether c4:6e:1f:95:ef:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 2001:470:11:22::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd42:156b:900b::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::c66e:1fff:fe95:effe/64 scope link
valid_lft forever preferred_lft foreverSkonfigurowałem sobie mojego debiana statycznie via /etc/network/interfaces :
iface bond0 inet6 static
address 2001:470:11:22::150
netmask 64
gateway 2001:470:11:22::1I na nim też dało radę pingnąć po ten adres googlowy.
Chciałem teraz skonfigurować to połączenie via DHCP ale tutaj się zaczęły problemy. Przede wszystkim, klient dostaje taką adresację:
# ip addr show dev bond0
3: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 3c:4a:92:00:4c:5b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.150/24 brd 192.168.1.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fd42:156b:900b::150/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::3e4a:92ff:fe00:4c5b/64 scope link
valid_lft forever preferred_lft foreverSkąd się bierze ten adres fd42:156b:900b::150/128 na kliencie? Tam wyżej router miał także adres fd42:156b:900b::1/60 , co go tam przydziela? Przy tak przydzielonym adresie na kliencie, nie da rady pingnąć adresu googla. Nie da rady także pingnąć adresu routera (IPv6), bo dostaje się "connect: Network is unreachable". Problemem są chyba trasy:
# ip -6 route show
fd42:156b:900b::150 dev bond0 proto kernel metric 256 pref medium
fe80::/64 dev bond0 proto kernel metric 256 pref mediumPrzy konfiguracji statycznej było:
# ip -6 route show
2001:470:11:22::/64 dev bond0 proto kernel metric 256 pref medium
fe80::/64 dev bond0 proto kernel metric 256 pref medium
default via 2001:470:11:22::1 dev bond0 metric 1024 pref mediumZatem wygląda to trochę inaczej, pomińmy różne adresy. Trochę to dziwne, no bo przecie konfiguracja leci przez DHCP. Sprawdziłem zatem lease, którą serwer DHCP przysłał i tam jest coś takiego:
# cat dhclient6.bond0.leases
default-duid "\000\001\000\001\036a\322\027<J\222\000L[";
lease6 {
interface "bond0";
ia-na 92:00:4c:5b {
starts 1456412056;
renew 43200;
rebind 69120;
iaaddr fd42:156b:900b::150 {
starts 1456412056;
preferred-life 4294967295;
max-life 4294967295;
}
}
option dhcp6.client-id 0:1:0:1:1e:61:d2:17:3c:4a:92:0:4c:5b;
option dhcp6.server-id 0:3:0:1:c4:6e:1f:95:ef:fe;
option dhcp6.solmax-rt 60;
option dhcp6.reconf-accept;
option dhcp6.name-servers fe80::c66e:1fff:fe95:effe;
option dhcp6.domain-search "mhouse.lh.";
option dhcp6.unknown-11 3:1:0:56:cf:15:98:0:0:0:1:1:d0:95:2d:30:33:cd:93:14:82:92:e7:e9:37:2b:cc:d6;
}Czy w tych lease dla IPv6 nie powinno być informacji o adresie routera i sieci, tak jak to jest w lease IPv4? Poza tym, czemu ten serwer DHCP przesyła lease z adresem zaczynającym się od fd42: , a nie od 2001: ? Coś w konfiguracji OpenWRT się powinno dopisać by ten serwer DHCP zaczął rozsyłać konfigurację z tym adresem 2001: ?