Fedora
添加沒有網關 nmcli 的預設路由
我正在嘗試將 NetworkManager 配置為對介面執行以下操作
ip route add ::/0 dev he-ipv6
he-ipv6
是點對點 ipv4 坐模式隧道,直接執行上述命令即可。不幸的是,當設備重新啟動時,預設網關不會重新配置,因此網路外的所有 IPv6 流量都會被丟棄。我嘗試通過以下方式配置手動路線:
nmcli c modify he-ipv6 ipv6.routes '::/0'
但當然 nmcli 不會讓您為預設網關配置靜態路由。
Error: failed to modify ipv6.routes: invalid prefix '0'; <1-128> allowed.
最後我發現創建一個非常簡單的networkmanager(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
實際上,您可以使用 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
以上不需要調度程序腳本並且可以在重新啟動後繼續存在。