当前位置: 首页>>技术问答>>正文


如何在Ubuntu上禁用IPv6?

, , ,

问题描述

我在运行ssh和rsync的Ubuntu机器上禁用了IPv6。但是这两个都仍在侦听IPv6地址。我该如何解决?

root@box.com:~# sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
root@box.com:~# sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 1
root@box.com:~# sysctl net.ipv6.conf.lo.disable_ipv6
net.ipv6.conf.lo.disable_ipv6 = 1

root@box.com:~# ss -lnp6
State      Recv-Q Send-Q        Local Address:Port    Peer Address:Port
LISTEN     0      128            :::22                 :::*      users:(("sshd",1505,4))
LISTEN     0      5              :::873                :::*      users:(("rsync",3423,5))

最佳解决方案

这为我工作:

将这些行添加到sysctl.conf的底部

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

然后运行sudo sysctl -p或重新启动

资料来源:http://www.noobslab.com/2012/05/disable-ipv6-if-your-internet-is.html

当然,这当然不会因为盲目尝试使用ipv6而停止绑定,因此您还需要像这样更改/etc/default/bind9

# run resolvconf? 
RESOLVCONF=yes 
# startup options for the server 
OPTIONS="-4 -u bind"

资料来源:http://blog.evilcoder.net/disable-ipv6-on-bind9-linux/#sthash.U95y4s6U.dpuf

次佳解决方案

要从终端窗口检查是否启用或禁用了IPv6,请执行以下操作:

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0表示已启用,1表示已禁用。

禁用IPv6

$ sudo su -
# nano /etc/sysctl.conf

并将这些行添加到sysctl.conf文件中

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

使用新的配置保存sysctl.conf文件,然后重新启动系统

# reboot

再次检查系统

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

现在您应该看到“ 1”表示您的系统已禁用IPv6。

http://namhuy.net/1419/disable-ipv6-ubuntu-linux-mint.html

第三种解决方案

  1. 打开终端并输入以下命令(如果您不使用Gedit,请用文本编辑器(例如Kate等)替换它)。

    sudo gedit /etc/default/grub
    
  2. 并搜索:

    GRUB_CMDLINE_LINUX
    

    对其进行修改,如下所示:

    GRUB_CMDLINE_LINUX="ipv6.disable=1"
    
  3. 现在,让我们更新GRUB:

    sudo update-grub2
    

    或者,如果您不使用GRUB 2,请执行以下操作:

    sudo update-grub
    
  4. 最后,重新启动系统。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7418.html,未经允许,请勿转载。