最近,我发现在IPv6不通的情况下,被分配到IPv6地址的VPS速度会比较慢。在搜索了一番之后,我找到了下面的方案。下面就是在我的CentOS 7 服务器禁止IPv6的方法。

方法一:

编辑文件/etc/sysctl.conf

vi /etc/sysctl.conf     #打开文件

在最下面添加

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

如果你想禁用指定网卡的IPv6,例如,对于eth0,添加下面的行

net.ipv6.conf.eth0.disable_ipv6 = 1

保存并退出后,执行以下命令使得修改生效

sysctl -p

方法一,我亲测没有问题,且也比较方便。

方法二:

要在运行的系统中禁止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已经禁止了。

我在禁止IPv6后遇到问题怎么办

你可能在禁止IPv6后遇到一些问题

问题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

问题2:

如果你在禁止Ipv6后启动postfix遇到问题,编辑/etc/postfix/main.cf

vi /etc/postfix/main.cf

注释掉配置中的localhost部分,并且使用ipv4回环。

#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

大概就是这样。
声明:本文经本人实测后发布。原文出处“如何在CentOS 7中禁止IPv6,有删改!”


发表评论