抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

壹帽博客

清心明几,去日苦多

记录使用在双网卡设置静态路由,实现一台机内外网同时连接。

先决条件

一台有两块网卡的电脑,且都具备网络连接。

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 #2
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 #2
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

原创作品,转载请保留出处。

评论