Ubuntu 22.04 一键式脚本批量配置多组 IP 地址
在 Ubuntu 22.04 中实现一键式批量配置多组 IP 地址,可通过编写 Shell 脚本结合 netplan 网络配置工具完成。以下是实现方案及脚本示例:
batch_ip.sh
#!/bin/bash # 参数定义(根据需求修改)NETWORK_INTERFACE="ens33"# 网卡名称(通过 ip addr 查询)PRIMARY_IP="192.168.1.100/24"# 主IP及子网掩码GATEWAY="192.168.1.1"# 默认网关 DNS_SERVERS="8.8.8.8 114.114.114.114"# DNS服务器 EXTRA_IPS=("192.168.1.101/24""192.168.1.102/24") # 需批量添加的额外IP组# 备份原配置文件 sudo cp /etc/netplan/*.yaml /etc/netplan/backup.yaml # 生成新的 netplan 配置 sudo tee /etc/netplan/99-multi-ip.yaml > /dev/null <<EOF network: version: 2 renderer: networkd ethernets: $NETWORK_INTERFACE: dhcp4: no addresses: - $PRIMARY_IP - ${EXTRA_IPS[@]} # 批量添加多组IP routes: - to: default via: $GATEWAY nameservers: addresses: [$DNS_SERVERS] EOF# 应用配置并重启网络 sudo netplan apply # 验证配置结果 echo -e "\n当前IP配置:"ip addr show $NETWORK_INTERFACE | grep "inet "
IP 格式要求:
/24
EXTRA_IPS
网卡识别:
ip addr
配置生效:
netplan apply
# 赋予脚本执行权限 chmod +x batch_ip.sh # 以 root 权限执行 sudo ./batch_ip.sh
若需为不同 IP 配置独立网关,需使用 路由表策略:
/etc/iproute2/rt_tables
ip rule add
通过此脚本可实现 1 分钟内批量部署多组 IP,适用于服务器集群初始化、网络测试等场景。若需动态生成 IP(如基于槽位号),可结合
sed/awk
命令实现更复杂的逻辑8。