在新的 CentOS 7 系统上,我尝试禁用 ipv6。
/etc/sysctl.conf
为此,我添加了以下内容:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
启动时,所有接口均在不支持 ipv6 的情况下出现 - 太棒了!但是,如果我在接口上发出ifdown
and ,它会恢复 ipv6 支持:ifup
[root@server ~]# ip a | grep inet6
[root@server ~]# ifdown enp0s3 && ifup enp0s3
Device 'enp0s3' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@server ~]# ip a | grep inet6
inet6 2601:681:201:62b0::45d8/128 scope global tentative noprefixroute dynamic
inet6 2601:681:201:62b0:c6b:2fa2:be84:3e40/64 scope global noprefixroute dynamic
inet6 fe80::9997:e614:3fdd:a0ba/64 scope link noprefixroute
[root@server ~]#
如果我“重新运行” sysctl
,ipv6 地址将被删除:
[root@server ~]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[root@server ~]# ip a | grep inet6
[root@server ~]#
- 是什么赋予了?似乎
ifup
运行时不考虑 中的设置sysctl
。我认为设置sysctl.conf
是“永久的”。我误解了什么吗? - 有没有办法避免
sysctl -p
每次执行后都需要执行ifup
?