我正在尝试创建通往HE.net的隧道,以在我的(云)服务器上获取 IPv6 地址。
当我创建隧道并将其放入时/etc/network/interfaces
:
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address <my IPv6 address>
netmask 64
endpoint 66.220.7.82
local <my IPv4 address>
ttl 255
gateway <my gateway>
然后ifup he-ipv6
,我得到了:
error: /etc/network/interfaces: line5: iface he-ipv6: unsupported address method 'v4tunnel'
我怎样才能解决这个问题?
操作系统是Ubuntu 18.04.3
.
(我试图搜索这个错误,但似乎没有人拥有它。但我已经在不同供应商的两台不同的机器上尝试过,结果是一样的。)
更新:添加图片了解详情:
更新2:添加一张netplan的图片:
结论:问题是由ifupdown2
.
ifupdown与ifupdown2
从您的错误消息中,您使用的是包ifupdown2而不是ifupdown。两者都在 Ubuntu 上可用,但在线手册页只显示一个版本,我猜是默认安装的,这可以解释为什么你最终使用ifupdown2。
Ubuntu 16.04 LTS:接口(5)
Ubuntu 18.04 LTS:接口(5)
虽然ifupdown2是Cumulus Networks 开发的ifupdown 的替代品,但改进了对现代网络功能的支持,但存在一些语法不兼容。
所以要么安装ifupdown而不是ifupdown2,要么调整配置,我在下面给出。
什么隧道?
原来的ifupdown提供了v4tunnel 方法:
ifupdown设置运行这些实际命令:
所以我们知道这是一个SIT隧道。
使用ifupdown2
包ifupdown2不提供
v4tunnel
方法,并且缺少替换方法的文档,该替换tunnel
方法应该已经描述man ifupdown-addons-interfaces
但没有。它仍然可以从ifquery --syntax-help
. 这是一段摘录(来自 Ubuntu 18.04 的版本):请注意,模式值中有一个错字(应该是
gre,ipip,sit
)。较新的版本将处理更多模式(无论如何我们已经有sit
):这给出了这个工作配置:
不同之处在于通用方法,并且您使用关键字
tunnel
指定隧道的类型。mode