ゲートウェイなしでデフォルトルートを追加する nmcli

ゲートウェイなしでデフォルトルートを追加する nmcli

NetworkManagerを設定して、インターフェースに対して次のアクションを実行しようとしています

ip route add ::/0 dev he-ipv6

he-ipv6はポイントツーポイントの IPv4 SIT モード トンネルであり、上記のコマンドを直接実行すると機能します。残念ながら、デバイスを再起動してもデフォルト ゲートウェイは再構成されないため、ネットワーク外部のすべての 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

上記はディスパッチャ スクリプトを必要とせず、再起動しても存続します。

関連情報