web-dev-qa-db-ja.com

コマンドラインからNetwork Manager接続を更新するにはどうすればよいですか?

職場のイーサネットLAN上にたくさんのUbuntuマシンがあり、デフォルトゲートウェイを変更する必要があります。

私はむしろ、巡回​​せず、人々の作業を中断し、アプレットを右クリックして、代わりにsshを優先します。これは自動化できます:-)

ip route replace default via 1.2.3.4でデフォルトのライブゲートウェイを変更できることは知っていますが、これはNMの保存された接続を更新しません。

私の場合、各マシンには有線接続が1つしか格納されていません。

保存されたゲートウェイIPをコマンドラインから更新するにはどうすればよいですか?

5
artfulrobot

Network Managerからのすべての構成は/etc/NetworkManager/system-connections/にあります

これで、Wired connection 1 witchがおそらくあなたの設定ファイルlan接続であることがわかります。編集できます

Sudo nano /etc/NetworkManager/system-connections/Wired connection 1

[802-3-ethernet]
duplex=full
mac-address=00:22:64:4E:6F:70

[connection]
id=Wired connection 1
uuid=57a2a340-c113-406f-9abc-eb816e58b3db
type=802-3-ethernet
timestamp=1430138708

[ipv6]
method=auto

[ipv4]
method=manual
dns=xxx.xxx.xxx.243;8.8.8.8;
dns-search=eunet.rs;
address1=xxx.xxx.47.5/24,xxx.xxx.47.254

ipnetwork mask、またはgatewayを変更できます。変更後、NMをコマンドで保存して再起動します

Sudo service network-manager restart
4
2707974

私は2707974の答え(素晴らしい名前)を受け入れましたが、ここでは1.2.3.4から5.6.7.8に変更するためにワンライナーでこのようなことを自動化する人のために

Sudo find /etc/NetworkManager/system-connections/ -type f -name "Wired*" \
 | while read c ; do Sudo sed -i 's/1\.2\.3\.4/5.6.7.8/g' "$c" ; done ;  \
 Sudo service network-manager restart

もちろん、これは1.2.3.4が適切なものに関連してファイル内でのみ見つかることを前提としています。したがって、私にとってはデフォルトゲートウェイであるため、IPアドレスは1回しか発生しません。

1
artfulrobot