無法在 Ubuntu 18.04 中正確配置 IPv6
我在 OVH 上有一個雲實例,可以通過 IPv4 訪問,但不能通過 IPv6 訪問。它執行的是 Ubuntu 18.04。我發現有關使用 netplan 與直接配置 systemd-networkd 的建議相互矛盾,但我嘗試過的所有事情似乎都沒有任何效果。
在 OVH 的 Web 界面中,我為我定義了這些地址:
IPv6:2607:5300:201:2100::5d4
網關:2607:5300:201:2100::1
根據我讀過的指南,我已經像這樣配置了 netplan:
/etc/netplan/90-ipv6.yml
network: ethernets: ens3: match: macaddress: fa:16:3e:53:64:ce set-name: ens3 addresses: - 2607:5300:201:2100::5d4/64 gateway6: 2607:5300:201:2100::1 nameservers: addresses: - 2001:41d0:3:163::1 version: 2
和 systemd-networked 像這樣:
/etc/systemd/network/10-ens3.network
[Match] Name=ens3 [Network] DHCP=ipv4 Gateway=2607:5300:201:2100::1 DNS=2001:41d0:3:163::1 Destination=2607:5300:201:2100::1 [Address] Address=2607:5300:201:2100::5d4/64 [Route] Destination=2607:5300:201:2100::1 Scope=link
我的
ip addr
輸出如下所示: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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:53:64:ce brd ff:ff:ff:ff:ff:ff inet 54.39.191.97/32 scope global dynamic ens3 valid_lft 85848sec preferred_lft 85848sec inet6 2607:5300:201:2100::5d4/0 scope global valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fe53:64ce/64 scope link valid_lft forever preferred_lft forever
我可以 ping 網關並得到響應。但是,我無法通過 IPv6 從任何其他位置從伺服器獲得響應,並且
ping6 google.com
來自該伺服器的結果是:PING google.com(yul02s05-in-x0e.1e100.net (2607:f8b0:4020:805::200e)) 56 data bytes From [hostname] (2607:5300:201:2100::5d4) icmp_seq=1 Destination unreachable: Address unreachable ... --- google.com ping statistics --- 5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4085ms
我唯一沒有嘗試過的是重新啟動伺服器,因為它是實時的,我真的不想這樣做。
我錯過了什麼?我真的不知道我在做什麼,所以這可能是非常明顯的事情。
謝謝!
**編輯:**將前綴更新為 /64。此配置也不起作用。
不幸的是,我實際上通過更改我在問題中未列出的內容來解決此問題。
在遵循使用 netplan 設置 IPv6 的指南時,我編輯了我的 netplan 配置,將 IPv4 地址配置也包含在一個單獨的現有文件
50-cloud-init.yaml
中。雖然地址與我的實例提供的 IP 匹配,但它們肯定與其他地方的其他配置發生衝突,這是我問題的根源(我相信/0
在輸出中看到ip addr
確實表明存在問題)。從我的 netplan 配置中刪除 IPv4 地址和網關值,以便我設置的唯一內容是 IPv6 地址和網關,並應用新配置,解決了這個問題。
對於任何最終陷入這種情況的人,我發現的這篇博文準確地描述了需要改變的地方。
OVHcloud VPS 的正確 IPv6 前綴是 /64,而不是 /128 或 /0。