用ipv6模块,因为这可能导致SELinux和其他组件出现问题,可以在 /etc/sysctl.conf 中添加以下内容:

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

运行的系统中禁用:

  • 方案一 【推荐、测试有效】
    1
    2
    echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
    echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
  • 方案二
    1
    2
    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sysctl -w net.ipv6.conf.default.disable_ipv6=1

附加说明1:如果在禁用IPv6的系统上遇到转发问题,请编辑 /etc/ssh/sshd_config 并进行以下更改

  • 方案一

    1
    #AddressFamily any

    修改为:

    1
    AddressFamily inet

    (inet仅适用于ipv4; inet6仅适用于ipv6)

  • 方案二

删除该行前面的井号(#),然后重新启动ssh。

1
#ListenAddress 0.0.0.0

附加说明2:如果在禁用IPv6的系统上遇到启动后缀的问题

  • 方案一

编辑/etc/postfix/main.cf并注释掉配置的localhost部分,并使用ipv4回传。

1
2
#inet_interfaces = localhost
inet_interfaces = 127.0.0.1
  • 方案二

/etc/hosts 中取出ipv6 localhost。

附加说明3:要禁用RPCBIND ipv6(rpcbind,rpc.mountd,prc.statd)

  • 请在 /etc/netconfig 中标记udp6和tcp6行:
1
2
3
4
5
6
7
udp        tpi_clts      v     inet     udp     -       -
tcp tpi_cots_ord v inet tcp - -
#udp6 tpi_clts v inet6 udp - -
#tcp6 tpi_cots_ord v inet6 tcp - -
rawip tpi_raw - inet - - -
local tpi_cots_ord - loopback - - -
unix tpi_cots_ord - loopback - - -