多个网络接口问题

多个网络接口问题

我有两个 3G USB 调制解调器(或一个 USB 调制解调器和任何其他网络接口 -ethwlan)。

我通过创建 IP 规则并为每个接口添加路由来连接两个接口,如下所示:

sb="ip/subnet"
ifn="network interface (ppp0, eth0..etc)"
ipo="interface ip"

ip route add "$sb" dev "$ifn" src "$ipo" table "$tbl"
ip route add "$sb" dev "$ifn" src "$ipo"
ip route add default via "$gw" table "$tbl" 
ip rule add from "$ipo" table "$tbl"
ip rule add to "$ipo" table "$tbl"

两个接口均已连接,并且每个接口均独立地以全速连接。当我尝试同时使用两个界面下载时,问题就出现了:

  1. 打开终端并在第一个界面开始下载:

     curl --interface ppp0 "$URL" -o /dev/null
    
  2. 打开另一个终端,在第二个界面开始下载:

     curl --interface ppp1 "$URL" -o /dev/null 
    

问题是,当两个命令一起运行时,两个接口都会变慢,第一个接口以 1.5MBps 的速度启动,当下一个命令启动时,第一个接口的速度开始下降。反之亦然,当第二个界面首先启动时,速度会在第一个界面启动时下降。

就像自动负载平衡发生一样。我尝试使用内核参数rp_filterarp_filter.

需要明确的是,我不需要负载平衡,只需要每个接口独立运行以实现同时连接。

谢谢!

更新

即使每个接口位于不同的网络命名空间,它们在同时运行时也会影响彼此的速度。

相关内容