Debian 9.1:无法禁用 IPv6 自动配置

Debian 9.1:无法禁用 IPv6 自动配置

我已经将一台机器更新到 Debian 9.1,一切似乎都很好,但是我无法禁用 IPv6 自动配置。

背景:我只想在机器上使用我定义的一些特定 IPv6 地址/etc/systemd/network/10-static-eth0.network

[Match]
Name=eth0

[Network]
Address=2a04:52c0:xxx:xxx::xxx/48
Address=2a04:52c0:xxx:xxx::xxx/48
Address=2a04:52c0:xxx:xxx::xx/48
Gateway=2a04:52c0:xxx::1

Address=5.2.xxx.xxx/25
Address=5.2.xxx.xxx/25
Address=5.2.xxx.xxx/25
Gateway=5.2.xxx.xxx

为了禁用 IPv6 自动配置,我在末尾添加了以下内容/etc/sysctl.conf

net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.autoconf=0

net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.eth0.accept_ra=0

net.ipv6.conf.default.accept_dad=0
net.ipv6.conf.all.accept_dad=0
net.ipv6.conf.eth0.accept_dad=0

重新启动后,没有动态/自动配置 IPv6 地址,但过了一段时间它就会出现在ip addr show

inet6 2a04:52c0:xxxx:xxxx:xxxx:xxx:xxxx:1e3d/64 scope global mngtmpaddr noprefixroute dynamic 
   valid_lft 2590732sec preferred_lft 603532sec

我如何避免此自动配置 IPv6 地址并确保只有静态地址能够工作?

谢谢。

答案1

我相信这些地址标记为mngtmpaddrnoprefixroute来自IPv6 隐私扩展标准 (RFC 4941)并且由内核本身创建。

你应该可以关闭该功能,添加

net.ipv6.conf.default.use_tempaddr=0
net.ipv6.conf.all.use_tempaddr=0
net.ipv6.conf.eth0.use_tempaddr=0

你的/etc/sysctl.conf

希望能帮助到你!

相关内容