route add
时间: 2025-05-31 09:57:33 浏览: 65
### 如何使用 `route add` 命令或添加路由配置
#### 使用 `route add` 命令
在类 Unix 系统中,可以使用 `route add` 命令来临时添加静态路由。以下是具体语法:
```bash
route add [-net | -host] target_network [gw gateway_ip] [netmask subnet_mask] [metric value]
```
- `-net`: 表示目标是一个网络。
- `-host`: 表示目标是一台主机。
- `target_network`: 目标网络的 IP 地址。
- `gw`: 指定下一跳网关的 IP 地址。
- `netmask`: 子网掩码(可选)。
- `metric`: 度量值(可选),表示优先级。
例如,要将目标网络 `192.168.1.0/24` 的流量通过网关 `192.168.1.1` 发送,可以执行以下命令[^3]:
```bash
sudo route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
```
如果需要指定单个主机而非整个子网,则可以省略 `netmask` 参数并替换为目标主机的 IP 地址:
```bash
sudo route add -host 192.168.1.100 gw 192.168.1.1
```
#### 配置文件方式(永久生效)
为了使路由配置在系统重启后仍然有效,可以通过修改系统的网络配置文件实现永久路由设置。对于基于 Red Hat 的发行版(如 CentOS 和 RHEL),可以在 `/etc/sysconfig/network-scripts/route-<interface>` 文件中定义路由;而对于 Debian 及其衍生版本(如 Ubuntu),则编辑 `/etc/network/interfaces` 或者 `/etc/netplan/*.yaml` 文件。
以 Debian 系为例,在 `/etc/network/interfaces` 中添加如下内容[^3]:
```plaintext
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1 dev eth1
```
如果是 NetPlan 配置环境下的 YAML 文件形式,可能看起来像这样:
```yaml
network:
version: 2
ethernets:
eth1:
routes:
- to: 192.168.0.0/16
via: 192.168.100.1
```
注意:不同 Linux 发行版的具体操作方法可能会有所不同,请查阅对应文档确认细节[^4]。
#### 示例代码片段
下面提供了一个简单的脚本用于批量添加多个静态路由:
```bash
#!/bin/bash
# 定义变量
GATEWAY="192.168.1.1"
NETWORKS=("192.168.2.0/24" "192.168.3.0/24")
for NET in "${NETWORKS[@]}"; do
sudo route add -net $NET gw $GATEWAY
done
```
此脚本循环遍历数组中的每个网络地址,并调用 `route add` 来逐一添加它们到路由表中。
---
阅读全文
相关推荐
















