我正在尝试为我的所有接口(我有 4 个)关闭 IPv6 自动配置。我想用
net.ipv6.conf.all.autoconf = 0
在我的 sysctl 配置中(在 下/etc/sysct.d
)但设置不适用于任何接口,但是对于net.ipv6.conf.all.autoconf
它起作用的参数,因此运行以下命令:`
sysctl -a | grep "net\.ipv6\.conf" | grep "autoconf"
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth1.autoconf = 1
net.ipv6.conf.eth2.autoconf = 1
net.ipv6.conf.eth3.autoconf = 1
然后我尝试使用动态设置
sysctl -w net.ipv6.conf.all.autoconf=0
但它既不工作。您知道任何解决方法吗?我不想一个一个(net.ipv6.conf.eth3.autoconf = 0
手动)做的原因,因为有时我也有更多的接口(这些只是不总是连接)
TL;博士
应该这样做。
长版:
sysctl
实际上更改了文件内容/proc/sys
net.ipv6.conf.all.autoconf
因此物理上位于/proc/sys/net/ipv6/conf/all/autoconf
/proc/sys/net/ipv6/conf/
/
使用.
分隔符sed
#
.proc.sys.
再次从字符串中删除。sed
/
.autoconf=0
到界面sysctl --write $()
注意:如果您没有按照
root
应该运行的方式运行sudo sysctl --write $()
...