我正在尝试在运行 Ubuntu 18.04 的云服务器(来自 OVH 的公共云)上使用 netplan 配置静态 IPv6
/etc/netplan/66-ipv6.yaml
除了现有的之外,我还创建了一个yaml 文件/etc/netplan/50-cloud-init.yaml
:
network:
version: 2
ethernets:
ens3:
match:
name: ens3
addresses:
- '2001:what:ever::1234/128'
gateway6: '2001:what:ever::1'
无论是手动netplan generate; netplan apply
重新启动还是重新启动,接口都会获得其静态 IPv6 地址,但gateway6:
似乎根本没有任何效果。
me@server:~$ ip -6 route
2001:what:ever::1234 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
显然,此时服务器无法访问任何公共 IPv6 地址。
me@server:~$ ping6 google.com
connect: Network is unreachable
手动添加默认路由可以正常工作。
me@server:~$ sudo ip -6 route add 2001:what:ever::1 dev ens3
me@server:~$ sudo ip -6 route add default via 2001:what:ever::1 dev ens3
me@server:~$ ip -6 route
2001:what:ever::1 dev ens3 metric 1024 pref medium
2001:what:ever:1234 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via 2001:what:ever::1 dev ens3 metric 1024 pref medium
me@server:~$ ping6 -c 1 google.com
PING google.com(par10s27-in-x0e.1e100.net (2a00:1450:4007:809::200e)) 56 data bytes
64 bytes from par10s27-in-x0e.1e100.net (2a00:1450:4007:809::200e): icmp_seq=1 ttl=53 time=7.54 ms
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 7.544/7.544/7.544/0.000 ms
我错过了一些非常明显的东西吗?
子网(几乎)总是 /64。您将接口配置为 /128,它只是一个地址。这意味着网关位于不同的子网上并且无法访问。
您可能想要的是将地址配置为 /64,一切都应该正常工作。/64 只是一个子网掩码。您仍然只分配一个地址。