저는 Linux 호스트를 IPv4 라우터로 사용하고 있으며 IPv6 활성화를 검토하고 있습니다(미래에는 이것이 가능하다고 합니다). 나는 이미 dhcpcd
ISP로부터 주소를 얻기 위해 dhcpv4 클라이언트를 사용하고 있으므로 dhcpv6에도 사용할 수 있다고 생각했습니다.
불행하게도 dhcpcd
요청 메시지가 전송되는 것을 볼 수 있고 dhcpv6 서버가 2x dhcpv6 광고 메시지로 응답하는 것을 볼 수 있지만 dhcpcd
dhcpv6 요청이 전송되는 것을 볼 수 없습니다.
다음과 같은 세 가지 메시지가 3번 반복된 후 dhcpcd
시간 초과되는 시퀀스가 표시됩니다.
15:41:06.457440 IP6 (flowlabel 0x1e0d7, hlim 1, next-header UDP (17) payload length: 152) fe80::aaaa:aaaa:aaaa:aaaa.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=bc3d12 (client-ID type 4) (elapsed-time 0) (vendor-class) (rapid-commit) (IA_NA IAID:403318227 T1:0 T2:0) (Client-FQDN) (reconfigure-accept) (option-request DNS-server DNS-search-list Client-FQDN opt_82 opt_83))
15:41:07.168805 IP6 (class 0x48, hlim 56, next-header UDP (17) payload length: 140) 2001:558:4082:7f::1.dhcpv6-server > fe80::aaaa:aaaa:aaaa:aaaa.dhcpv6-client: [udp sum ok] dhcp6 advertise (xid=bc3d12 (client-ID type 4) (server-ID hwaddr/time type 1 time 493924036 40a8f0347664) (IA_NA IAID:403318227 T1:1800 T2:2880 (IA_ADDR 2001:558:600a:7f:bbbb:bbbb:bbbb:bbbb pltime:3600 vltime:3600)) (reconfigure-accept) (DNS-server cdns01.comcast.net cdns02.comcast.net) (Client-FQDN))
15:41:07.168912 IP6 (class 0x48, hlim 56, next-header UDP (17) payload length: 140) 2001:558:4082:7f::1.dhcpv6-server > fe80::aaaa:aaaa:aaaa:aaaa.dhcpv6-client: [udp sum ok] dhcp6 advertise (xid=bc3d12 (client-ID type 4) (server-ID hwaddr/time type 1 time 493924036 40a8f0347664) (IA_NA IAID:403318227 T1:1800 T2:2880 (IA_ADDR 2001:558:600a:7f:bbbb:bbbb:bbbb:bbbb pltime:3600 vltime:3600)) (reconfigure-accept) (DNS-server cdns01.comcast.net cdns02.comcast.net) (Client-FQDN))
Mar 14 15:41:05 router dhcpcd[126860]: DUID ...
Mar 14 15:41:05 router dhcpcd[126860]: enp8s0: IAID 18:0a:25:d3
Mar 14 15:41:05 router dhcpcd[126860]: enp8s0: adding address fe80::aaaa:aaaa:aaaa:aaaa
Mar 14 15:41:05 router dhcpcd[126860]: enp8s0: soliciting an IPv6 router
Mar 14 15:41:06 router dhcpcd[126860]: enp8s0: Router Advertisement from fe80::2aa:bbff:fecc:102
Mar 14 15:41:06 router dhcpcd[126860]: enp8s0: no global addresses for default route
Mar 14 15:41:06 router dhcpcd[126860]: enp8s0: soliciting a DHCPv6 lease
Mar 14 15:41:35 router dhcpcd[126860]: timed out
Mar 14 15:41:35 router dhcpcd[126860]: dhcpcd exited
$ cat /proc/sys/net/ipv6/conf/enp8s0/autoconf
1
$ cat /proc/sys/net/ipv6/conf/enp8s0/accept_ra_pinfo
1
$ cat /proc/sys/net/ipv6/conf/enp8s0/forwarding
0
$ cat /proc/sys/net/ipv6/conf/enp8s0/accept_ra
0
나의 즉각적인 목표는 접두사 위임이나 실제 IPv6 라우팅을 수행하지 않고 이 "라우터" 호스트에서 IPv6가 작동하도록 하는 것이므로 이것이 forwarding
현재 설정되어 있습니다. 0
호스트가 IPv6 클라이언트로 작동하면 라우팅 문제를 처리하겠습니다.
accept_ra
로 설정 2
하려고 했는데 dhcpcd
다시 로 설정됩니다 0
.
netctl
다음과 같은 매우 기본적인 구성 파일을 통해 dhcpcd를 호출합니다. 정확한 호출은 다음과 같습니다 dhcpcd -6 -q -t 30 enp8s0
.
$ cat /etc/netctl/enp8s0
Interface=enp8s0
Connection=ethernet
IP=dhcp
DHCPClient=dhcpcd
IP6=dhcp
DHCP6Client=dhcpcd
$ dhcpcd --version
dhcpcd 8.1.6
Copyright (c) 2006-2019 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH
$ cat /etc/dhcpcd.conf | egrep -v '^#'
hostname
duid
persistent
option rapid_commit
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
option interface_mtu
require dhcp_server_identifier
slaac private
noipv4ll
답변1
Comcast가 광고 메시지에서 보내는 클라이언트 ID를 실수로 자르는 것 같습니다. dhcpcd
다음 옵션을 사용하여 -d
수동으로 호출합니다 .
Mar 14 16:22:35 router dhcpcd[127923]: enp8s0: broadcasting SOLICIT6 (xid 0xc32482), next in 0.9 seconds
Mar 14 16:22:35 router dhcpcd[127923]: enp8s0: incorrect client ID from 2001:558:4082:7f::1
Mar 14 16:22:35 router dhcpcd[127923]: enp8s0: incorrect client ID from 2001:558:4082:7f::1
Wireshark를 사용하여 클라이언트 ID를 관찰했습니다.
11 5.308301 fe80::aaaa:aaaa:aaaa:aaaa ff02::1:2 DHCPv6 208 Solicit XID: 0xc32482 CID: 000403000200040005000006000700080009
12 5.360355 2001:558:4082:7f::1 fe80::aaaa:aaaa:aaaa:aaaa DHCPv6 196 Advertise XID: 0xc32482 CID: 00040300020004000500 IAA: 2001:558:600a:7f:bbbb:bbbb:bbbb:bbbb
ㅏ유형 4 클라이언트 IDUUID 기반 DUID이며 길이는 128비트(16바이트)여야 합니다. dhcpcd
올바른 길이가 전송되고 있지만 Comcast의 응답이 너무 짧습니다(8바이트).
dhcpcd -I 00:04:03:00:02:00:04:00:05:00 ...
Comcast가 잘라낸 내용과 일치하도록 명시적인 클라이언트 ID를 보내려고 했지만 tcpdump는 이 옵션이 적용되지 않는다고 표시했습니다. 또한 dhcpcd
너무 짧은 유형 4 클라이언트 ID가 마음에 들지 않지만 dhcpcd
여전히 작동하지 않는 경우를 대비하여 유형 4(RFC에 의해 지정됨)에서 유형 9(그렇지 않음)로 변경해 보았습니다.