
香港高防服务器如何在CentOS上批量添加配置IP地址?
2025-08-17 17:46
阅读量:13
在香港高防服务器(或其他多 IP 服务器)上运行 CentOS 系统时,可能需要批量添加多个 IP 地址(例如,站群服务器使用多个独立 IP 地址)。
1. 确认分配的 IP 地址
-
获取 IP 地址段:
- 从高防服务器提供商(如香港机房)处获取分配的 IP 地址列表,例如:
192.168.1.101 - 192.168.1.110
- 确认子网掩码和网关地址,例如:
子网掩码:255.255.255.0 网关:192.168.1.1
- 从高防服务器提供商(如香港机房)处获取分配的 IP 地址列表,例如:
-
确认网卡名称:
- 在 CentOS 7/8 中,运行以下命令查看网卡名称:
bash
ip addr
- 示例输出:
pf
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
- 上述输出中,网卡名称为
ens33
。
- 在 CentOS 7/8 中,运行以下命令查看网卡名称:
2. 批量添加 IP 地址
2.1 编辑网卡配置文件
在 CentOS 中,网卡的配置文件通常位于 /etc/sysconfig/network-scripts/
目录下,以 ifcfg-<网卡名称>
命名。
-
打开主网卡配置文件:
bashsudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
确保主配置文件的内容正确,例如:
bashTYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
-
保存后退出。
2.2 创建别名配置文件
为每个附加的 IP 地址创建别名配置文件,文件名格式为:ifcfg-<网卡名称>:<别名编号>
。
方法 1:手动添加
-
创建第一个别名文件:
bashsudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33:0
-
编辑别名文件:
bashsudo vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
修改内容如下:
bashTYPE=Ethernet BOOTPROTO=static NAME=ens33:0 DEVICE=ens33:0 ONBOOT=yes IPADDR=192.168.1.101 NETMASK=255.255.255.0
-
重复步骤:
- 为其他 IP 创建类似的别名文件,例如
ifcfg-ens33:1
、ifcfg-ens33:2
等。
- 为其他 IP 创建类似的别名文件,例如
方法 2:批量生成脚本
如果需要添加大量 IP 地址,可使用脚本批量生成配置文件。
-
创建脚本文件:
bashsudo vim /root/add_ips.sh
-
添加以下内容:
bash#!/bin/bash NETWORK_SCRIPTS_DIR="/etc/sysconfig/network-scripts" INTERFACE="ens33" NETMASK="255.255.255.0" # 起始和结束 IP 地址 START_IP=192.168.1.101 END_IP=192.168.1.110 # 转换 IP 地址为整数 ip_to_int() { local a b c d IFS=. read -r a b c d <<< "$1" echo $((a * 256 ** 3 + b * 256 ** 2 + c * 256 + d)) } # 转换整数为 IP 地址 int_to_ip() { local num=$1 echo "$((num >> 24 & 255)).$((num >> 16 & 255)).$((num >> 8 & 255)).$((num & 255))" } START=$(ip_to_int "$START_IP") END=$(ip_to_int "$END_IP") # 批量生成配置文件 for ((i = START; i <= END; i++)); do IP=$(int_to_ip $i) ALIAS=$((i - START)) CONFIG_FILE="$NETWORK_SCRIPTS_DIR/ifcfg-$INTERFACE:$ALIAS" cat > "$CONFIG_FILE" <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=$INTERFACE:$ALIAS
DEVICE=$INTERFACE:$ALIAS
ONBOOT=yes
IPADDR=$IP
NETMASK=$NETMASK
EOF
echo "Created $CONFIG_FILE with IP $IP"
done
3. 保存并退出。
4. 赋予脚本执行权限:
```bash
chmod +x /root/add_ips.sh
- 执行脚本:
bash
sudo /root/add_ips.sh
2.3 重启网络服务
成功添加配置文件后,重启网络服务使变更生效:
bash
sudo systemctl restart network
3. 验证 IP 地址是否生效
3.1 使用 ip addr
查看
运行以下命令,检查是否成功添加新 IP:
bash
ip addr
输出示例:
plaintext
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33
inet 192.168.1.101/24 brd 192.168.1.255 scope global secondary ens33:0
inet 192.168.1.102/24 brd 192.168.1.255 scope global secondary ens33:1
inet 192.168.1.103/24 brd 192.168.1.255 scope global secondary ens33:2
3.2 测试连接
从本地或其他服务器测试新 IP 是否可用:
bash
ping 192.168.1.101
4. 注意事项
-
网卡名称:
- CentOS 7 和 8 使用
ens33
、eth0
等命名,请根据实际网卡名称替换。
- CentOS 7 和 8 使用
-
防火墙配置:
- 确保新添加的 IP 地址没有被防火墙规则阻止:
bash
firewall-cmd --permanent --add-source=192.168.1.0/24 firewall-cmd --reload
- 确保新添加的 IP 地址没有被防火墙规则阻止:
-
路由冲突:
- 如果添加多个子网,请确保路由表没有冲突。
-
批量 IP 配置文件管理:
- 可以使用脚本快速添加或删除大量 IP,避免手动重复操作。
-
系统资源限制:
- 确保服务器的网络栈支持大量 IP 地址(如站群服务器可能需要优化内核参数)。
通过上述方法,您可以便捷地在 CentOS 系统上批量添加 IP 地址,适用于香港高防服务器或站群服务器的多 IP 配置需求。
- Tags:
- 香港高防服务器,香港高防,高防服务器
上一篇:香港VPS服务器忘记密码后如何进行密码重置?
下一篇:为什么部署了SSL后,香港服务器网站依然没有带锁?