Gru*_*bel 30 networking linux ipv6 ubuntu
如何在 Linux 中永久禁用 IPv6 的自动配置?当我尝试从接口手动删除地址时:
ip -6 addr del 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 dev eth1
它会在几秒钟后重新出现,我希望它永久消失,但不要一起禁用 IPv6。
Gru*_*bel 25
可以暂时禁用 eth1 的自动配置:
sudo sysctl -w net.ipv6.conf.eth1.autoconf=0
sudo sysctl -w net.ipv6.conf.eth1.accept_ra=0
或用于所有接口:
sudo sysctl -w net.ipv6.conf.all.autoconf=0
sudo sysctl -w net.ipv6.conf.all.accept_ra=0
通过在调用中使用 1 而不是 0 来重新启用。
永久禁用它可以通过一个条目来完成/etc/sysctl.conf
。在 Debian Etch 上(也可能在较新的版本上),如果不设置accept_ra
,系统将使用链接本地地址 ( fe80..
)自动配置
正如Gart在下面提到的,如果主机本身是路由器而accept_ra
不是路由器,则自动地址配置和路由器发现将被禁用2
,即
net.ipv6.conf.<iface|all|default>.forwarding=1
和
net.ipv6.conf.<iface|all|default>.accept_ra=0
或net.ipv6.conf.<iface|all|default>.accept_ra=1
。
iface
你的界面在哪里
小智 9
上面的 net.ipv6.conf.all.accept_ra=0 不应该做,因为 RA 是必要的,用于指示前缀的在线和离线(根据 RFC5942),以及许多其他的自动配置参数,例如 MTU、邻居发现超时等。
如果要禁用自动配置,请按上述方式设置 autoconf sysctl off,或关闭 RA 中前缀信息选项 (PIO) 中的 A(自动配置位)。
该sysctl
解决方案在 Ubuntu 18.04 Bionic 上对我们不起作用。我们通过以下方式解决了它:
编辑/etc/netplan/01-netcfg.yaml
、配置:
network:
...
ethernets:
eth0:
...
dhcp6: no
accept-ra: no
Run Code Online (Sandbox Code Playgroud)
您可能需要使用您的接口名称而不是eth0
. 保存文件后执行:
netplan apply
或者 reboot
如果您已经从自动配置中收到一个 IPv6 IP,并且您想在不重新启动的情况下将其删除,您可以执行:
ip -6 addr del 1111:2222:1:0:aaaa:bbbb:cccc:dddd/64 dev eth0
Run Code Online (Sandbox Code Playgroud)
当然你需要替换这个命令中的IP和设备。
小智 6
sudo sysctl -w net.ipv6.conf.all.autoconf=0
Run Code Online (Sandbox Code Playgroud)
这在 Debian Wheezy 上对我不起作用。在检查 /etc/sysctl.conf 后我需要使用
sudo sysctl -w net.ipv6.conf.default.autoconf=0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
76137 次 |
最近记录: |