web-dev-qa-db-ja.com

コマンドライン経由でNetworkManagerの「ネットワーク上のリソースにのみこの接続を使用する」オプションを切り替える方法

私の仕事では、sshを介してスクリプトを実行するテストマシンがいくつかあります。テスト中、マシンはイーサネット接続を介してローカルネットワークにのみアクセスするようにしますが、その後、クリーンアップとデータ送信のために同じインターフェイスを介してインターネットにアクセスできるようにします。

各マシンに移動して、"Use this connection only for resources on its network"> network manager> IPv4 optionsroutes menuオプションを切り替えることでこれを行うことができますが、できる方がはるかに便利ですこれをテストスクリプトに追加します。

VPN接続に関連する同様の質問をいくつか見つけることができますが、通常のイーサネットインターフェイスのルーティングを正しく処理するようにします。助けてくれてありがとう。

4
j_solo

nmcliを使用して実行できます。キーはipv4.never-defaultです。

nmcli connection modify enp3s0 ipv4.never-default true
  • enp3s0を独自の接続名に変更します。
  • この構成を切り替えるには、falseまたはtrueを使用します。
8
Ravexina

ファイルを直接編集する場合は、同様に行うことができます。

/etc/NetworkManager/system-connections/ディレクトリに移動し、目的の接続を見つけます。 Sudo nano MyNetworkを使用してネットワークを開きます。

ファイルを開いたら、[ipv4]セクションを探し、次のようにnever-default=trueを追加します。

[ipv4]
dns-search=
method=auto
never-default=true

IPv6ルートも同様に処理する場合は、[ipv6]セクションに同じ行を追加します。

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
never-default=true

エディターを保存して終了します Ctrl+X 次に、以下を使用してNetworkManagerを再起動し、変更が反映されるようにします。

Sudo systemctl restart NetworkManager.service

ネットワークに再接続すると、問題なく動作するはずです。

2
Kaz Wolfe

デフォルトルートを削除すると、LANサブネットからのみアクセス可能になります。

ip route delete default

そしてそれを元に戻すには:

ip route add default via <you_gateway_ip_address>
1
Stancu Mihai