不支持的地址方法“v4tunnel”
我正在嘗試創建通往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)
提供者: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 方法:
v4tunnel 方法
此方法可用於建立 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
所以我們知道這是一個SIT隧道。
使用ifupdown2
包ifupdown2不提供
v4tunnel
方法,並且缺少替換方法的文件,該替換tunnel
方法應該已經描述man ifupdown-addons-interfaces
但沒有。它仍然可以從ifquery --syntax-help
. 這是一段摘錄(來自 Ubuntu 18.04 的版本):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
):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>
不同之處在於通用方法,並且您使用關鍵字
tunnel
指定隧道的類型。mode