我正在尝试配置 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
以上不需要调度程序脚本并且可以在重新启动后继续存在。