Я играю с ipv6 в моей домашней сети. Я пытаюсь понять, как клиент Linux (в Ubuntu 16.04, если это имеет значение) знает, как общаться с сервером dhcpv6 (либо для получения IP-адреса, либо для получения DNS-серверов). Кажется, что многое из этого делается из ядра, как, например, когда я делаю:
$ sudo ifup --verbose p2p1
Я вижу среди выходных
/sbin/sysctl -q -e -w net.ipv6.conf.p2p1.accept_ra=2
/sbin/sysctl -q -e -w net.ipv6.conf.p2p1.autoconf=1
Я также вижу много сообщений dhcpv4 в этом выводе, но я не вижу ничего связанного с dhcpv6.
Я также вижу, что мой маршрутизатор сообщает, что есть другая доступная конфигурация:
$ rdisc6 p2p1
Soliciting ff02::2 (ff02::2) on p2p1...
Hop limit : 64 ( 0x40)
Stateful address conf. : Yes
Stateful other conf. : Yes
Router preference : medium
Router lifetime : 1800 (0x00000708) seconds
Reachable time : unspecified (0x00000000)
Retransmit time : unspecified (0x00000000)
Prefix : 2601:xxx:xxx:xxx::/64
Valid time : 3600 (0x00000e10) seconds
Pref. time : 3600 (0x00000e10) seconds
Prefix : fd0f:e273:26d2::/64
Valid time : 3600 (0x00000e10) seconds
Pref. time : 3600 (0x00000e10) seconds
MTU : 1500 bytes (valid)
Source link-layer address: BC:AE:C5:C3:0A:55
Recursive DNS server : 2601:xxx:xxx:xxx::1
DNS server lifetime : 3600 (0x00000e10) seconds
from fe80::beae:c5ff:fec3:a55
Но мне явно не хватает части, где что-то решает вызвать dhclient -6.
FWIW:
$ cat /etc/network/interfaces | tail -5
# The primary network interface
auto p2p1
iface p2p1 inet dhcp
# This is an autoconfigured IPv6 interface
iface p2p1 inet6 auto
Если я изменю последнюю строку на:
iface p2p1 inet6 dhcp
Тогда все это имеет смысл для меня. Но я хочу придерживаться auto, потому что, похоже, именно так должен работать ipv6.
Я начал с этого пути, потому что isc-dhcp-client вообще не отправляет запрос dhcp6 (проверено с помощью tcpdump на моем openwrt), но dhcpc5 делает. Но переключение на dhcp5c приводит к удалению диспетчера сети, что приводит к другим проблемам. Как только я начал искать, я подумал, что могу научиться ловить рыбу. Я ожидаю, что отслеживание моей точной проблемы должно быть прямым после того, как я узнаю, как на самом деле вызывается dhclient -6.
Спасибо крейг