⑴ linux下怎么关闭ipv6\centos显示ipv6怎么办
echo -e "options ipv6 disable=1" >> /etc/modprobe.conf/ipv6.conf
vi /etc/sysconfig/network-scripts/ifcfg-eth0 #根据网卡名
修改 IPV6INIT=no
重启
⑵ linux下怎么关闭ipv6\centos显示ipv6怎么办
工具/原料
centos系统
关闭IPV6
网卡配置文件编辑
通过vi编辑器,编辑网卡配置文件本图以为 centos系统为例
Network网络配置文件编辑
除此之外还需要把network配置文件的networking_ipv6改成no 如果没有的添加上去
查看ipv6接口使用情况
设置好以上配置,重启网卡,通过输入 lsmod|grep ipv6确认IPv6端口使用情况
如果现实还有上面2项,编辑/etc/modprobe.conf 文件
关闭ipv6接口
输入alais net -pf-10 off
Alias ipv6 off 关闭ipv6协议
设置好之后,最后重启网卡服务。再次查看ifconfig你会发现已经没有ipv6地址了。
⑶ 如何在Linux发行版下禁用IPv6
第一种方法:禁用IPv6
编辑文件/etc/sysctl.conf:
$ sudo gedit /etc/sysctl.conf
然后在该文件的末尾处填写下列几行:
# IPv6 disabled 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
再次查看ifconfig的输出结果,现在应该没有ipv6地址了。
$ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1346 errors:0 dropped:0 overruns:0 frame:0 TX packets:965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB)
要是这一招不管用,那么试试重启系统,再次查看ifconfig。
第二种方法:禁用IPv6,使用GRUB方法
还可以编辑grub配置文件,以此禁用IPv6。
$ sudo gedit /etc/default/grub
找到含有GRUB_CMDLINE_LINUX的这一行,编辑该行,如下所示。
GRUB_CMDLINE_LINUX="ipv6.disable=1"
同样还可以添加到名为GRUB_CMDLINE_LINUX_DEFAULT的变量的值,任何一种方法都管用。保存文件,关闭文件,重新生成grub配置。
$ sudo update-grub2
重启。现在,IPv6应该已被禁用了。
第三种方法:不禁用IPv6,设置IPv4的优先级高于IPv6
找到getaddrinfo(3)配置文件,也就是/etc/gai.conf,并去掉相应行的注释,让IPv4的优先级高于IPv6。
$ sudo gedit /etc/gai.conf
找到这一行,去掉其注释:
#precedence ::ffff:0:0/96 100
那样一来,它看起来就像这样:
precedence ::ffff:0:0/96 100
保存并退出文件。重启后一切都搞定了,因为现在优先处理的是IPv4。如果你要启用IPv6,但是在执行DNS查询之类的操作时优先处理IPv4,这是最佳方法。
⑷ 如何在Linux下禁用IPv6
IPv6被认为是IPv4——互联网上的传统32位地址空间——的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。然而,由于已经有大量主
机、设备用IPv4连接到了互联网上,所以想在一夜之间将它们全部切换到IPv6几乎是不可能的。许多IPv4到IPv6的转换机制(例如:双协议栈、网
络隧道、代理)
已经被提出来用来促进IPv6能被采用,并且很多应用也正在进行重写,如我们所提倡的,来增加对IPv6的支持。有一件事情可以确定,就是在可预见的未来
里IPv4和IPv6势必将共存。
理想情况下,向IPv6过渡的进程不应该被最终的用户所看见,但是IPv4/IPv6混合环境有时会让你碰到各种源于IPv4和IPv6之间不经意间
的相互碰撞的问题。举个例子,你会碰到应用程序超时的问题,比如apt-get或ssh尝试通过IPv6连接失败、DNS服务器意外清空了IPv6的
AAAA记录、或者你支持IPv6的设备不兼容你的互联网服务提供商遗留下的IPv4网络,等等等等。
当然这不意味着你应该盲目地在你的Linux机器上禁用IPv6。鉴于IPv6许诺的种种好处,作为社会的一份子我们最终还是要充分拥抱它的,但是作为给最终用户进行故障排除过程的一部分,如果IPv6确实是罪魁祸首,那你可以尝试去关闭它。
这里有一些让你在Linux中部分(例如:对于某个特定的网络接口)或全部禁用IPv6的小技巧。这些小贴士应该适用于所有主流的Linux发行版包
括Ubuntu、Debian、Linux Mint、CentOS、Fedora、RHEL以及Arch Linux。
查看IPv6在Linux中是否被启用
所有现代Linux发行版默认都自动启用IPv6。为了能看到IPv6在你的Linux中是否被激活,可以使用ifconfig或ip命令。如果你在输入这些命令之后看到“inet6”字样的输出,那就意味着你的Linux系统启用了IPv6。
$ ifconfig
$ ip addr
临时禁用IPv6
如果你想要在你的Linux系统上临时关闭IPv6,你可以用 /proc 文件系统。“临时”的意思是我们所做的禁用IPv6的更改在系统重启后将不被保存。IPv6会在你的Linux机器重启后再次被启用。
要将一个特定的网络接口禁用IPv6,使用以下命令:
$ sudo sh -c ‘echo 1 》 /proc/sys/net/ipv6/conf/《interface-name》/disable_ipv6’
举个例子,将eth0接口禁用IPv6:
$ sudo sh -c ‘echo 1 》 /proc/sys/net/ipv6/conf/eth0/disable_ipv6’
重新启用eth0接口的IPv6:
$ sudo sh -c ‘echo 0 》 /proc/sys/net/ipv6/conf/eth0/disable_ipv6’
如果你想要将整个系统所有接口包括回环接口禁用IPv6,使用以下命令:
$ sudo sh -c ‘echo 1 》 /proc/sys/net/ipv6/conf/all/disable_ipv6’
永久禁用IPv6
以上方法是不能永久禁用IPv6的,你一旦重启系统IPv6还是会被启用。如果你想要永久关闭它,有几个方法你可以试试。
方法一
第一种方法是通过 /etc/sysctl.conf 文件对 /proc 进行永久修改。
换句话说,就是用文本编辑器打开 /etc/sysctl.conf 然后添加以下内容:
# 禁用整个系统所有接口的IPv6
net.ipv6.conf.all.disable_ipv6 = 1
# 禁用某一个指定接口的IPv6(例如:eth0, lo)
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
在 /etc/sysctl.conf 使这些更改生效,运行以下命令:
$ sudo sysctl -p /etc/sysctl.conf
或者直接重启。
方法二
另一个永久禁用IPv6的方法是在开机的时候传递一个必要的内核参数。
用文本编辑器打开 /etc/default/grub 并给GRUBCMDLINELINUX变量添加“ipv6.disable=1”。
$ sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX=“xxxxx ipv6.disable=1”
上面的“xxxxx”代表任何已有的内核参数,在它后面添加“ipv6.disable=1”。
最后,不要忘记用以下方法保存对GRUB/GRUB2的修改:
Debian、Ubuntu或Linux Mint系统:
$ sudo update-grub
Fedora、CentOS/RHEL系统:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
现在只要你重启你的Linux系统,IPv6就会完全被禁用。
禁用IPv6之后的其它可选步骤
这里有一些在你禁用IPv6后需要考虑的可选步骤,这是因为当你在内核里禁用IPv6后,其它程序也许仍然会尝试使用IPv6。在大多数情况下,应用程序的这种行为不太会影响到什么,但是出于效率或安全方面的原因,你可以为他们禁用IPv6。
/etc/hosts
根据你的设置, /etc/hosts 会包含一条或多条IPv6的hosts和它们的地址。用文本编辑器打开 /etc/hosts 并注释掉包含IPv6 hosts的脚本行。
$ sudo vi /etc/hosts
# comment these IPv6 hosts# ::1 ip6-localhost ip6-loopback# fe00::0
ip6-localnet# ff00::0 ip6-mcastprefix# ff02::1 ip6-allnodes# ff02::2
ip6-allrouters
Network Manager
如果你在用NetworkManager来管理你的网络设置,你可以在NetworkManager里禁用IPv6。在NetworkManager
打开wired connection,点击“IPv6 Settings”选项并在“Method”一栏选择“Ignore”,保存退出。
SSH服务
默认情况下,OpenSSH服务(sshd)会去尝试捆绑IPv4和IPv6的地址。
要强制sshd只捆绑IPv4地址,用文本编辑器打开 /etc/ssh/sshd_config 并添加以下行。inet只适用于IPv4,而inet6是适用于IPv6的。
$ sudo vi /etc/ssh/sshd_config
AddressFamily inet
然后重启sshd服务。
上面就是Linux禁用IPv6的方法介绍了,你可选择临时禁用IPv6或永久禁用IPv6,临时禁用在系统重启后IPv6还会被启用,而永久禁用IPv6则不会出现这个问题。
⑸ 如何在Linux下禁用IPv6
你所表达的禁用IPv6,不知指的是不装载IPV6模块,还是网卡配置文件不启用这个功能;
如果是IPV6模块,那么modinfo差一下,把.ko文件位置移一下即可,当然依赖项不可使用;
如果是网卡配置文件,那么在/etc/sysconfig/network-scripts/具体网卡 修改下IPV6不启用即可
⑹ linux下怎么关闭ipv6
关闭IPV6网卡配置文件编辑 通过vi编辑器,编辑网卡配置文件本图以为 centos系统为例 Network网络配置文件编辑 除此之外还需要把network配置文件的networking_ipv6改成no
⑺ 如何禁用ipv6
IPv6被认为是IPv4——互联网上的传统32位地址空间——的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。然而,由于已经有大量主机、设备用IPv4连接到了互联网上,所以想在一夜之间将它们全部切换到IPv6几乎是不可能的。许多IPv4到IPv6的转换机制(例如:双协议栈、网络隧道、代理)已经被提出来用来促进IPv6能被采用,并且很多应用也正在进行重写,如我们所提倡的,来增加对IPv6的支持。有一件事情可以确定,就是在可预见的未来里IPv4和IPv6势必将共存。理想情况下,向IPv6过渡的进程不应该被最终的用户所看见,但是IPv4/IPv6混合环境有时会让你碰到各种源于IPv4和IPv6之间不经意间的相互碰撞的问题。举个例子,你会碰到应用程序超时的问题,比如apt-get或ssh尝试通过IPv6连接失败、DNS服务器意外清空了IPv6的AAAA记录、或者你支持IPv6的设备不兼容你的互联网服务提供商遗留下的IPv4网络,等等等等。当然这不意味着你应该盲目地在你的Linux机器上禁用IPv6。鉴于IPv6许诺的种种好处,作为社会的一份子我们最终还是要充分拥抱它的,但是作为给最终用户进行故障排除过程的一部分,如果IPv6确实是罪魁祸首,那你可以尝试去关闭它。这里有一些让你在Linux中部分(例如:对于某个特定的网络接口)或全部禁用IPv6的小技巧。这些小贴士应该适用于所有主流的Linux发行版包括Ubuntu、Debian、LinuxMint、CentOS、Fedora、RHEL以及ArchLinux。查看IPv6在Linux中是否被启用所有现代Linux发行版默认都自动启用IPv6。为了能看到IPv6在你的Linux中是否被激活,可以使用ifconfig或ip命令。如果你在输入这些命令之后看到“inet6”字样的输出,那就意味着你的Linux系统启用了IPv6。$ifconfig$ipaddr临时禁用IPv6如果你想要在你的Linux系统上临时关闭IPv6,你可以用/proc文件系统。“临时”的意思是我们所做的禁用IPv6的更改在系统重启后将不被保存。IPv6会在你的Linux机器重启后再次被启用。要将一个特定的网络接口禁用IPv6,使用以下命令:$sudosh-c‘echo1》/proc/sys/net/ipv6/conf/《interface-name》/disable_ipv6’举个例子,将eth0接口禁用IPv6:$sudosh-c‘echo1》/proc/sys/net/ipv6/conf/eth0/disable_ipv6’重新启用eth0接口的IPv6:$sudosh-c‘echo0》/proc/sys/net/ipv6/conf/eth0/disable_ipv6’如果你想要将整个系统所有接口包括回环接口禁用IPv6,使用以下命令:$sudosh-c‘echo1》/proc/sys/net/ipv6/conf/all/disable_ipv6’永久禁用IPv6以上方法是不能永久禁用IPv6的,你一旦重启系统IPv6还是会被启用。如果你想要永久关闭它,有几个方法你可以试试。方法一第一种方法是通过/etc/sysctl.conf文件对/proc进行永久修改。换句话说,就是用文本编辑器打开/etc/sysctl.conf然后添加以下内容:#禁用整个系统所有接口的IPv6net.ipv6.conf.all.disable_ipv6=1#禁用某一个指定接口的IPv6(例如:eth0,lo)net.ipv6.conf.lo.disable_ipv6=1net.ipv6.conf.eth0.disable_ipv6=1在/etc/sysctl.conf使这些更改生效,运行以下命令:$sudosysctl-p/etc/sysctl.conf或者直接重启。方法二另一个永久禁用IPv6的方法是在开机的时候传递一个必要的内核参数。用文本编辑器打开/etc/default/grub并给GRUBCMDLINELINUX变量添加“ipv6.disable=1”。$sudovi/etc/default/grubGRUB_CMDLINE_LINUX=“xxxxxipv6.disable=1”上面的“xxxxx”代表任何已有的内核参数,在它后面添加“ipv6.disable=1”。最后,不要忘记用以下方法保存对GRUB/GRUB2的修改:Debian、Ubuntu或LinuxMint系统:$sudoupdate-grubFedora、CentOS/RHEL系统:$sudogrub2-mkconfig-o/boot/grub2/grub.cfg现在只要你重启你的Linux系统,IPv6就会完全被禁用。禁用IPv6之后的其它可选步骤这里有一些在你禁用IPv6后需要考虑的可选步骤,这是因为当你在内核里禁用IPv6后,其它程序也许仍然会尝试使用IPv6。在大多数情况下,应用程序的这种行为不太会影响到什么,但是出于效率或安全方面的原因,你可以为他们禁用IPv6。/etc/hosts根据你的设置,/etc/hosts会包含一条或多条IPv6的hosts和它们的地址。用文本编辑器打开/etc/hosts并注释掉包含IPv6hosts的脚本行。$sudovi/etc/hosts#commenttheseIPv6hosts#::1ip6-localhostip6-loopback#fe00::0ip6-localnet#ff00::0ip6-mcastprefix#ff02::1ip6-allnodes#ff02::2ip6-allroutersNetworkManager如果你在用NetworkManager来管理你的网络设置,你可以在NetworkManager里禁用IPv6。在NetworkManager打开wiredconnection,点击“IPv6Settings”选项并在“Method”一栏选择“Ignore”,保存退出。SSH服务默认情况下,OpenSSH服务(sshd)会去尝试捆绑IPv4和IPv6的地址。要强制sshd只捆绑IPv4地址,用文本编辑器打开/etc/ssh/sshd_config并添加以下行。inet只适用于IPv4,而inet6是适用于IPv6的。$sudovi/etc/ssh/sshd_configAddressFamilyinet然后重启sshd服务。上面就是Linux禁用IPv6的方法介绍了,你可选择临时禁用IPv6或永久禁用IPv6,临时禁用在系统重启后IPv6还会被启用,而永久禁用IPv6则不会出现这个问题。
⑻ 如何在Linux下禁用IPv6
编辑文件 - /etc/sysctl.conf $ sudo gedit /etc/sysctl.conf 在文件的最后加入下面的行。 # IPv6 disablednet.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1net.ipv6.conf.lo.disable_ipv6 = 1 保存并关闭 重启sysctl...
⑼ linux 有必要关闭ipv6吗 好多人说关闭ipv6,DNS解析会变快。但是实际情况有些软件会比启用ipv6的慢。
ipv6可以关闭,可以说现在我们一般是用不到ipv6的,关闭的话可以减少系统资源的浪费,这跟DNS的解析快慢好像没有关系 ,DNS解析的快慢是跟DNS服务器本身有关,还有网速的快慢
⑽ 如何在Ubuntu,Linux Mint,Debian上禁用IPv6
IPv6
IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址。
IPv6比IPv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。
你的系统支持IPv6么?
为了支持IPv6,需要很多事情。首先你需要系统/操作系统支持IPv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了IPv6地址。
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:c0:f8:79:ee
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:62289395 (62.2 MB) TX bytes:25169458 (25.1 MB)
Interrupt:20 Memory:e3200000-e3220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4900560 (4.9 MB) TX bytes:4900560 (4.9 MB)
看一下行“inet6 addr”。
接下来你需要一个支持ipv6的路由器/调制解调器。此外,你的ISP也必须支持IPv6。
除了检查网络设备的每一部分,最好查出你是否可以通过IPv6访问网站。
有很多网站可以检测你的网络连接是否支持IPv6. 这里就是个例子:http://testmyipv6.com/
下面是在内核中启用IPv6的参数:
$ sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
$ sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 0
$ sysctl net.ipv6.conf.lo.disable_ipv6
net.ipv6.conf.lo.disable_ipv6 = 0
同样可以在proc文件中检查
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0
注意这里的变量是控制IPv6的“禁用”。所以设置1就会禁用IPv6。
如果它不支持就禁用IPv6
如果你的网络设备中不支持IPv6,那最好就全部禁用它们。为什么?因为这会引起域名查询延迟,在网络连接中不必要地尝试连接到IPv6地址导致延迟等等问题。
我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到IPv6地址失败接着检索IPv4地址。看一下下面的输出。
$ sudo apt-get update
Ign http://archive.canonical.com trusty InRelease
Ign http://archive.canonical.com raring InRelease
Err http://archive.canonical.com trusty Release.gpg
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://archive.canonical.com raring Release.gpg
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
.....
像这样的错误在最近的Ubuntu中更频繁了,或许它比以前更频繁地尝试使用IPv6地址。
我在其他的应用上也注意到了相似的问题,如Hexchat,同样Google Chrome也会有时会在查询域名的时候花费更长的时间。
所以最好的方案是完全禁用IPv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。
禁用 IPv6 - 方案1
编辑文件 - /etc/sysctl.conf
$ sudo gedit /etc/sysctl.conf
在文件的最后加入下面的行。
# IPv6 disabled
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
再次检查ifconfig的输出,这里应该没有IPv6地址了。
$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB)
如果不行,尝试重启系统并再次检查ifconfig
禁用 IPv6 - GRUB 方案
IPv6同样可以通过编辑grub配置文件禁用。
$ sudo gedit /etc/default/grub
查找包含"GRUBCMDLINELINUX"的行,并如下编辑:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
同样可以加入名为"GRUBCMDLINELINUX_DEFAULT"的变量,这同样有用。保存并关闭文件,重新生成grub配置。
$ sudo update-grub2
重启,现在IPv6应该就已经禁用了。