我只为我的接口手动指定了 ipv4 地址。但是所有的接口也会自动显示inet6地址。是不是意味着ubuntu默认开启了一个ipv6隧道。如果是这样,那是不是很危险,因为 ipv6 为所有 LAN 客户端分配了公共 ip。我的 NAT 路由器上只有防火墙,而我的客户端(其接口显示 ipv6 地址)没有防火墙。这是一个屏幕截图:
eth0 Link encap:Ethernet HWaddr 34:dc:47:2e:ad:13
inet6 addr: fe80::28cf:38ff:fb7b:da19/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5783 errors:0 dropped:0 overruns:0 frame:0
TX packets:6098 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:2961324 (2.9 MB) TX bytes:1573757 (1.5 MB)
Interrupt:46
注意:出于隐私原因,我修改了HWaddr
和inet6 addr
值。
显示的 IPv6 地址是本地链接的 - 这意味着它不能在您的 LAN 之外公开访问,而是为在您的本地网络内进行通信而分配的自动地址。为了让人们能够通过 IPv6 访问您的计算机,接口上需要有一个公共地址并进行路由。
显示 IPv6 地址是因为默认情况下在网络接口上启用了 IPv6。这很重要(我相信)的唯一方法是您连接到的网络是否支持 IPv6。
我不相信 Ubuntu 会为任何东西创建 IPv6 隧道,它只是让协议在该接口上处于活动状态。如果 IPv6 在您的网络上可用,并且 IPv6 端没有使用 NAT,那么它有可能直接将您连接到 Internet。
在这种情况下,如果您担心自己的安全性,可以使用 CYREX 的答案禁用 IPv6。
尝试:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
您还可以更改该行中的 ALL 部分以指定 eth0、eth1... 您实际想要更改的部分。
注意:您需要成为 root 才能执行此操作。