为什么接口会显示 ipv6 地址和 ipv4 地址

为什么接口会显示 ipv6 地址和 ipv4 地址

我手动为我的接口指定了 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

注意:出于隐私原因,我修改了HWaddrinet6 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 身份执行此操作。

相关内容