在工作中我们有 2 个网络;一个用于正常互联网访问的 WiFi 一个,一个用于存储库等的内部 LAN 一个。我最近开始使用 Linux,不得不不断地在电缆和 WiFi 之间切换是一件痛苦的事情。在 Windows 上,我们通过运行以下命令解决了这个问题(以便我们可以同时连接到两个网络):
# Add a route for all traffic to any destination starting with 10 (internal traffic):
route add 10.0.0.0 mask 255.0.0.0 10.18.21.129 metric 40 -p
# Move the default route to a higher metric:
route change 0.0.0.0 mask 0.0.0.0 10.18.21.129 metric 40
运行这些程序并连接到 WiFi 后,一切都神奇地工作了。要达到相同的结果,必要的 Linux 命令是什么?我已经对 route
命令进行了很多摆弄,但没有任何运气。感谢任何帮助。
编辑:
以下是输入任何其他命令之前 route -n
命令的输出:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.18.21.129 0.0.0.0 UG 0 0 0 eth0
10.18.21.128 0.0.0.0 255.255.255.128 U 1 0 0 eth0
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
192.168.88.0 0.0.0.0 255.255.252.0 U 9 0 0 wlan0
最佳答案
变体 1:将您的解决方案直接转换为 Linux one
路由命令:
- 路由添加 -net 10.0.0.0/8 gw 10.18.21.125 公制 40
- 默认路由
- 路由添加默认网关 10.18.21.125 公制 40
ip 路由命令:
- ip 路由通过 10.18.21.125 公制 40 添加 10.0.0.0/8
- 默认通过 10.18.21.125 的 IP 路由
- 通过 10.18.21.125 公制 40 添加默认 IP 路由
在连接 WiFi 后或启动脚本中添加这些命令的启动。
变体 2.关闭魔法:)
- 使用如下命令通过 LAN 接口(interface)转向 10.0.0.0 网络的路由:
ip route add 10.0.0.0/8 via 10.18.21.125 metric 10
。 在这种情况下,所有流量都将通过默认接口(interface)路由,10.0.0.0/8 网络除外。 - 如果默认 WiFi 路由的优先级低于 LAN 路由,则增加该路由的优先级
编辑:根据提供的路线图
- 默认路由
- 路由添加默认网关[wifi网关ip]
- 路由添加-net 10.0.0.0/8 gw 10.18.21.125
关于Linux - 通过以太网路由特定流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942760/