【路由设置】Macbook 双网卡同时访问内外网

1. 背景

Macbook电脑一台,插网线可以上公司内网,wifi 可以上外网。

需求:插上网线,连着wifi,电脑同时上内外网。

解决方法:通过配置路由表,分发网络。

 

2. 步骤:

2.1 查看网卡

进入系统偏好设置 - 网络 - 点击每张网卡分别查看网卡对应的IP地址和路由:

有线网卡:

IP Address:10.180.**.**
Router:10.180.9.1

无线网卡:

IP Address:172.27.**.**
Router:172.27.28.1

2.2 查看路由表

打开命令行窗口,输入命令netstat -rn 查看路由表基本情况

当前电脑的现状是,内网可以正常访问,外网访问不了。

从上面的路由表可以看到,排在最上面的default目标有两行,两张网卡都可以走。但是排在上面的en3的优先级比en1要高,结合实际只有内网可以访问的状况可以判断,en3是有线网卡,en1是无线网卡。有线网卡的优先级高,本机发起的所有访问连接都由有线网卡去转发,所以外网不能访问。同时Gateway对照上面步骤2.1的Router看,可以验证两张网卡的判断是正确的。

2.3 修改路由表

(1) 修改无线网卡的优先级到第一名

进入系统偏好设置 - 网络 - 点击左下角的功能键 - 下拉选择 更改服务顺序,把Wi-Fi拖到最上面,点确定 - 继续确定。

 

这时候电脑可以上外网了,内网上不了。

(2)修改连接内网的网卡

从步骤1可以看到,两张网卡走的是不同的路由,所以只需要修改访问内网地址的网关,让访问内网的地址都走有线网卡

# 比如访问目标IP:10.123.456.*,内网网关是10.180.9.1,子网掩码是255.0.0.0
# 命令如下:
$ sudo route add -net 10.0.0.0 -netmask 255.0.0.0 10.180.9.1

# 如果还有其他内网网段要访问,依次写上
$ sudo route add -net 172.0.0.0 -netmask 255.0.0.0 10.180.9.1

此时就已经设置完成了,电脑可以同时上内、外网。只不过这种方法是临时设置,重启电脑后路由表被重置,设置就会失效。

若要永久设置路由表启动时生效,就要用小机器人Automator来设置了。

(3)永久设置

Macbook自带的 工具 - 点击Automator打开 - 应用程序 - AppleScript,把上面的设置方法写入脚本,让电脑自动开机运行即可。

 

参考:https://www.jianshu.com/p/807883b2949f

### 回答1: 在Linux系统中,双网卡路由配置是一种极为常见的网络配置,它可以实现针对特定IP网段的访问实现指定网卡的路由。下面,我们来详细探讨一下具体的实现方法。 首先,我们需要在Linux系统里面安装好两张网卡,并分别配置好它们的IP地址、子网掩码、网关等相关信息。 其次,我们需要在Linux系统的路由表中添加一条针对特定IP网段的路由规则。具体实现方法是通过route命令将针对特定IP网段的流量指定走指定网卡。 例如,如果我们想要访问192.168.1.0/24网段的地址走第一张网卡,那么可以使用如下的命令进行设置: route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 其中,192.168.1.0/24表示要访问的特定IP网段,eth0表示指定要走的网卡的名称。 最后,我们需要确保在Linux系统中启用了IP转发功能,以保证流量可以正常转发。可以使用sysctl命令打开IP转发功能,例如: sysctl -w net.ipv4.ip_forward=1 通过以上的配置,就可以实现在Linux系统中实现针对特定IP网段的访问走指定网卡的路由了。 ### 回答2: 在Linux系统中,如果需要使用双网卡进行路由配置并访问特定IP网段,则需要先进行网络接口的配置。可以使用ifconfig或ip命令查看并配置网络接口,这里以eth0和eth1为例。 接着,需要设置两张网卡的默认路由。可以使用route命令设置默认路由,例如设置eth0为默认路由: ``` route add default dev eth0 ``` 然后,在需要访问特定IP网段时,需要根据IP地址的网络号选择使用哪个网卡进行访问。可以使用route命令设置特定IP网段的路由,例如,将172.16.0.0/16网段的数据包从eth1发送出去: ``` route add -net 172.16.0.0/16 dev eth1 ``` 这样,当需要访问172.16.0.0/16网段的IP地址时,就会从eth1发送数据包。 最后,需要在Linux系统中开启IP转发功能。可以使用sysctl命令修改sysctl.conf文件中的net.ipv4.ip_forward配置项,将其设置为1,即可开启IP转发功能: ``` echo 1 > /proc/sys/net/ipv4/ip_forward ``` 需要注意的是,开启IP转发功能可能会存在安全风险,应根据具体情况进行使用。 通过以上配置,就可以实现Linux双网卡路由配置,并且按照指定的网卡访问特定IP网段。 ### 回答3: 使用Linux操作系统的设备可以支持多个网络接口,比如两个或更多的网卡来连接不同的网络,在这种情况下,需要进行路由配置来让设备能够正确的通信。 对于双网卡情况下的路由配置,假设有两个网卡enp1s0和enp2s0,其中enp1s0连接到192.168.1.0/24 网段,enp2s0连接到192.168.2.0/24 网段。现在需要访问192.168.2.0/24 网段时走enp2s0网卡,而其它所有的流量都通过enp1s0网卡通信。可以使用route命令来实现这种双网卡路由配置。具体操作如下: 首先,需要将enp2s0网卡的IP地址设置为192.168.2.1/24,而enp1s0网卡的IP地址设置为192.168.1.1/24,这里以enp2s0网卡为例: $ sudo ip addr add 192.168.2.1/24 dev enp2s0 接着,需要在路由表中添加一个新的路由规则,将目的网段为192.168.2.0/24的流量发送到enp2s0网卡: $ sudo ip route add 192.168.2.0/24 dev enp2s0 最后,需要修改默认路由规则,将除了192.168.2.0/24网段外的所有流量都走enp1s0网卡: $ sudo ip route add default via 192.168.1.1 dev enp1s0 这样,就配置好了Linux双网卡路由配置,可以测试一下是否能够访问192.168.2.0/24网段的设备。 需要注意的是,在配置双网卡路由时,需要避免出现死循环或者重复的路由规则,以免导致网络出现问题。另外,在实际应用中,也可以通过network manager等工具来进行路由配置,以便更加方便和可视化地管理网络接口。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值