在Ubuntu系统中,要一键设置或修改IP地址,通常需要编写一个shell脚本来自动化这个过程。以下是一个示例脚本,它使用netplan
工具来配置静态IP地址。请根据实际网络环境和需求调整以下脚本中的IP地址、子网掩码、网关、DNS等参数。
注意:请以root用户或具有sudo权限的用户身份运行此脚本。
bash
#!/bin/bash
# 定义网络接口名称(例如:eth0、enp0s3等,根据实际情况替换)
INTERFACE="eth0"
# 定义新的IP地址、子网掩码、网关和DNS服务器
IP_ADDRESS="192.168.1.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS_SERVERS=("8.8.8.8" "8.8.4.4") # Google Public DNS servers
# 创建或更新netplan配置文件(通常位于/etc/netplan/)
CONFIG_FILE="/etc/netplan/01-netcfg.yaml"
cat << EOF > "$CONFIG_FILE"
network:
version: 2
renderer: networkd
ethernets:
$INTERFACE:
dhcp4: no
addresses: [${IP_ADDRESS}/${NETMASK}]
gateway4: ${GATEWAY}
nameservers:
addresses: ${DNS_SERVERS[@]}
EOF
# 应用新的网络配置
echo "Applying netplan configuration..."
sudo netplan apply
# 检查网络状态以确认配置生效
echo "Verifying network configuration..."
ip addr show dev $INTERFACE && ip route show
echo "IP address modification complete."
使用方法:
1. 将上述脚本内容保存到一个文件,比如set_ip.sh
。
2. 给脚本赋予执行权限:
bash
chmod +x set_ip.sh
3. 运行脚本:
bash
./set_ip.sh
脚本执行过程中会:
- 设置指定网络接口的静态IP地址、子网掩码、网关和DNS服务器。
- 使用
netplan
工具应用新的网络配置。 - 显示网络接口信息和路由表,以确认配置已生效。
请确保在运行脚本前备份现有网络配置,以防万一需要恢复。另外,根据实际网络环境,可能还需要调整其他网络参数,如VLAN标签、MTU大小等。在生产环境中使用此类脚本时,请务必谨慎,并在测试环境中充分验证后再部署。