双网卡同时连接同网段不同网络实现多链路并发上网的可行性咨询
双网卡同时连接同网段不同网络实现多链路并发上网的可行性咨询
首先明确说——是可以实现的,但你的场景有个核心冲突点:两个网卡用了完全相同的IP和网段配置,系统默认只会优先选择其中一块网卡来处理所有流量,另一块相当于“闲置”状态。所以得先调整配置,再通过策略路由和合适的工具来实现多链路并发。
第一步:解决同IP冲突,调整网卡配置
你的两块网卡目前IP、网关、子网掩码完全一致,这是系统无法同时利用它们的核心原因。先给其中一块网卡换个同网段的不同IP:
- 打开Kubuntu的「系统设置」→「网络」,找到对应的WiFi连接,点击「编辑连接」
- 在「IPv4设置」里,把方法改成「手动」,给这块网卡设置比如
192.168.1.21(和另一块的192.168.1.20区分开),子网掩码保持255.255.255.0,网关填对应的路由器IP192.168.1.1(虽然网关IP一样,但实际是两个不同的物理路由器) - 保存配置后重新连接WiFi
第二步:配置策略路由,让系统同时识别两条链路
系统默认只有一张全局路由表,我们需要给每个网卡创建独立的路由表,让不同IP发出的流量走对应网卡:
先查看你的网卡名称,执行命令:
ip link show通常WiFi网卡会叫
wlan0、wlan1这类名字。新增自定义路由表:
编辑/etc/iproute2/rt_tables文件(需要sudo权限),在末尾添加两行:100 wlan0_table 101 wlan1_table这里的
100、101是路由表编号,wlan0_table是表名,对应你的网卡名来取就行。给每个路由表添加默认路由:
sudo ip route add default via 192.168.1.1 dev wlan0 table wlan0_table sudo ip route add default via 192.168.1.1 dev wlan1 table wlan1_table添加规则,绑定IP到对应路由表:
sudo ip rule add from 192.168.1.20 table wlan0_table sudo ip rule add from 192.168.1.21 table wlan1_table上面的命令是临时生效的,重启后会消失。要永久保存的话,可以把这些命令写到一个脚本里,比如
/etc/networkd-dispatcher/routable.d/dual_wifi_routes,然后给脚本加执行权限:sudo chmod +x /etc/networkd-dispatcher/routable.d/dual_wifi_routes
第三步:用支持多连接的工具实现并发下载
完成上面的配置后,系统已经能同时通过两块网卡对外发送流量,但普通下载工具默认只会用一个IP发起连接。要实现分流提速,需要用支持多连接分块下载的工具:
- 比如命令行工具
aria2c,可以指定多个网卡接口来发起下载:
它会自动从两个网卡的IP发起多个连接,分块下载文件,合并后得到完整内容。aria2c --interface=wlan0 --interface=wlan1 https://example.com/large_file.iso - 图形界面的话,可以用浏览器插件如DownThemAll,配合系统的多路由设置,也能实现多连接下载。
额外注意事项
- ARP冲突问题:因为两个网关IP相同,系统可能会出现ARP地址解析混乱,导致流量走不对网卡。解决方法是给每个网卡绑定对应路由器的MAC地址:
把sudo ip neigh add 192.168.1.1 lladdr AA:BB:CC:DD:EE:FF dev wlan0AA:BB:CC:DD:EE:FF换成你对应路由器的MAC地址,另一块网卡同理绑定另一个路由器的MAC。 - Network Manager自动覆盖:确保两块网卡都设置为手动IP模式,不要用DHCP,避免Network Manager自动生成的路由覆盖我们自定义的策略路由。
回到你的核心问题:Network Manager默认做不到像路由器那样自动整合多链路提速,需要手动调整IP配置、设置策略路由,再配合支持多连接的下载工具,才能实现同时利用两个网络提升下载速度。
备注:内容来源于stack exchange,提问作者SaidbakR




