nmcli 策略路由
时间: 2025-01-01 19:28:09 浏览: 8
### 使用 `nmcli` 配置策略路由
在网络管理工具中,`nmcli` 提供了一种灵活的方式来配置网络接口及其属性。对于更复杂的网络需求,如策略路由,可以通过创建多个连接配置文件并为每个配置文件定义不同的路由来实现。
#### 创建具有不同路由的连接配置文件
为了设置策略路由,通常需要至少两个独立的连接配置文件,分别对应不同的路由规则:
1. **创建第一个连接配置文件**
对于名为 `test-office` 的连接配置文件,该配置用于办公室环境下的静态IP配置:
```bash
nmcli connection add \
con-name "test-office" \
ifname eth0 \
type ethernet \
ip4 192.168.1.10/24 \
gw4 192.168.1.1 \
ipv4.dns "8.8.8.8"
```
2. **创建第二个连接配置文件**
接下来,创建另一个连接配置文件 `test-home`,它使用 DHCP 获取 IP 地址,并指向家庭路由器作为网关:
```bash
nmcli connection add \
con-name "test-home" \
ifname eth0 \
type ethernet \
ipv4.method auto
```
3. **添加特定源地址的路由规则**
假设希望某些流量通过上述的家庭连接发送,则可以在相应的连接上增加额外的路由选项。这可通过编辑现有连接完成,在这里以 `test-home` 为例,为其添加一条仅当数据包来自某个特定子网时才使用的路由:
```bash
nmcli connection modify test-home +ipv4.routes "10.0.0.0/8 192.168.2.1"
```
4. **激活所需的连接配置文件**
当准备好切换到新的网络环境时,只需简单地启用对应的连接即可自动应用所设定的所有参数和路由规则:
```bash
nmcli connection up id test-home
```
以上操作允许基于目的地址或其他条件选择性地决定哪些流量应该走哪条路径[^1]。
#### 设置优先级更高的默认路由
如果想要确保某一路由始终被优先考虑(即使存在其他默认网关),还可以调整路由度量值(metric),较低数值表示较高优先级:
```bash
nmcli connection modify test-office ipv4.route-metric 100
nmcli connection modify test-home ipv4.route-metric 50
```
这样做的效果是在两者都可用的情况下,默认会选择 metric 更低的那个作为首选出口[^2]。
阅读全文