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

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

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

我宁愿不四处走动,打断别人的工作,也不去右键点击一个小程序,而是选择通过 ssh 登陆,这样可以实现自动化 :-)

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

就我而言,每台机器只有一个存储的有线连接。

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

答案1

网络管理器的所有配置都在/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

答案2

我接受了 2707974 的答案(名字很棒),但对于任何想要使用一行代码来自动化这些操作的人来说,都可以1.2.3.45.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 地址只出现过一次。

相关内容