IPv6 被认为是 IPv4 的替代产品,它用来解决现有 IPv4 地址空间即将耗尽的问题。但目前,开启 IPv6 可能会导致一些问题。因此有时我们需要关闭 IPv6。下面是 IPv6 的关闭方法应该适用于所有主流的 Linux 发行版包括 Ubuntu、Debian、CentOS。

# 方法一

  • 编辑文件 /etc/sysctl.conf
h
vi /etc/sysctl.conf
  • 添加下面的行:
h
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

如果你想要为特定的网卡禁止 IPv6,比如,对于 enp0s3,添加下面的行。

h
net.ipv6.conf.enp0s3.disable_ipv6 = 1
  • 执行下面的命令来使设置生效。
h
sysctl -p

# 方法二

要在运行的系统中禁止 IPv6,依次输入下面的命令:

h
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

或,

h
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

现在 IPv6 已经禁止了。
可以通过 ip address list 查看是否已经生效


# 可能会遇到一些问题

# 禁止 IPv6 后 SSH 时遇到问题

编辑 /etc/ssh/sshd_config

h
vi /etc/ssh/sshd_config

找到下面的行:

h
#AddressFamily any

把它改成:

h
AddressFamily inet

或者,在这行的前面去掉注释 (#):

h
#ListenAddress 0.0.0.0

接着重启 ssh 来使改变生效。

h
systemctl restart sshd

# 启动 postfix 遇到问题

编辑 /etc/postfix/main.cf

h
vi /etc/postfix/main.cf

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

h
#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

# mysql 安装后监听 IPv6 地址

编辑 /etc/my.cnf

[mysqld] 中添加 bind-addres=0.0.0.0

重启 mysql

h
sudo /etc/init.d/mysql restart

# 本文引用

教程参考:https://www.cnblogs.com/dailidong/p/7571154.html

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

木 白 微信支付

微信支付

木 白 支付宝

支付宝

木 白 贝宝

贝宝