Kum*_*Tea 6 ubuntu ipv6 tunnel
我正在尝试创建一个到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>
Run Code Online (Sandbox Code Playgroud)
然后ifup he-ipv6
,我得到:
error: /etc/network/interfaces: line5: iface he-ipv6: unsupported address method 'v4tunnel'
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
操作系统是Ubuntu 18.04.3
.
(我试图搜索这个错误,但似乎没有人遇到过这个错误。但我已经在不同提供商的两台单独的机器上进行了尝试,结果是相同的。)
更新:添加图片以了解详细信息:
更新2:添加netplan图片:
结论:问题是由 引起的ifupdown2
。
从您的错误消息来看,您正在使用包ifupdown2而不是ifupdown。两者都可以在 Ubuntu 上使用,但在线联机帮助页仅显示一个版本,我猜是默认安装的,这可以解释为什么您最终使用ifupdown2。
Ubuntu 16.04 LTS:接口(5)
提供者:ifupdown_0.8.10ubuntu1_amd64
[...]作者
ifupdown 套件由 Anthony Towns <aj@azure.humbug.org.au> 编写。
Ubuntu 18.04 LTS:接口(5)
提供者:ifupdown2_1.0~git20170314-1_all
[...]作者
Roopa Prabhu <roopa@cumulusnetworks.com>
虽然ifupdown2是Cumulus Networks 开发的ifupdown 的替代品,改进了对现代网络功能的支持,但存在一些语法不兼容的情况。
因此,要么安装ifupdown而不是ifupdown2,要么调整我在下面给出的配置。
原来的ifupdown提供了v4tunnel方法:
v4隧道方法
该方法可用于建立IPv6-over-IPv4隧道。它需要 iproute 包中的 ip 命令。
ifupdown设置运行这些实际命令:
ip tunnel add he-ipv6 mode sit remote 66.220.7.82 local <my IPv4 address> ttl 255
ip link set he-ipv6 up
ip addr add <my IPv6 address> dev he-ipv6
ip route add <my gateway> dev he-ipv6
ip route add ::/0 via <my gateway> dev he-ipv6 onlink
Run Code Online (Sandbox Code Playgroud)
所以我们知道这是一条SIT隧道。
包ifupdown2不提供v4tunnel
方法,并且缺少替换tunnel
方法的文档,该方法应该在 中进行描述,man ifupdown-addons-interfaces
但没有。仍然可以从 获取ifquery --syntax-help
。以下是摘录(来自 Ubuntu 18.04 版本):
Run Code Online (Sandbox Code Playgroud)tunnel: create/configure GRE/IPIP/SIT tunnel interfaces [...] endpoint help: IP of remote tunnel endpoint required: True validvals: <ipv4>,<ipv6> example: endpoint 192.2.0.23 local help: IP of local tunnel endpoint required: True validvals: <ipv4>,<ipv6> example: local 192.2.0.42 mode help: type of tunnel as in 'ip link' command. required: True validvals: greipip,sit example: mode gre ttl help: TTL for tunnel packets required: False validvals: <number> example: ttl 64
请注意,模式值中有一个拼写错误(应该是gre,ipip,sit
)。较新的版本将处理更多模式(无论如何我们已经可用sit
):
Run Code Online (Sandbox Code Playgroud)validvals: gre,gretap,ipip,sit,vti,ip6gre,ipip6,ip6ip6,vti6
这给出了这个工作配置:
auto he-ipv6
iface he-ipv6 inet6 tunnel
mode sit
address <my IPv6 address>
netmask 64
endpoint 66.220.7.82
local <my IPv4 address>
ttl 255
gateway <my gateway>
Run Code Online (Sandbox Code Playgroud)
区别在于通用tunnel
方法和您使用关键字指定隧道的类型mode
。
归档时间: |
|
查看次数: |
1396 次 |
最近记录: |