CentOS快速配置多台机器为静态地址

指令如下,这是我目前找到的最优雅,最快速的方法:


nmcli connection modify eth0 \
    ipv4.dns 192.168.31.199 \
    ipv4.method manual \
    ipv4.gateway 192.168.31.199 \
    connection.autoconnect yes 
nmcli c up eth0

nmcli connection modify eth0 \
    ipv4.addresses 192.168.23.60/24 \
    ipv4.dns 192.168.23.65 \
    ipv4.method manual \
    ipv4.gateway 192.168.23.65 \
    connection.autoconnect yes 
nmcli c up eth0

# 访问外网(下载软件)
nmcli connection modify eth0 \
    ipv4.addresses 192.168.23.69/24 \
    ipv4.dns 192.168.23.65 \
    ipv4.method manual \
    ipv4.gateway 192.168.23.65 \
    connection.autoconnect yes 
nmcli c up eth0

# 访问内网
nmcli connection modify eth0 \
    ipv4.addresses 192.168.23.69/24 \
    ipv4.dns 192.168.20.21 \
    ipv4.method manual \
    ipv4.gateway 192.168.23.1 \
    connection.autoconnect yes 
nmcli c up eth0



nmcli connection modify eth0 \
    ipv4.addresses 172.20.11.206/24 \
    ipv4.dns 172.20.11.210 \
    ipv4.method manual \
    ipv4.gateway 172.20.11.210 \
    connection.autoconnect yes 
nmcli c up eth0



后续:

一次巧合的机会,我发现我的一台服务器的/etc/resolv.conf文件中的nameserver会自动更新为默认的ip,我注意到这台机器的/etc/resolv.conf是由一个脚本管理的(并非NetworkManager),我猜想可能是我的失误操作,导致了这个问题(我记得我曾在一台机器上安装过NetPlan)。所以我又手动执行了一次上面的代码。

20220115后续:

今天需要再用一下虚拟机,因为之前网络升级,所以修改了网段,所有虚拟机网络都需要重新配置一下。结果我虚拟机网络配好了后,死活连不上,且自己ping自己都无法ping通。我翻看了上一个后续,我以为是该问题导致的。所以我想办法关闭了NetworkManager,关闭NetworkManager后,是无法使用nmcli指令的,所以我分析不是这个问题导致的。

最后几经调试,我发现我把192.168.31.151写成了191.168.31.151,我也不知道这是一个什么神奇而又愚蠢的错误。


nmcli c m eth0 \
    ipv4.addresses 191.168.31.151/24 \
    ipv4.gateway 192.168.31.199 \

参考资料

  1. Centos8 配置静态IP