Linux 服务器更改IP 地址 子网掩码 网关 和主机名的脚本
时间: 2024-10-27 10:08:30 浏览: 27
Linux修改ip的执行文件.rar
在Linux系统上,如果你想批量更改服务器的IP地址、子网掩码、网关和主机名,可以创建一个shell脚本来自动化这个过程。以下是一个基本的bash脚本示例:
```bash
#!/bin/bash
# 定义变量
IP_ADDRESS="新IP地址"
SUBNET_MASK="新的子网掩码"
GATEWAY="新的网关"
HOSTNAME="新的主机名"
# 更新网络配置文件 (例如:ifcfg-eth0 或者 interfaces)
for file in /etc/sysconfig/network-scripts/ifcfg-eth*; do
if [ -f "$file" ]; then
sed -i "s/IPADDR=.*/IPADDR=$IP_ADDRESS/g" $file
sed -i "s/Gateway=.*/Gateway=$GATEWAY/g" $file
# 如果文件中包含子网掩码字段,则更新,否则添加一行
if grep -q "NETMASK"; then
sed -i "s/NETMASK=.*/NETMASK=$SUBNET_MASK/g" $file
else
echo "NETMASK=$SUBNET_MASK" >> $file
fi
# 更新主机名,需要重启网络服务生效
hostnamectl set-hostname --static $HOSTNAME
break
fi
done
# 重启网络服务
sudo systemctl restart networking
echo "网络配置已更新,重启后生效。"
阅读全文