Ubuntu18.04配置双网卡上网

 

由于工作原因,需要同时使用有线和无线网卡
无线网卡访问外网,有线网卡访问内网

比如:
有线网卡的ip地址为172.1.2.3,子网掩码为255.255.255.0
无线网卡的ip地址为192.168.1.111,子网掩码为255.255.255.0

如果只是想通过无线网卡访问外网,那么只需要提高无线网卡的优先级即可。
那我们使用命令:

ip route show

查看路由表如下:

default via 192.168.1.1 dev enx2 proto dhcp metric 600 
default via 172.1.2.1 dev enp4 proto dhcp metric 100 
172.1.2.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100 
192.168.1.0/24 dev enx2 proto kernel scope link src 192.168.1.111 metric 600

其中enx2是我的无线网卡设备名,enp4是我的有线网卡设备名
可以看到,有线网卡是通过网关172.1.2.1默认访问网络的,它的跃点(metric)为100
而无线网卡是通过网关192.168.1.1默认访问网络的,它的跃点(metric)为600

由于系统会优先选择跃点较低的网卡进行连接,所谓网络请求都走了有线网卡
那么我们只需要把有线网卡的跃点设置更高,就会降低其优先级。
可执行命令:

sudo ip route del default via 172.1.2.1 dev enp4 proto dhcp metric 100
sudo ip route add default via 172.1.2.1 dev enp4 proto dhcp metric 1000

或者直接删除有线网卡的默认路由设置:

sudo ip route del default via 172.1.2.1 dev enp4 proto dhcp metric 100

既可改为使用无线网卡访问网络。

这样一来,除了172.1.2.0/24以外的网络连接都会走无线网卡
但我还想让其他内部的子网172.1.3.0也走有线网卡
那么我可以添加子网路由信息:

sudo ip route add 172.1.3.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100

或者直接添加ip路由信息:

sudo ip route add 172.1.4.1 dev enp4 proto kernel scope link src 172.1.2.3 metric 100

最终的我路由配置为:

default via 192.168.1.1 dev enx2 proto dhcp metric 600 
172.1.2.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100 
172.1.3.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100
172.1.4.1 dev enp4 proto kernel scope link src 172.1.2.3 metric 100
192.168.1.0/24 dev enx2 proto kernel scope link src 192.168.1.111 metric 600

那么我的电脑就会:
通过有线网卡访问172.1.2.0/24和172.1.3.0/24两个子网内的设备
通过有线网卡访问172.1.4.1这一单独的设备
其他连接均通过无线网卡进行访问。

大功告成!

你可能感兴趣的:(Linux,Ubuntu,路由,linux,ubuntu,网络)