【linux网络配置】多个网卡一起使用,一个网卡连内网,一个网卡连外网

一、问题背景

因为有一个工作站在内网中,但是没有办法联网(校园网账户有限)。

虽然工作站没有联网,但是我仍然可以通过局域网远程控制工作站,使其访问校园网验证页面实现上网。

当给工作站安装软件或依赖项时,需要用自己校园网账户登录验证,而这时候自己的windows电脑上就没有网络了(校园网账户只能同时登录一台设备)。

考虑到我有一个无线网卡,插在台式机上后,相当于一个机器有两个网卡,一个有线网卡连接的是有线以太网、一个无线网卡可以连接WiFi。

如果不做特殊的配置,两个网卡同时连接网络,必定会导致冲突,最后上网可能反而会变慢。

二、解决办法

假设网卡A是无线网卡,网卡B是有线网卡。

我们将有线网卡的ipv4网络跃点设置为100。

【linux网络配置】多个网卡一起使用,一个网卡连内网,一个网卡连外网_第1张图片

使用路由表打印命令,显示网卡的IP信息、网关信息等等。(XX表示屏蔽隐私信息)

C:\WINDOWS\system32>route print
===========================================================================
接口列表
 13...xx xx xx 27 ac 51 ......Intel(R) Ethernet Connection (11) I219-LM
  4...xx xx xx 79 8d 88 ......Microsoft Wi-Fi Direct Virtual Adapter
  8...xx xx xx 79 8d 88 ......Microsoft Wi-Fi Direct Virtual Adapter #2
  5...xx xx xx 79 8d 88 ......Realtek 8832AU Wireless LAN WiFi 6 USB NIC
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0     172.20.xxx.1   172.20.xxx.223    356
          0.0.0.0          0.0.0.0   192.168.58.239   192.168.58.124     50
        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
     172.20.xxx.0    255.255.248.0            在链路上    172.20.xxx.223    356
   172.20.xxx.223  255.255.255.255            在链路上    172.20.xxx.223    356
   172.20.xxx.255  255.255.255.255            在链路上    172.20.xxx.223    356
     192.168.58.0    255.255.255.0            在链路上    192.168.58.124    306
   192.168.58.124  255.255.255.255            在链路上    192.168.58.124    306
   192.168.58.255  255.255.255.255            在链路上    192.168.58.124    306
    192.168.137.0    255.255.255.0            在链路上     192.168.137.1    281
    192.168.137.1  255.255.255.255            在链路上     192.168.137.1    281

我们可以发现网卡A的IP是192.168.58.124,网关是192.168.58.239。

而网卡B的IP是172.20.xxx.223,网关是172.20.xxx.1。

而工作站的IP是172.20.xxx.2。

现在我们为了让有线网卡走内网连接工作站,可以在管理员身份的CMD窗口中执行下面的命令。

route -p add 172.20.xxx.2 mask 255.255.255.255 172.20.xxx.1

-p表示永久路由,重启机器后仍然存在,除非重启显卡(禁用后再启用)。

add表示添加路由。

mask尽量设置为32位,这样的鲁棒性最好,最稳定。

命令执行后,我在工作站上连接校园网,然后自己windows电脑上连接一个WiFi(手机热点),便可以实现双电脑机器联网。

三、反思

当我执行route -p add 172.20.xxx.2 mask 255.255.255.255 172.20.xxx.1时,如果将mask设置为24位,就会导致无法连接到内网。

这个问题我愣是没想明白为啥。因为我在网上查询的时候,发现路由顺序依赖子网掩码数量和目标IP匹配情况。

例如某一条路由可以匹配到目标IP 123.123.123.123,显然默认路由0.0.0.0的子网掩码任何IP都能匹配,而另一条路由匹配到这个目标IP的同时,子网掩码为255.0.0.0。

由于后者有8位子网掩码,那么网络优先走后面这个路径。

欢迎大佬答疑解惑。

你可能感兴趣的:(Linux,网络,linux,服务器)