systemd-networkd를 사용하여 LXD 컨테이너에서 IPv6를 완전히 비활성화하는 방법

systemd-networkd를 사용하여 LXD 컨테이너에서 IPv6를 완전히 비활성화하는 방법

LXD 컨테이너에서 IPv4용으로 구성된 가상 네트워크 어댑터에서 IPv6을 완전히 비활성화하려고 하는데 어쨌든 IPv6 주소가 자동으로 구성되는 것 같습니다.

인용 문서:

고정 IPv6 주소로 구성되지 않고 DHCPv6 또는 IPv6LL이 활성화되지 않은 인터페이스는 비IPv6 지원으로 간주되어야 합니다. /proc/sys/net/ipv6/conf/ifname/disable_ipv6에 "1"을 쓰면 이 인터페이스에 대해 IPv6가 자동으로 비활성화됩니다.

다음 구성을 사용하고 있습니다.

[Match]
Name=ext0

[Link]
RequiredForOnline=no

[Network]
Address=172.29.1.12/16
Gateway=0.0.0.0
DHCP=no
LinkLocalAddressing=no
IPv6AcceptRA=no
ConfigureWithoutCarrier=yes

보시다시피 systemd-networkd는아니요disable_ipv6문서에 명시된 대로 1로 설정합니다 .

# cat /proc/sys/net/ipv6/conf/ext0/disable_ipv6 
0

# ip addr show dev ext0
40: ext0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:07:d6:95 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.29.1.12/16 brd 172.29.255.255 scope global ext0
       valid_lft forever preferred_lft forever
    inet6 fd42:158c:c543:8cfe:216:3eff:fe07:d695/64 scope global dynamic mngtmpaddr 
       valid_lft 3316sec preferred_lft 3316sec
    inet6 fe80::216:3eff:fe07:d695/64 scope link 
       valid_lft forever preferred_lft forever

systemd-networkd 로그에는 인터페이스가 명시적으로 비활성화되었음에도 불구하고 링크 로컬 주소를 가져오고 있음이 표시됩니다.

# journalctl -u systemd-networkd
-- Logs begin at Wed 2019-10-02 10:29:04 UTC, end at Wed 2019-10-02 10:30:25 UTC. --
Oct 02 10:29:04 assist1 systemd-networkd[36]: ext0: Gained IPv6LL
Oct 02 10:29:04 assist1 systemd-networkd[36]: Enumeration completed
Oct 02 10:29:04 assist1 systemd[1]: Started Network Service.
Oct 02 10:29:04 assist1 systemd-networkd[36]: ext0: Configured

작동하는 IPv6를 비활성화하는 sysctl 설정이 있다는 것을 알고 있지만 IPv6을 전역적으로 비활성화하고 싶지 않고 가상 어댑터가 IPv6을 사용하거나 동적으로 사용하지 않도록 재구성될 수 있기 때문에 해당 설정을 사용하고 싶지 않습니다. .

답변1

이 동작이 변경되었습니다.482화뚜렷한 이유 없이 문서가 업데이트되지 않았습니다. 이제 IPv6 스택은 비활성화할 수 없으며 systemd-networkd를 통해서만 활성화할 수 있습니다.

관련 정보