这里有最新的使用文档和教程
在 Linux 系统中批量添加一个 C 类网段(即 `/24`,包含 254 个可用 IP)的 IP 地址,有几种主流方法。具体使用哪种,主要取决于你的系统版本和网络管理工具。
### 方法一:使用 `nmcli` 命令(推荐,适用于 RHEL/CentOS 7+ 等)
`nmcli` 是现代 Linux 发行版中管理网络连接的强大命令行工具,添加 IP 非常高效。假设你的网卡名是 `eth0`,要添加的网段是 `192.168.1.0/24`,可以执行以下命令:
```bash
for i in {1..254}; do
nmcli connection modify eth0 +ipv4.addresses 192.168.1.$i/24
done
```
**关键点**:命令中的 `+` 号表示“追加”IP 地址,而不是覆盖原有配置。你可以先用 `nmcli connection show` 查看你的连接名称(通常是网卡名)。执行完上述命令后,需要重启网络连接使其生效:
```bash
nmcli connection up eth0
```
如果后续需要删除这些 IP,只需将 `+ipv4.addresses` 换成 `-ipv4.addresses` 再执行一遍循环即可。
### 方法二:使用 `ifcfg-*` 配置文件(适用于 RHEL/CentOS 6/7)
对于仍在使用传统 `network-scripts` 的系统,可以通过创建 range 配置文件来批量添加。
1. 在 `/etc/sysconfig/network-scripts/` 目录下,新建一个文件,例如 `ifcfg-eth0-range0`。
2. 在文件中写入以下内容:
```
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=192.168.1.1
IPADDR_END=192.168.1.254
CLONENUM_START=0
NETMASK=255.255.255.0
NO_ALIASROUTING=yes
```
3. 保存文件后,重启网络服务:`service network restart`。
### 方法三:使用 `ip` 命令(临时添加,重启后失效)
如果你只是需要临时测试,可以直接使用 `ip` 命令:
```bash
for i in {1..254}; do
sudo ip addr add 192.168.1.$i/24 dev eth0
done
```
这个方法会立即生效,但系统重启后配置会丢失。
### 方法四:使用 `ifconfig` 命令(临时添加,较老的方法)
在一些较旧的系统或习惯用法中,也可以用 `ifconfig` 的别名功能来临时添加:
```bash
for i in {1..254}; do
ifconfig eth0:$i 192.168.1.$i netmask 255.255.255.0 up
done
```
**注意**:当子网掩码为 `255.255.255.0` 时,直接使用 `ifconfig eth0:0` 这样的别名方式可能无法正常工作,通常需要将掩码设置为 `255.255.255.255` 才更稳妥,但这会限制同网段通信。因此,更推荐使用 `ip` 命令。
### 方法五:使用 Shell 脚本(适用于 Debian/Ubuntu)
对于 Debian 或 Ubuntu 系统,可以编写一个脚本,将其配置为在开机时自动运行。你可以在 `/etc/network/interfaces` 文件的 `post-up` 指令中调用该脚本,实现开机自动批量添加 IP。
```bash
#!/bin/bash
INTERFACE="eth0"
NETWORK="192.168.1"
for i in {1..254}; do
ip addr add $NETWORK.$i/24 dev $INTERFACE 2>/dev/null
done
```
### 总结与建议
| 方法 | 适用场景 | 持久性 | 特点 |
| :--- | :--- | :--- | :--- |
| **`nmcli`** | RHEL/CentOS 7+ 等现代系统 | 永久 | **推荐**,命令简洁,管理方便 |
| **`ifcfg-range`** | 传统 RHEL/CentOS 6/7 | 永久 | 配置文件方式,适合批量管理 |
| **`ip` 命令** | 所有系统,临时测试 | 临时 | 立即生效,重启后失效 |
| **`ifconfig`** | 较旧系统 | 临时 | 老式命令,不推荐在新系统中使用 |
| **Shell 脚本** | Debian/Ubuntu 或自定义 | 视配置而定 | 灵活性高,可实现复杂逻辑 |
**操作前请注意**:
- 确保要添加的 IP 地址在你的网络中未被其他设备占用,避免 IP 冲突。
- 批量添加大量 IP 会消耗一定的系统资源,建议根据实际需求操作。
- 在执行任何永久性网络配置更改前,**建议备份原有的配置文件**。