ESC

开始输入,可搜索发票、服务、域名、工单,以及 更多...

搜索... Ctrl+K
站群与多 IP

站群服务器 Linux 批量绑定 /24 整段 IP 教程:循环脚本、Netplan、nmcli 与开机持久化

7 个步骤 6 分钟阅读 3 次阅读 0
本文目录

站群服务器通常附带一个或多个 /24(C 段)IP,一段就有 253 个以上可用地址,逐个手动添加既慢又容易出错。本文介绍在站群服务器 Linux 批量绑定 /24 整段 IP的方法:用循环脚本快速绑定、写入 Netplan 或 NetworkManager 实现持久化、用 systemd 开机自动绑定,并批量验证。适用于 Ubuntu、Debian、CentOS/Rocky/AlmaLinux。

请先在客户中心或交付邮件中确认 IP 段、可用范围、前缀长度和网关:登录客户中心 → 我的产品与服务 → 选择服务器 → 管理;如找不到可提交工单。不同线路的可用范围可能不同(例如网络地址、网关、广播地址不可用),下文以 203.0.113.2–254/24 为例,请按实际分配修改。

步骤 1:确认网卡名称与主 IP

先确认主网卡和默认路由,下文用 eth0 表示:

ip -br addr show
ip route show default

步骤 2:使用循环脚本批量绑定 /24 IP(临时)

一条 for 循环即可把整段 IP 绑定到网卡上,适合先测试是否全部可用。重启后会失效:

for i in $(seq 2 254); do
  ip addr add 203.0.113.$i/24 dev eth0
done

只需添加地址,不要为附加 IP 段再添加默认网关,以免出现多条默认路由。

步骤 3:Ubuntu 使用 Netplan addresses 列表持久化

253 个地址手写容易出错,可以用命令生成 YAML 列表行,再粘贴到 /etc/netplan/ 配置文件的 addresses 下:

for i in $(seq 2 254); do echo "        - 203.0.113.$i/24"; done

粘贴后的结构类似:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 198.51.100.5/24
        - 203.0.113.2/24
        - 203.0.113.3/24
        # ... 203.0.113.254/24
      routes:
        - to: default
          via: 198.51.100.1
netplan try
netplan apply
YAML 缩进必须使用空格且对齐一致。修改前请备份原文件,并确认可以通过 VNC 控制台登录,避免配置错误导致失联。

步骤 4:CentOS / Rocky / AlmaLinux 使用 nmcli 批量持久化

NetworkManager 会把地址保存到连接配置中,重启后自动生效:

for i in $(seq 2 254); do
  nmcli connection modify eth0 +ipv4.addresses 203.0.113.$i/24
done
nmcli connection up eth0

批量修改可能需要一两分钟,执行期间请勿中断。

步骤 5:Debian 或通用方案:systemd 开机自动绑定

对于 Debian(ifupdown)或不想改动网络配置文件的场景,可以写一个脚本,由 systemd 在开机后执行。创建 /usr/local/bin/bind-ips.sh:

#!/bin/bash
# /usr/local/bin/bind-ips.sh
DEV=eth0
NET=203.0.113
for i in $(seq 2 254); do
  ip addr add ${NET}.${i}/24 dev ${DEV} 2>/dev/null
done
exit 0

再创建 /etc/systemd/system/bind-ips.service:

[Unit]
Description=Bind extra IPv4 block
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/bind-ips.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

赋予执行权限并启用:

chmod +x /usr/local/bin/bind-ips.sh
systemctl daemon-reload
systemctl enable --now bind-ips.service

使用 nmcli 管理网络的系统建议优先用步骤 4,避免 NetworkManager 重新激活连接时清除脚本添加的地址。

步骤 6:批量验证 /24 IP 是否绑定成功

统计已绑定的数量,并抽样测试出站 IP:

ip -4 addr show dev eth0 | grep -c "inet 203.0.113."
for i in 2 100 254; do curl -s --interface 203.0.113.$i https://ifconfig.me; echo; done

第一条命令应输出 253(按实际数量)。curl 返回对应 IP 即说明该地址可正常出站。建议重启一次确认持久化。

步骤 7:批量删除整段 IP

for i in $(seq 2 254); do
  ip addr del 203.0.113.$i/24 dev eth0
done

持久化配置也需同步删除:移除 Netplan 中的地址行、用 nmcli -ipv4.addresses 删除,或停用 bind-ips.service。

常见问题

前缀应该写 /24 还是 /32?

取决于 IP 段是与主 IP 处于同一二层网络,还是路由到主 IP 上。请以交付信息为准,不确定时提交工单确认。

部分 IP ping 不通怎么办?

先确认该 IP 在可用范围内,并检查防火墙;可用 arping 或 curl --interface 单独测试。若仍不通,请将 IP 列表提交工单排查。

绑定大量 IP 会影响性能吗?

几百个地址对内核几乎没有影响,但 Netplan 应用时间会略长,属正常现象。

如仍无法解决,可提交工单联系 IMIDC 7×24 技术支持。

这篇文章有帮助吗?

相关教程