CentOS 7 关闭IPv6

由于某种原因,必须要在centos7上关闭IPv6. IPv6这个东西是真好,也是真不好。。。很多resolver强制你使用IPv6,太烦人了。。

主要有两种办法关闭IPv6,第一种办法是再kernal启动的时候关闭,需要重新启动。第二种是在sysctl中关闭,不需要重新启动。。但是最好是重启一下.

在kernal module中关闭IPv6

1. Edit /etc/default/grub and add ipv6.disable=1 in line GRUB_CMDLINE_LINUX, e.g.:

# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

2.Regenerate a GRUB configuration file and overwrite existing one:

# grub2-mkconfig -o /boot/grub2/grub.cfg

3. Restart system and verify no line “inet6” in “ip addr show” command output.

在sysctl设置中关闭IPv6

1.Append below lines in /etc/sysctl.conf:

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

NOTE : To disable IPv6 on a single interface add below lines to /etc/sysctl.conf :
net.ipv6.conf.[interface].disable_ipv6 = 1 ### put interface name here [interface]
net.ipv6.conf.default.disable_ipv6 = 1

2. To make the settings affective, execute :

# sysctl -p

or reboot this server

关闭IPv6以后可能带来的问题:

1)  SSH

SSH 有可能无法连接,这个时候可以编辑/etc/ssh/sshd_config,  找到这一行:

#AddressFamily any

将其改为:

AddressFamily inet

重启SSH服务

2) postfix

postfix 默认是监听ipv4 和 ipv6 端口的,因此我们需要改成仅监听ipv4 端口。

编辑/etc/postfix/main.cf, 找到这一行:

inet_protocols = all

将其改为:

inet_protocols = ipv4

重启postfix即可

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.