> CentOS > CentOS入门 >

CentOS 7.x 禁用IPv6

0. 说明

CentOS 7.0-1406发布以后,改变相当大,其中默认启动IPv6对很多SA来说没必要,禁用掉也可以减少不必要的开销。

1. 禁用

1.1 修改/etc/sysctl.conf文件

 
1
2
3
shell>vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

1.2 通过命令暂时禁用

 
1
2
3
4
5
shell>echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
shell>echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
或者
shell>sysctl -w net.ipv6.conf.all.disable_ipv6=1
shell>sysctl -w net.ipv6.conf.default.disable_ipv6=1

2. 衍生问题

2.1 禁用IPv6后出现X转发(X-Forwarding)问题,可通过改变/etc/ssh/sshd_config文件中两个选项的任意一处来排除故障:

 
1
2
3
4
shell>vim /etc/ssh/sshd_config
#AddressFamily any
改为
AddressFamily inet #inet为IPv4 inet6为IPv6

或者

 
1
2
3
4
shell>vim /etc/ssh/sshd_config
#ListenAddress 0.0.0.0
改为
ListenAddress 0.0.0.0

然后重启ssh。

2.2  禁用IPv6后postfix程序出现故障,可通过以下两种方法之一进行解决:

编辑/etc/postfix/main.cf 文件,禁用localhost并启用ipv4回环地址127.0.0.1。

 
 
 
 
 
Shell
 
1
2
#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

或者删除/etc/hosts文件中IPv6对应localhost条目。

 

(责任编辑:IT)