AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 18599
In Process
sharjeel
sharjeel
Asked: 2010-12-24 02:52:52 +0800 CST2010-12-24 02:52:52 +0800 CST 2010-12-24 02:52:52 +0800 CST

拨入多个 PPP 连接

  • 772

我有多个基于 3G USB 的调制解调器。我希望他们同时保持连接,而不一定要聚合他们的带宽;一个单独的智能应用程序将有效地管理它们的使用。

但是,我遇到了为 ppp0、ppp1 接口设置正确路由的问题:当其中一个接口连接时,路由表中的其他条目会更新,因此不再可用。如果我重新连接第二个,它将覆盖第一个的路由条目。如果我一遍又一遍地这样做,有时它们的条目都会消失,而在极少数情况下两者都可以正常工作。

我已经使用 NetworkManager 和 WVDial 尝试过,但是这两种方法都出现了问题。也许他们俩都在后端使用相同的 PPP 拨号程序,这就是出现此问题的原因。

使它们一起工作的正确解决方案是什么?从长远来看,我还希望他们在 USB 连接后自动拨入。

networking network-manager modem-manager ppp
  • 2 2 个回答
  • 2663 Views

2 个回答

  • Voted
  1. Mathieu Trudel-Lapierre
    2011-04-21T12:00:57+08:002011-04-21T12:00:57+08:00

    您可能希望尝试通过简单的调整来配置您的移动连接:选中将此连接仅用于其网络上的资源复选框,不幸的是它隐藏得有点远:

    在连接设置下,转到 IPv4 选项卡,单击路由按钮,然后选中该对话框中的最后一个复选框。

    未经测试,但大致应该发生的是,每个pppX设备都应该通过每个提供商的网络启用正确的路由,但默认路由不应设置为通过其中任何一个。

    然后,您应该能够编写一个简单的脚本,例如,从每个接口 ping 同一个服务器并选择最快的一个来设置默认路由;就像是:

    route_candidate=$(
    for iface in `ifconfig -a | grep ppp | awk '{print $1; }'`; do
        echo $iface = `ping -I $iface -c 1 -q 8.8.8.8 | grep avg | awk -F/ '{print $5;}'`
    done | sort -k 3 -rn | head -n 1
    )
    
    logger "Setting new route from candidate: $route_candidate"
    
    ip route del default
    ip route add default dev `echo $route_candidate | awk '{print $1;}'`
    

    我没有完全测试这个,但大致是需要做的;添加或修改使用“通过whatever_the_default_gw_ip_is”作为ip route add default命令。定期用 cron 运行它,你就有了一个便宜的系统,可以保持在“最快”的 ISP 上。

    • 1
  2. Ryan Lucas Dubhan
    2020-06-26T08:18:25+08:002020-06-26T08:18:25+08:00

    我也有连接到多个加密狗的问题。我可以一次初始化与一个路由器的连接,但不能同时初始化两者。您是要连接到互联网还是第二次连接失败?(请在这里也告诉我->为什么 NetworkManager 不能处理超过一个 3g 加密狗)

    使用 iproute2 创建单独的 IP 表可能会有所帮助。

    /etc/iproute2/rtc_tables只需在末尾添加以下内容即可编辑文件 :

    1      ppp0
    2      ppp1
    

    重新启动守护程序以加载新配置。然后您可以使用在 ip-up 事件上运行的脚本,例如 ip-up.local。像这样的东西可能会起作用:

    ##export variables
    export ip4_address_0=$IP4_ADDRESS_0
    export iface=$IFACE
    export gateway=$IP4_GATEWAY
    
    ##generate clean IP
    ip=`echo "$ip4_address_0" | cut -d"." -f1-4 | cut -f 1 -d "/"`
    ##generate ip for subnet
    baseip=`echo "$ip" | cut -d"." -f1-3`
    
    if [[ "$iface" == "ppp0" ]] ; then
            TABLE=ppp0
    elif [[ "$iface" == "ppp1" ]] ; then
            TABLE=ppp1
    fi
    
    ##In my case I needed to add 2 defaults using weights, everything else failed 
    /usr/sbin/ip route add default scope global nexthop via "$gateway" dev "$iface" weight 1 nexthop via $baseip.0/24 dev "$iface" weight 2 table "$TABLE"
    /usr/sbin/ip route add "$baseip.0/24" dev "iface" table "$TABLE"
    /usr/sbin/ip route add default via "$gateway" dev "$iface" table "$TABLE"
    /usr/sbin/ip rule add from "$ip/32" table "$TABLE"
    /usr/sbin/ip rule add to "$ip/32" table "$TABLE"
    

    希望对您有所帮助....也许您也可以帮助我(为什么 NetworkManager 不能处理多个 3g 加密狗)

    • 0

相关问题

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 如何设置默认启用网络?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve