我之前问过一个关于建立 IPv4 到 IPv6 隧道的问题。
我回答了我自己的问题,这是我之前的问题的配置输出https://askubuntu.com/a/992872/13903
4: he-ipv6@lo: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 65516 qdisc noqueue state UNKNOWN group default qlen 1000
link/sit 47.x.x.x peer 216.66.77.230
inet6 2001:470:7b:616::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::2fbb:2226/64 scope link
valid_lft forever preferred_lft forever
@lo
但是,这旁边有一个后缀he-ipv6
。它看起来正确,但它不允许我 ping ipv6 地址,例如 ipv6.google.com
我尝试使用 Linux 工具进行相同的配置ip
。
ip tunnel add he-ipv6 mode sit remote 216.66.77.230 local 47.x.x.x ttl 255
ip addr add 2001:470:7b:616::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
这给了我一个带有后缀的接口 he-ipv6 @NONE
。此配置做工作,这是我得到的输出:
5: he-ipv6@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
link/sit 47.x.x.x peer 216.66.77.230
inet6 2001:470:7b:616::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::c0a8:1/64 scope link
valid_lft forever preferred_lft forever
隧道接口旁边的 @ 符号代表什么意思?
如何更改我的配置上一个问题以避免得到@lo
后缀?
答案1
经过一番漫长的研究,是时候再次回答我自己的问题了!因此根据这个systemd.netdev 手册我需要独立标志才能使我的配置起作用。
Independent= 布尔值。当为真时,隧道不需要 .network 文件。创建为“tunnel@NONE”。默认为“false”。
然而,此功能直到systemd 公告版本 235。
运行命令systemd --version
似乎我正在运行 systemd 版本 234。
Systemd 版本 235 直到Ubuntu 仿生海狸
将所有字符串/etc/apt/sources.list
从切换artful
到bionic
跑步apt-update
和sudo apt install --only-upgrade systemd
我再次切换bionic
回并artful
执行。/etc/apt/sources.list
sudo apt update && sudo reboot
然后我终于能够让Independent
标志在我的 systemd 配置中工作[Tunnel]
,这让我每次重启时都能 ping ipv6.google.com!我很开心 :)