如何在Ubuntu上禁用IPv6?


25

我在运行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))


1
无论问题是什么,禁用IPv6都不可能解决它。
迈克尔·汉普顿

2
我们尚未使用ipv6。因此,只是尝试降低安全风险。
Abhishek Chanda


1
我想说重复的可能性被扭转了,因为这个问题早于那个问题。
boatcoder '16

Answers:


39

这为我工作:

将这些行添加到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


警告-不要点击上面的链接。有病毒或某物
汤姆·贝内特

上面有2个链接,您可以更具体吗?
boatcoder

这不必要地复杂,只需将ipv6模块列入黑名单即可 。
Anders

21

要从终端窗口检查是否启用或禁用了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


2
  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. 最后,重新启动系统。


我知道应该可以,但似乎无法解决我的问题!netstat -nutlp | grep ::显示sshd和ntpd正在侦听ipv6地址。
Abhishek Chanda

只需删除模块ipv6,即可完成。为什么您要这样做……
Anders

它不是内置的可以被列入黑名单的单独模块。您无法删除ipv6模块。
datashaman '16

0

禁用侦听某些服务的ipv6地址。

sshd / etc / default / ssh

# Options to pass to sshd
SSHD_OPTS="-4"

avahi守护程序/etc/avahi/avahi-daemon.conf

[server]
use-ipv4=yes
use-ipv6=no

java /etc/java-7-openjdk/net.properties

http.nonProxyHosts=localhost|127.*
ftp.nonProxyHosts=localhost|127.*

然后重启服务

service restart sshd
service restart avahi-daemon
service restart tomcat7

在我的情况下,tomcat在ipv6中使用了Java。可能与您有所不同。


0

只需在计算机上启用IPv6,就很容易做到这一点。只需向配置文件添加一行即可。是的,您必须root要创建文件。

$ cat <<EOF >/etc/modprobe.d/blacklist-ipv6.conf
# To turn off IPv6, though you don't need too.
# But anyways.
blacklist ipv6

# eof
EOF

只需重新启动或尝试:

$ sudo rmmod ipv6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.