在Linux中如何禁用IPv6

时间:2019-05-19 01:25:53  来源:igfitidea点击:

IPv6是下一代互联网协议,旨在取代目前的互联网协议IPv4。
两个设备之间的通信需要IP地址。
它是计算机在互联网上的身份。
本文将从Linux系统禁用IPv6。

查看IPv6地址

使用 ifconfig命令查看当前的IPv6地址。
我们将得到类似如下结果。

[Hyman@theitroad ~]# <orange>ifconfig </orange>

eth0: flags=4163<up,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 45.55.65.94  netmask 255.255.224.0  broadcast 45.55.95.255
        <orange>inet6 fe80::601:92ff:fe35:ea01</orange>  prefixlen 64  scopeid 0x20<link>
        ether 04:01:92:35:ea:01  txqueuelen 1000  (Ethernet)
        RX packets 2411381  bytes 794420295 (757.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2151232  bytes 351005391 (334.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<up,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        <orange>inet6 fe80::601:92ff:fe35:ea02</orange>  prefixlen 64  scopeid 0x20<link>
        ether 04:01:92:35:ea:02  txqueuelen 1000  (Ethernet)
        RX packets 8  bytes 648 (648.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123828  bytes 21997128 (20.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<up,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        <orange>inet6 ::1</orange>  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 47584  bytes 4822673 (4.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47584  bytes 4822673 (4.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

临时禁用IPv6

如果要为当前会话禁用IPv6,只需使用以下命令设置运行时变量。
请注意,以下更改将在系统重新启动后丢弃。

$ sudo echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6

永久禁用IPv6

要永久禁用IPv6,编辑/etc/sysctl.conf文件并添加/更新以下参数

$ vi /etc/sysctl.conf

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

重新加载sysctl配置:

$ sudo sysctl -p