记录在双网卡设置静态路由,实现一台机内外网同时连接。
先决条件
一台有两块网卡的电脑,且都具备网络连接。
Windows 环境
实验环境为 Windows11
,网卡如下:
网卡 |
DHCP |
IP |
子网掩码 |
网关 |
备注 |
Realtek Gaming 2.5GbE Family Controller |
否 |
192.168.31.254 |
255.255.255.0 |
192.168.31.221 |
板载网卡,网线连接内网 |
Realtek RTL8811AU Wireless LAN 802.11ac USB 2.0 Network Adapter |
是 |
192.168.43.252 |
255.255.255.0 |
192.168.43.1 |
USB 网卡,WIFI 连接外网 |
macOS 环境
实验环境为 macOS 13.6.9
,网卡如下:
网卡 |
DHCP |
IP |
子网掩码 |
网关 |
备注 |
以太网 |
是 |
192.168.31.142 |
255.255.255.0 |
192.168.31.1 |
板载网卡,网线连接内网 |
Wi-Fi |
是 |
192.168.43.127 |
255.255.255.0 |
192.168.43.1 |
无线网卡,WIFI 连接外网 |
需要注意的是,两个网卡是否设置静态 IP 都不影响路由,只需确定好对应网段的网关和子网掩码。
现在确定目标:只要 192.168.31.x
的都属于内网,走网线;除了内网其他都属于外网,走 WIFI
。
Windows 设置静态路由
windows 下使用 route 命令进行路由管理,需要以管理员权限运行 powershell
。
先 route print
查看路由表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| PowerShell 7.4.5 PS C:\Users\dsf> route print =========================================================================== 接口列表 7...........................Tailscale Tunnel 9...1c 86 0b 21 28 b1 ......Realtek Gaming 2.5GbE Family Controller 31...22 0d b0 30 0a 6e ......Microsoft Wi-Fi Direct Virtual Adapter 36...20 0d b0 30 0a 6e ......Microsoft Wi-Fi Direct Virtual Adapter 25...20 0d b0 30 0a 6e ......Realtek RTL8811AU Wireless LAN 802.11ac USB 2.0 Network Adapter 1...........................Software Loopback Interface 1 ===========================================================================
IPv4 路由表 =========================================================================== 活动路由: 网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.252 55 0.0.0.0 0.0.0.0 192.168.31.221 192.168.31.254 21 127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331 127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331 127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331 169.254.0.0 255.255.0.0 在链路上 169.254.83.107 261 169.254.83.107 255.255.255.255 在链路上 169.254.83.107 261 169.254.255.255 255.255.255.255 在链路上 169.254.83.107 261 192.168.31.0 255.255.255.0 在链路上 192.168.31.254 276 192.168.31.254 255.255.255.255 在链路上 192.168.31.254 276 192.168.31.255 255.255.255.255 在链路上 192.168.31.254 276 192.168.43.0 255.255.255.0 在链路上 192.168.43.252 311 192.168.43.252 255.255.255.255 在链路上 192.168.43.252 311 192.168.43.255 255.255.255.255 在链路上 192.168.43.252 311 224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331 224.0.0.0 240.0.0.0 在链路上 192.168.43.252 311 224.0.0.0 240.0.0.0 在链路上 192.168.31.254 276 255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331 255.255.255.255 255.255.255.255 在链路上 192.168.43.252 311 255.255.255.255 255.255.255.255 在链路上 192.168.31.254 276 =========================================================================== 永久路由: 网络地址 网络掩码 网关地址 跃点数 0.0.0.0 0.0.0.0 192.168.31.221 1 ===========================================================================
IPv6 路由表 =========================================================================== 活动路由: 接口跃点数网络目标 网关 1 331 ::1/128 在链路上 25 311 fe80::/64 在链路上 9 276 fe80::/64 在链路上 25 311 fe80::f1e:1694:f3b4:4780/128 在链路上 9 276 fe80::5056:bce5:95a8:c141/128 在链路上 1 331 ff00::/8 在链路上 25 311 ff00::/8 在链路上 9 276 ff00::/8 在链路上 =========================================================================== 永久路由: 无
|
可以看到有两条通用的路由地址,网络目标均为 0.0.0.0
,将其全部删除。
1 2
| PS C:\Users\dsf> route delete 0.0.0.0 操作完成!
|
找到两块网卡对应的接口分别为内网 9
、外网 25
,这两个编号会在机器网卡有增减时产生变化。
添加内网路由
1 2
| PS C:\Users\dsf> route add 192.168.31.0 mask 255.255.255.0 192.168.31.221 if 9 操作完成!
|
添加外网路由
1 2
| PS C:\Users\dsf> route add 0.0.0.0 mask 0.0.0.0 192.168.43.1 if 25 操作完成!
|
设置完成后路由列表如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| PS C:\Users\dsf> route print =========================================================================== 接口列表 7...........................Tailscale Tunnel 9...1c 86 0b 21 28 b1 ......Realtek Gaming 2.5GbE Family Controller 31...22 0d b0 30 0a 6e ......Microsoft Wi-Fi Direct Virtual Adapter 36...20 0d b0 30 0a 6e ......Microsoft Wi-Fi Direct Virtual Adapter 25...20 0d b0 30 0a 6e ......Realtek RTL8811AU Wireless LAN 802.11ac USB 2.0 Network Adapter 1...........................Software Loopback Interface 1 ===========================================================================
IPv4 路由表 =========================================================================== 活动路由: 网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.252 56 127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331 127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331 127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331 169.254.0.0 255.255.0.0 在链路上 169.254.83.107 261 169.254.83.107 255.255.255.255 在链路上 169.254.83.107 261 169.254.255.255 255.255.255.255 在链路上 169.254.83.107 261 192.168.31.0 255.255.255.0 在链路上 192.168.31.254 276 192.168.31.0 255.255.255.0 192.168.31.221 192.168.31.254 21 192.168.31.254 255.255.255.255 在链路上 192.168.31.254 276 192.168.31.255 255.255.255.255 在链路上 192.168.31.254 276 192.168.43.0 255.255.255.0 在链路上 192.168.43.252 311 192.168.43.252 255.255.255.255 在链路上 192.168.43.252 311 192.168.43.255 255.255.255.255 在链路上 192.168.43.252 311 224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331 224.0.0.0 240.0.0.0 在链路上 192.168.43.252 311 224.0.0.0 240.0.0.0 在链路上 192.168.31.254 276 255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331 255.255.255.255 255.255.255.255 在链路上 192.168.43.252 311 255.255.255.255 255.255.255.255 在链路上 192.168.31.254 276 =========================================================================== 永久路由: 无
IPv6 路由表 =========================================================================== 活动路由: 接口跃点数网络目标 网关 1 331 ::1/128 在链路上 25 311 fe80::/64 在链路上 9 276 fe80::/64 在链路上 25 311 fe80::f1e:1694:f3b4:4780/128 在链路上 9 276 fe80::5056:bce5:95a8:c141/128 在链路上 1 331 ff00::/8 在链路上 25 311 ff00::/8 在链路上 9 276 ff00::/8 在链路上 =========================================================================== 永久路由: 无 PS C:\Users\dsf>
|
需要注意的是,这两条都不是永久路由,重启电脑后就会失效,需要重新设置,如需设置永久路由,在两条 route add
命令后添加参数 -p
即可。
如需删除手动设置的静态路由,使用 route delete
命令:
1
| route delete 192.168.31.0
|
如果对网络适配器进行变更(如禁用、启用网卡、在 Windows 里设置重新静态 IP),可能会自动生成路由记录,需要重新进行以上配置。
macOS 设置静态路由
首先设置正确的网卡服务顺序,进入 系统偏好设置 - 网络 - 设定服务顺序,拖动来进行网络优先级设置。
使连接外网的网卡位于内网网卡之上,此时已经可以正常访问外网。
添加内网路由
1
| sudo route -n add -net 192.168.31.0 -netmask 255.255.255.0 192.168.31.1
|
添加外网路由
1
| sudo route -n add default 192.168.43.1
|
如需删除,也是使用 route delete
命令:
1
| sudo route delete -net 192.168.31.0 -netmask 255.255.255.0 192.168.31.1
|
至此,目标完成。
参考
-EOF
查看最新版,请访问本文链接:https://blog.onehat.cn/p/7b7a.html
原创作品,转载请保留出处。