我手动为我的接口指定了 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
值。
答案1
显示的 IPv6 地址是链路本地地址 - 这意味着它不能在您的 LAN 之外公开访问,但它是为在您的本地网络内通信而自动分配的地址。为了让人们能够通过 IPv6 访问您的计算机,接口上需要有一个公共地址,并且需要对其进行路由。
答案2
显示 IPv6 地址是因为网络接口默认启用了 IPv6。我相信,这唯一起作用的原因是您所连接的网络支持 IPv6。
我不相信 Ubuntu 会创建任何 IPv6 隧道,它只会让协议在该接口上保持活动状态。如果您的网络上有 IPv6,并且 IPv6 端不使用 NAT,那么它可能会直接将您连接到互联网。
在这种情况下,如果您担心您的安全,您可以使用 CYREX 的答案禁用 IPv6。
答案3
尝试:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
您还可以更改行中的全部部分以指定 eth0、eth1……您实际想要更改的部分。
注意:您需要以 root 身份执行此操作。