Linux双网卡配置双路由指南
在Linux系统中配置双网卡以实现基于不同路由策略的网络访问,是一个常见的需求,特别是在需要同时连接多个网络或者进行特定网络流量管理的场景中。本文将详细介绍如何在Linux系统中配置有线网卡A和无线网卡B,分别通过不同的网关访问不同的网络。
环境设定
有线网卡A:
IP地址:假设为自动获取或手动配置(本例中不具体说明IP,但确保可以通信)
网关:10.0.0.1
子网掩码:255.0.0.0
无线网卡B:
IP地址:假设为自动获取或手动配置(本例中不具体说明IP,但确保可以通信)
网关:192.168.0.1
子网掩码:255.255.0.0
路由策略:
172.x.x.x 和 10.x.x.x 网段的数据通过网卡A路由
192.x.x.x 网段(包括外网)的数据通过网卡B路由
步骤一:配置网络接口
首先,确保两个网卡都已经正确配置并能够各自访问其网关。你可以通过ip addr
命令查看当前网络接口的配置。
ip addr show
如果需要手动配置IP地址和网关,可以使用ip
命令或修改网络配置文件(具体取决于你的Linux发行版)。
步骤二:添加静态路由
使用ip route
命令来添加静态路由规则。这些规则将决定哪些网络流量通过哪个网卡发送。
- 添加默认路由通过无线网卡B(假设这是外网访问的主要路由):
sudo ip route add default via 192.168.0.1 dev wlan0
注意:wlan0
是无线网卡的常见名称,实际使用时请替换为你的无线网卡名称(可以使用ip link
查看)。
- 为特定网段添加特定路由通过有线网卡A:
sudo ip route add 172.0.0.0/8 via 10.0.0.1 dev eth0
sudo ip route add 10.0.0.0/8 via 10.0.0.1 dev eth0
注意:eth0
是有线网卡的常见名称,实际使用时请替换为你的有线网卡名称。
步骤三:持久化路由配置
上述命令在系统重启后会失效。为了使这些路由配置持久化,你需要将它们添加到网络配置文件中。不同的Linux发行版有不同的配置文件位置和方法。
对于Debian/Ubuntu系:
编辑/etc/network/interfaces
文件(如果系统使用ifupdown
作为网络管理工具):
auto eth0iface eth0 inet static address YOUR_ETH0_IP netmask 255.0.0.0 gateway 10.0.0.1 up ip route add 172.0.0.0/8 via 10.0.0.1 dev eth0 up ip route add 10.0.0.0/8 via 10.0.0.1 dev eth0auto wlan0iface wlan0 inet dhcp gateway 192.168.0.1 up ip route add default via 192.168.0.1 dev wlan0
注意:上述配置中的YOUR_ETH0_IP
需要替换为有线网卡A的实际IP地址,且wlan0
使用DHCP获取IP(或手动配置)。
对于Red Hat/CentOS系:
编辑对应的网络脚本文件,如/etc/sysconfig/network-scripts/ifcfg-eth0
和/etc/sysconfig/network-scripts/ifcfg-wlan0
,并添加或修改以下内容:
# ifcfg-eth0DEVICE=eth0BOOTPROTO=staticONBOOT=yesIPADDR=YOUR_ETH0_IPNETMASK=255.0.0.0GATEWAY=10.0.0.1# Add route rules via a separate script or NetworkManager dispatcher# ifcfg-wlan0DEVICE=wlan0BOOTPROTO=dhcpONBOOT=yesGATEWAY=192.168.0.1# Note: Default gateway should be set via NetworkManager or route rules
然后,使用NetworkManager的dispatcher脚本或其他方法添加路由规则。
步骤四:验证配置
最后,重启网络服务或使用ip route
命令验证路由规则是否已正确应用:
ip route show
确保看到类似以下的输出,表明规则已正确设置:
default via 192.168.0.1 dev wlan0 10.0.0.0/8 via 10.0.0.1 dev eth0 172.0.0.0/8 via 10.0.0.1 dev eth0 192.168.0.0/16 dev wlan0 proto kernel scope link src 192.168.0.XXX
至此,你已经成功在Linux系统中配置了双网卡双路由策略。现在,系统会根据定义的规则,通过不同的网卡路由不同的网络流量。