添加不带网关的默认路由 nmcli

添加不带网关的默认路由 nmcli

我正在尝试配置 NetworkManager 以对接口执行以下操作

ip route add ::/0 dev he-ipv6

he-ipv6是点对点的ipv4 sat模式隧道,直接运行上述命令即可。不幸的是,当设备重新启动时,默认网关不会重新配置,因此网络外部的所有 IPv6 流量都会被丢弃。

我尝试通过以下方式配置手动路线:

nmcli c modify he-ipv6 ipv6.routes '::/0'

但当然 nmcli 不会让您为默认网关配置静态路由。

Error: failed to modify ipv6.routes: invalid prefix '0'; <1-128> allowed.

答案1

最后我发现创建一个非常简单的最干净网络管理器(8)接口上线时添加路由的dispatcher.d脚本:

/etc/NetworkManager/dispatcher.d/99-he-ipv6-add-default-route

#!/bin/bash

[[ "${1}" -ne "he-ipv6" ]] && exit

if [[ "${2}" -eq "up" ]]; then 
  ip route add ::/0 dev he-ipv6
fi

答案2

实际上,您可以使用 nmcli 配置整个隧道连接,请参阅 Fedora 的 wiki 页面关于它。

nmcli connection add type ip-tunnel con-name sit1 ifname sit1 mode sit \
remote SERVER_IPV4_ADDRESS -- ipv4.method disabled ipv6.method manual \
ipv6.address CLIENT_IPV6_ADDRESS ipv6.gateway SERVER_IPV6_ADDRESS \
ip-tunnel.ttl 64

以上不需要调度程序脚本并且可以在重新启动后继续存在。

相关内容