單張實體網卡(eth0)可透過 ifcfg-eth0-rangeN 範圍檔案,一次綁定大量連續 IP,適用於虛擬主機、SSL 憑證綁定、多 IP 服務等場景。本文以 CentOS/RHEL 為例,示範新增兩個不同網段的 IP 範圍。
70.39.112.194(已設定於 ifcfg-eth0)70.39.112.195 ~ 70.39.112.222(共 28 IP)70.39.83.226 ~ 70.39.83.254(共 29 IP)# vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=70.39.112.195
IPADDR_END=70.39.112.222
CLONENUM_START=0
GATEWAY=70.39.112.193
NETMASK=255.255.255.224
NO_ALIASROUTING=yes
| 參數 | 用途 |
|---|---|
| IPADDR_START / IPADDR_END | 起始/結束 IP(含) |
| CLONENUM_START | 虛擬介面編號起始值(eth0:0、eth0:1...) |
| NO_ALIASROUTING | yes 避免為每個 alias 建立路由表項目,減少路由表膨脹 |
# systemctl restart network
# ifconfig | grep -A1 'eth0:'
eth0:0 inet 70.39.112.195 netmask 255.255.255.224 ...
eth0:1 inet 70.39.112.196 netmask 255.255.255.224 ...
...
eth0:27 inet 70.39.112.222 netmask 255.255.255.224 ...
確認已產生 eth0:0 ~ eth0:27(共 28 個)。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0-range1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=70.39.83.226
IPADDR_END=70.39.83.254
CLONENUM_START=28 # 接在上一範圍之後
GATEWAY=70.39.83.225
NETMASK=255.255.255.224
NO_ALIASROUTING=yes
# systemctl restart network
# ip addr show dev eth0 | grep -c 'inet '
58 # 1 (主) + 28 + 29 = 58 個 IP
ifcfg-eth0 加入 NM_CONTROLLED=no 或改用 nmcli 管理。IPV6ADDR_START/END 參數。#!/bin/bash
# gen-range.sh 產生 ifcfg-eth0-rangeN
BASE_IF=eth0
START_NUM=0
cat <
範圍檔方式由network服務腳本/etc/sysconfig/network-scripts/ifup-aliases處理,屬 Red Hat 系發佈專用;Debian/Ubuntu 請改用/etc/network/interfaces的up ip addr add ...或netplan。