首页 > 数据库 > 数据库开发技术 > 静态IP自动配置脚本
先放个链接,万一有人关注呢
↓ ↓ ↓ ↓ ↓
下面是一个基于RHEL 9的单节点示例脚本:
# 设置静态IP地址的脚本# 修改接口和连接名为ens160interface=ens160connection=ens160# 修改IP地址、子网掩码、网关和DNSipaddr=192.168.1.181netmask=255.255.255.0gateway=192.168.1.1dns=8.8.8.8# 使用nmcli命令修改网络配置sudo nmcli con modify "$connection" ifname "$interface" ipv4.method manual ipv4.addresses "$ipaddr"/24 gw4 "$gateway"sudo nmcli con modify "$connection" ipv4.dns "$dns"# 重启连接sudo nmcli con down "$connection"sudo nmcli con up "$connection"# 显示结果echo "静态IP地址已设置为:$ipaddr"echo "子网掩码已设置为:$netmask"echo "网关已设置为:$gateway"echo "DNS已设置为:$dns"
在脚本中,首先定义了需要修改的网络接口和连接名,以及需要配置的IP地址、子网掩码、网关和DNS。然后使用nmcli命令来修改连接配置,包括设置网络连接的IP地址、子网掩码、网关和DNS。最后重启连接,以使新的配置生效。
基于上述思路,可以写出一个多节点的脚本:
# 定义多节点主机名和IP地址nodes=(node1:192.168.1.181node2:192.168.1.182node3:192.168.1.183)# 循环遍历每个节点,执行静态IP配置脚本for node in "${nodes[@]}"; do# 从节点信息中分离主机名和IP地址hostname=$(echo "$node" | cut -d ':' -f1)ipaddr=$(echo "$node" | cut -d ':' -f2)# 在远程节点上执行静态IP配置脚本ssh "$hostname" bash -s << EOF# 配置静态IP地址interface=enp0s3connection=enp0s3netmask=255.255.255.0gateway=192.168.1.1dns=4.2.2.2sudo nmcli con modify "\$connection" ifname "\$interface" ipv4.method manual ipv4.addresses "\$ipaddr"/24 gw4 "\$gateway"sudo nmcli con modify "\$connection" ipv4.dns "\$dns"sudo nmcli con down "\$connection"sudo nmcli con up "\$connection"echo "静态IP地址已设置为:\$ipaddr"echo "子网掩码已设置为:\$netmask"echo "网关已设置为:\$gateway"echo "DNS已设置为:\$dns"EOFdone
如有不足之处,欢迎指正!
我们的组织在这里:

欢迎大家加入,在这个大家可以与各路大神一起学习,共同进步!

原文作者:运维book思议;如有侵权,请联系管理员删除。