如何从命令行更新网络管理器连接?

我的工作以太网局域网上有一堆Ubuntu机器,我需要修改默认网关。

我宁愿不绕行,中断人们的工作,右键点击applet,而不是ssh in,这可以自动化:-)

我知道我可以ip route replace default via 1.2.3.4更改ip route replace default via 1.2.3.4的默认实时网关,但这不会更新NM的存储连接。

在我的情况下,每台机器只有一个存储的有线连接。

如何从命令行更新存储的网关IP?

网络管理器的所有配置都在/etc/NetworkManager/system-connections/

在这请你会发现Wired connection 1巫婆可能是你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 maskgateway 。 更改完成后,使用命令保存并重新启动NM

 sudo service network-manager restart 

我接受了2707974的回答(很棒的名字),但是对于任何想要使用5.6.7.8自动化这个东西从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地址只发生一次。