Networking

如何添加 IPv6 地址?

  • May 10, 2020

官方 Debian 網路文件告訴使用:

ifup 6to4

但是找不到 ifup(ifupdown 和 ifupdown2 也是找不到的命令,即使在安裝之後也是如此)。它與前綴委託有關嗎?如果是這樣,我必須配置它嗎?

並且 linux 文件項目(即 tldp.org)說要使用

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

但僅當您擁有全球 IPv6 地址時,這不是我的情況。我閱讀了其他教程,但這些教程並沒有讓我找到解決方案,所以我在這裡尋求幫助。

我正在使用帶有 Xfce 4.12 和 Zsh 5.7.1 的 Debian stable 10.4。

我有一個 TP-LINK N900 無線 PCI Express 適配器 TL-WDN4800 和一個英特爾 I219-V 千兆位 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

您可以在最後一行中註意到 LOCAL 連結地址(即 fe80::) 有一個 /64 遮罩,這是一個 GLOBAL 遮罩!本地連結遮罩為 /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/弓箭手-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.

這很奇怪,因為通過 echo 請求在所有路由器上發現 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

我從 Web 管理界面(即http://tplinkwifi.net)截取了一些螢幕截圖,以幫助進一步調查:

  1. IPv6 網際網路設置

IPv6 網際網路設置

  1. 可能的選項 IPv6 設置的可能選項

  2. IPv4 正常設置 IPv4 正常設置

4)他們在IPv6中的對應部分 他們在 IPv6 中的對應部分

  1. 其他無線網路系統參數 系統參數

EDIT2: 我的 ISP 提供的調製解調器似乎不提供任何 IPV6 連接,因此很明顯我需要更新的調製解調器或 IPv6 隧道。從現在開始,我會考慮已回答的問題,感謝 user4556274、Johan Myréen 和 bey0nd 的見解 :)

也許首先是一些基礎知識:

主機/介面的 IPv6 地址始終由 128 位組成,其中包括前綴(前 64 位)和介面標識

$$ IID $$(最後 64 位)。因此,主機/介面地址的 CIDR 表示法始終為 /64。 IPv6 主機/介面地址的範圍是以下之一:

Local-Link : fe80::/64 範圍之外的地址。由於前綴始終為fe80:0:0:0,因此第 3 層網路沒有明顯的分隔,因此該地址僅用於連接 LAN 的目前第 2 層段中的通信。

Local :fd00::/8 範圍之外的地址,由 64 位前綴和 64 位 IID 組成。它應該只在 LAN 中路由,而不是通過 Internet。

全域 :2000::/3 範圍之外的地址,可以通過 Internet 路由,並且還包含 64 位前綴和 64 位 IID。

您的電腦似乎有兩個網路介面。

  • enp0s31f6似乎是沒有連接的乙太網介面

  • wlp4s0似乎是連接到 AP 的無線網路介面。

由於無線介面上只有一個本地鏈路地址,因此該介面似乎要麼

  • 未配置為接受任何自動配置(SLAAC 或 DHCPv6),要麼

  • 接入點 (AP) 不提供 IPv6 網路。

編輯:作為rdisc6 wlp4s0顯示的結果,您的網路中沒有廣播 IPv6 自動配置資訊,即使路由器似乎設置為SLAAC + Stateless DHCP。因此,正如 Johan Myréen 在他的評論中所說,您需要與您的 ISP 交談以查看是否有可用的 IPv6,或者找到一種通過隧道提供商通過隧道傳輸 IPv6 的方法。

引用自:https://unix.stackexchange.com/questions/585652