隧道接口后的@符号代表什么意思?

隧道接口后的@符号代表什么意思?

我之前问过一个关于建立 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从切换artfulbionic

跑步apt-updatesudo apt install --only-upgrade systemd

我再次切换bionic回并artful执行。/etc/apt/sources.listsudo apt update && sudo reboot

然后我终于能够让Independent标志在我的 systemd 配置中工作[Tunnel],这让我每次重启时都能 ping ipv6.google.com!我很开心 :)

相关内容