如何临时修改辅助 IP 的网关?

如何临时修改辅助 IP 的网关?

我有以下情况:

路线-n
内核 IP 路由表
目标网关 Genmask 标志 指标参考使用 Iface
0.0.0.0 192.168.42.129 0.0.0.0 UG 0 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 9 0 0 WLAN1
192.168.42.0 0.0.0.0 255.255.255.0 U 1 0 0 usb0

我想使用单行设置网关为192.168.0.0/24192.168.0.1当前辅助 IP 为192.168.0.4)。
我可以使用类似

sudo ip route add from 192.168.0.4 via 192.168.0.1 dev wlan1
RTNETLINK 回答:文件存在


同样,我需要一些临时的东西来强制所有从192.168.0.4网关发送的数据包通过192.168.0.1(不想设置一组脚本/其他东西来执行此操作)。有没有我可以使用的一行程序?

干杯!

答案1

wlan1强制所有流量通过的方法usb0是强制使用新网关:使用 sudo,

ip route del default
ip route add default via 192.168.0.1 dev wlan1

(我假设你的网关有 IP 地址192.168.0.1,如果没有,请相应更改)。你可以使用以下方法恢复之前的情况:

ip route del default 
ip route add default via 192.168.42.129 dev usb0

如果您不知道或不记得网关的 IP 地址,请使用

ip route del default
dhclient -v usb0

-v选项用于详细显示,它并不存在于所有发行版中,你可能必须放弃它)。

你也可以决定网关,每个接口一个;使用 Linux 内核(并且只能使用 Linux 内核)可以做到这一点,你会发现在 David'Schwartz 的回答中一个关于如何做到这一点的简短而出色的解释。一旦你这样做了,你将必须决定每个应用程序的输出通过哪个接口(你根据每个应用程序决定)。这意味着,一个给定的应用程序ssh可能绑定到任一接口,或者换句话说,启动的 IP 地址ssh可以是的usb0或的wlan1rule然后 David Schwartz 讨论的会自动进行正确的路由ssh

请注意,这样一来,您可能有一个ssh连接通过wlan1,而另一个连接通过wlan1

相关内容