如何添加 IPv6 地址?

如何添加 IPv6 地址?

官方 Debian 网络文档告诉我们如何使用:

ifup 6to4

但是 ifup 没有找到(ifupdown 和 ifupdown2 也是没有找到的命令,即使已经安装了)。它与前缀委托有关系吗?如果是这样,我需要配置它吗?

linux 文档项目(即 tldp.org)说使用

ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

但仅当您拥有全球 IPv6 地址时才有效,但我的情况并非如此。我阅读了其他教程,但仍然无法让我找到解决方案,因此我在这里寻求帮助。

我正在使用 Debian stable 10.4 以及 Xfce 4.12 和 Zsh 5.7.1。

我有一个 TP-LINK N900 无线 PCI Express 适配器 TL-WDN4800 和一个 Intel I219-V Gibabit LAN 控制器。

附带说明一下,桌面面板中的以太网对话框打印:“设备未受管理”。

主要目标:我需要激活 IPv6 连接以获取一些 IPv6 Web 服务器。

➜ ping6 wiki.debian.org     
connect: Network is unreachable

而使用 IPv4 的 echo 请求则可以正常工作而不会造成任何损失:

➜ ping4 wiki.debian.org
PING wilder.debian.org (82.195.75.112) 56(84) bytes of data.
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=1 ttl=52 time=35.4 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=2 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=3 ttl=52 time=190 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=4 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=5 ttl=52 time=181 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=6 ttl=52 time=181 ms
^C
--- wilder.debian.org ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 12ms
rtt min/avg/max/mdev = 35.277/109.735/190.063/74.440 ms

这是我的网络设备:

➜ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 4c:cc:6a:cf:5f:bd brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 18:d6:c7:1c:b7:d5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.189/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp4s0
       valid_lft 7171sec preferred_lft 7171sec
    inet6 fe80::b08:601b:a8d8:1474/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

您可以注意到,在最后一行之前,本地链接地址(即 fe80::)有一个 /64 掩码,这是一个全局掩码!本地链接掩码为 /10,而全局地址则以 2xxx 开头(例如 2001::)。

除了 lo(可能意味着 localhost)之外,我不知道 enp0s31f6 和 wl4ps0 是什么。我只知道 enp0s31f6 是从 eth0 重命名的,但这并不能向我解释任何事情,除了我正在使用新的网络接口名称语法:

➜ sudo dmesg | grep -i eth
[    1.701805] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:cc:6a:cf:5f:bd
[    1.701809] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    1.701912] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF
[    1.703934] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
[    7.706185] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

以下是一些设置,可以帮助您了解我的网络配置:

➜ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s31f6
    allow-hotplug enp0s31f6
    iface enp0s31f6 inet dhcp
    iface enp0s31f6 inet6 auto
➜ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       omega.dominion  omega

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
➜ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.1

请问有人可以帮助我正确设置 IPv6 连接吗?

编辑:

我使用 TP-LINK AC1350 无线路由器 Archer C59 v1.0(但未配置代理)(一般规格如下:https://www.tp-link.com/us/home-networking/wifi-router/archer-c59/#specifications

我正在使用 nn-connection-editor 应用程序来管理我的网络。这是我当前的设置:

➜ sudo cat /etc/NetworkManager/system-connections/TP-LINK_902C                

[connection]
id=TP-LINK_902C
uuid=f2fef445-f44e-4216-8d51-eb4dd4e23ea6
type=wifi
permissions=
timestamp=1589139366

[wifi]
mac-address-blacklist=
mode=infrastructure
seen-bssids=50:C7:BF:90:90:2C;
ssid=TP-LINK_902C

[wifi-security]
key-mgmt=wpa-psk
psk-flags=1

[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
method=auto

[ipv6]
addr-gen-mode=eui64
dns-search=
ip6-privacy=2
method=auto

现在我运行诊断工具 ndisc6:

➜ rdisc6 wlp4s0
Soliciting ff02::2 (ff02::2) on wlp4s0...
Timed out.
Timed out.
Timed out.
No response.

这很奇怪,因为通过回显请求在所有路由器上发现 LAN 似乎工作正常:

➜ ping -c3 -I wlp4s0 ff02::02
ping6: Warning: source address might be selected on device other than wlp4s0.
PING ff02::02(ff02::2) from :: wlp4s0: 56 data bytes
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=1 ttl=64 time=45.4 ms
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=2 ttl=64 time=1.65 ms
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=3 ttl=64 time=1.62 ms

--- ff02::02 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.624/16.230/45.421/20.641 ms

我从网络管理界面截取了一些屏幕截图(即http://tplinkwifi.net)以帮助进一步调查:

1) IPv6 互联网设置

IPv6 互联网设置

2)可能的选择 IPv6 设置的可能选项

3)IPv4常规设置 IPv4 常规设置

4) IPv6 中的对应部分 IPv6 中的对应部分

5)其他无线网络系统参数 系统参数

编辑2: 我的 ISP 提供的调制解调器似乎不提供任何 IPV6 连接,因此很明显我需要更新的调制解调器或 IPv6 隧道。我从现在开始考虑这个问题的答案,感谢 user4556274、Johan Myréen 和 bey0nd 的见解:)

答案1

也许先了解一些基础知识:

主机/接口的 IPv6 地址始终由 128 位组成,其中包括前缀(前 64 位)和接口标识 [IID](最后 64 位)。因此,主机/接口地址的 CIDR 表示法始终为 /64。

IPv6 主机/接口地址的范围是以下之一:

本地链接:超出 fe80::/64 范围的地址。因为前缀总是fe80:0:0:0,第 3 层网络没有明显的分离,因此该地址仅用于所连接 LAN 的当前第 2 层网段中的通信。
当地的 :fd00::/8 范围之外的地址,由 64 位前缀和 64 位 IID 组成。它只能在 LAN 中路由,而不能通过 Internet 路由。
全球的 :2000::/3 范围之外的地址,可以通过互联网路由,也包含 64 位前缀和 64 位 IID。

您的计算机似乎有两个网络接口。
-enp0s31f6这似乎是一个没有连接的以太网接口
-wlp4s0这似乎是一个连接到AP的无线网络接口。

由于无线接口上只有一个链路本地地址,因此该接口似乎
未配置为接受任何自动配置(SLAAC 或 DHCPv6),或者
接入点 (AP) 不提供 IPv6 网络。

编辑:作为结果rdisc6 wlp4s0显示,您的网络中没有广播 IPv6 自动配置信息,即使路由器似乎设置为SLAAC + 无状态 DHCP。因此,正如 Johan Myréen 在他的评论中所说,您需要与您的 ISP 联系,看看是否有可用的 IPv6,或者找到一种与隧道提供商建立 IPv6 隧道的方法。

相关内容