我的工作以太网 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
您可以更改ip
、network mask
或gateway
。更改后,保存并NM
使用命令重新启动
sudo service network-manager restart
答案2
我接受了 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 地址只出现过一次。