IPv6被认为是IPv4的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。但目前,开启IPv6可能会导致一些问题。因此有时我们需要关闭IPv6。下面是IPv6的关闭方法应该适用于所有主流的Linux发行版包括Ubuntu、Debian、CentOS。
1. 方法一
- 编辑文件/etc/sysctl.conf
vi /etc/sysctl.conf
- 添加下面的行:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
如果你想要为特定的网卡禁止IPv6,比如,对于enp0s3,添加下面的行。
net.ipv6.conf.enp0s3.disable_ipv6 = 1
- 执行下面的命令来使设置生效。
sysctl -p
2. 方法二
要在运行的系统中禁止IPv6,依次输入下面的命令:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
或,
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
现在IPv6已经禁止了。
可以通过ip address list
查看是否已经生效
3. 可能会遇到一些问题
3.1. 禁止IPv6后SSH时遇到问题
编辑 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
找到下面的行:
#AddressFamily any
把它改成:
AddressFamily inet
或者,在这行的前面去掉注释(#):
#ListenAddress 0.0.0.0
接着重启ssh来使改变生效。
systemctl restart sshd
3.2. 启动postfix遇到问题
编辑/etc/postfix/main.cf
vi /etc/postfix/main.cf
注释掉配置中的localhost部分,并且使用ipv4回环。
#inet_interfaces = localhost
inet_interfaces = 127.0.0.1
3.3. mysql安装后监听IPv6地址
编辑/etc/my.cnf
在[mysqld]
中添加 bind-addres=0.0.0.0
重启mysql
sudo /etc/init.d/mysql restart
4. 本文引用
封面图片:None
教程参考:https://www.cnblogs.com/dailidong/p/7571154.html
版权属于:木 白
本文链接:https://www.moehz.com/archives/kill_ipv6.html
版权声明:本站所有文章采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。