隧道接口后@符号是什么意思?

我之前问了一个关于设置ipv4到ipv6隧道的问题。

我回答了我自己的问题,这是我上一个问题的配置输出https://askubuntu.com/a/992872/13903

4: he-ipv6@lo:  mtu 65516 qdisc noqueue state UNKNOWN group default qlen 1000 link/sit 47.xxx 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 

然而,这在he-ipv6旁边有一个@lo后缀。 看起来不对,但它不允许我ping ipv6地址,如ipv6.google.com

我尝试使用ip linux工具进行相同的配置。

 ip tunnel add he-ipv6 mode sit remote 216.66.77.230 local 47.xxx ttl 255 ip addr add 2001:470:7b:616::2/64 dev he-ipv6 ip route add ::/0 dev he-ipv6 

这让我得到了带有后缀@NONE的接口he-ipv6。 这个配置确实有效,这是我得到的输出:

 5: he-ipv6@NONE:  mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000 link/sit 47.xxx 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后缀?

经过一些长篇研究后,是时候再回答一下我自己的问题! 所以根据这个systemd.netdev手册,我需要独立标志才能使我的配置正常工作。

独立=布尔值。 当真正的隧道不需要.network文件。 创建为“tunnel @ NONE”。 默认为“false”。

但是,只有在systemd公告版本235之后才能使用此function。

运行命令systemd --version似乎我正在运行systemd版本234。

系统版本235直到Ubuntu Bionic Beaver才可用

/etc/apt/sources.list所有字符串从artful切换为bionic

运行apt-updatesudo apt install --only-upgrade systemd

我在/etc/apt/sources.list再次切换回bionicartful并做了一个sudo apt update && sudo reboot

然后我终于能够在我的[Tunnel] systemd配置中使用Independent标志,让我在每次重启时ping ipv6.google.com! 我是一个快乐的露营者:)