不支持的地址方法“v4tunnel”

不支持的地址方法“v4tunnel”

我正在尝试创建一个隧道何网在我的(云)服务器上获取 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

答案1

下拉相对ifupdown2

从您的错误信息来看,您正在使用包ifupdown2而不是下拉两者都可以在 Ubuntu 上使用,但在线手册页只显示一个版本,我猜是默认安装的,这可以解释为什么你最终使用ifupdown2

尽管ifupdown2是替代下拉 由 Cumulus Networks 开发,改进了对现代网络功能的支持,存在一些语法不兼容问题。

因此要么安装下拉代替ifupdown2,或者调整下面我给出的配置。


什么隧道?

原本的下拉提供v4tunnel 方法

v4tunnel 方法

此方法可用于设置 IPv6-over-IPv4 隧道。它需要 iproute 包中的 ip 命令。

下拉设置运行这些实际命令:

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

所以我们知道这是一个隧道。


使用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

相关内容