自动摘要
正在生成中……
要让所有访问 1.2.3.4
的流量固定走 enp1s0
接口(即 192.168.6.0/24 的网段),你可以通过 静态路由规则 完成,不影响系统默认路由设置。
✅ 添加静态路由
使用 ip route add
命令指定目的地址的路由走 enp1s0
:
sudo ip route add 1.2.3.4 via 192.168.6.10 dev enp1s0
这条命令的含义是:
-
所有发往 1.2.3.4
的数据包:
- 通过网关
192.168.6.10
- 使用网卡
enp1s0
🧪 验证方式
-
查看路由是否生效:
ip route get 1.2.3.4
输出应类似:
1.2.3.4 via 192.168.6.10 dev enp1s0 ...
-
抓包验证(可选):
sudo tcpdump -i enp1s0 host 1.2.3.4
这是一个 抓包命令,用于监听你网卡上的数据包,具体解释如下:
sudo 以管理员权限运行(抓包需要 root 权限)
tcpdump 抓取网络数据包的工具
-i enp1s0 指定监听的网络接口为 enp1s0(即你连接 192.168.6.0/24 网段的接口)
host 1.2.3.4 仅抓取和 IP 为 1.2.3.4 的通信数据(包括出站和入站)
📦 用途:可以用来验证某个流量(如访问 1.2.3.4)是否通过 enp1s0 接口发出或收到。
如何固定当前路由规则(重启后依然生效)
如果你使用的是 NetworkManager 来管理网卡连接,可用如下命令添加永久路由(以 enp1s0 为例):
你可以用 nmcli connection show 查看连接名称。
比如输出为:
Wired01 11a43f4c-2cb6-3802-ab2e-e7f62ffe5352 ethernet enp1s0
当前连接名是 Wired01
,设备是 enp1s0
,下面是使用 nmcli
为这个连接添加 静态路由 的完整操作步骤:
✅ 添加静态路由(固定走 enp1s0 到 1.2.3.4)
sudo nmcli connection modify "Wired01" +ipv4.routes "1.2.3.4/32 192.168.6.10"
-
1.2.3.4/32
:表示目标是单一 IP。
-
192.168.6.10
:为 enp1s0 接口的默认网关。
🔄 重启该连接使配置生效
sudo nmcli connection down "Wired01" && sudo nmcli connection up "Wired01"
或者(不影响现有连接)直接执行:
sudo nmcli connection reload
🧪 验证路由已添加
ip route get 1.2.3.4
预期输出类似:
1.2.3.4 via 192.168.6.10 dev enp1s0 ...
📌 说明:该设置是永久的
此路由会保存到 NetworkManager
的配置中,系统重启或断网重连后依然生效。
如你希望同时移除该规则,可以使用:
sudo nmcli connection modify "Wired01" -ipv4.routes "1.2.3.4/32 192.168.6.10"
sudo nmcli connection up "Wired01"