导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    多网卡网络如何管理?

    Linux
    多网络管理
    6
    9
    3414
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      wanglang LV 5 最后由 编辑

      在arm开发版中,有两张网卡,其中一张WIFI无线wlan0网卡,一张4G移动usb0网卡,两个网卡均可单独连接网络上网。但是同一时间只有一张卡能生效,且为最后一张udhcp启动的网卡。比如先启动了usb0网卡后,有网络。在启动wlan0有网络。使用的就是wlan0,当wlan0 wifi 断开之后,不会自动使用usb0网络,usb0网络也不通。

      wifi使用SDK内置wifi_deman开启的,4g网络使用usb设备连接的。
      如何像手机一样,有WIFI时候自动连接WIFI网络,WIFI网络端口后自动使用4G网络,且优先使用WIFI网络。

      网卡如下

      root@(none):/mnt# ifconfig
      lo        Link encap:Local Loopback  
                inet addr:127.0.0.1  Mask:255.0.0.0
                UP LOOPBACK RUNNING  MTU:65536  Metric:1
                RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1 
                RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      
      usb0      Link encap:Ethernet  HWaddr AE:0C:29:A3:9B:6D  
                inet addr:192.168.43.100  Bcast:192.168.43.255  Mask:255.255.255.0
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:286 errors:0 dropped:0 overruns:0 frame:0
                TX packets:339 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000 
                RX bytes:31441 (30.7 KiB)  TX bytes:28159 (27.4 KiB)
      
      wlan0     Link encap:Ethernet  HWaddr C4:3C:B0:E8:FA:22  
                inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
                UP BROADCAST MULTICAST  MTU:1500  Metric:1
                RX packets:2546 errors:0 dropped:0 overruns:0 frame:0
                TX packets:236 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000 
                RX bytes:517319 (505.1 KiB)  TX bytes:23986 (23.4 KiB)
      

      路由表如下

      root@(none):/mnt# route
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
      default         192.168.43.1    0.0.0.0         UG    0      0        0 usb0
      192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
      192.168.43.0    *               255.255.255.0   U     0      0        0 usb0
      

      DNS如下,为WIFI的DNS

      root@(none):/mnt# cat /etc/resolv.conf
      nameserver 10.1.1.10
      nameserver 10.1.1.8
      
      S A F 3 条回复 最后回复 回复 引用 分享 0
      • S
        smbzd LV 4 @wanglang 最后由 编辑

        @wanglang 或许你可以试下不用udhcp来获取IP。使用ifconfig和route命令手动设置网卡的ip和网关

        1 条回复 最后回复 回复 引用 分享 0
        • F
          fuzhikun LV 5 @wanglang 最后由 编辑

          @wanglang 大哥你好,我也准备开始上4g模块,可以加您的QQ分享一下适配过程吗?

          1 条回复 最后回复 回复 引用 分享 0
          • A
            Alb702 LV 5 @wanglang 最后由 编辑

            @wanglang
            如何理解Wifi优先级?
            我没有使用wifi_deman SDK,也不知道它是如何工作的。 使用常规脚本时,解决方案非常简单

            ...
            udhcpc -i usb0 &
            udhcpc -i wlan0 &

            1 条回复 最后回复 回复 引用 分享 0
            • C
              camperzzz LV 3 最后由 编辑

              学习一下,顶顶顶

              1 条回复 最后回复 回复 引用 分享 0
              • D
                dream LV 6 最后由 编辑

                @wanglang 在 多网卡网络如何管理? 中说:

                route

                应该可以通过修改 route 来解决,检测到当前网络无法联通互联网的时候,修改 route 来切换,可以试试?

                W 1 条回复 最后回复 回复 引用 分享 0
                • W
                  wanglang LV 5 @dream 最后由 编辑

                  @dream @smbzd @fuzhikun @Alb702 @camperzzz 感谢各位。
                  是的,本质上是修改路由表和DNS,这里采用了一种简单方法。

                  1. 判断当前的网络工作状态。如果是wifi wlan0网口工作, 判断 ping ip -I wlan0 当网口不通时候,刷新 usb0的网口 udhcpc -i usb0 ,会刷新route路由表和 usb0的DNS文件/etc/resolve.conf,使得usb0工作,并设置工作状态为4g usb0。
                  2. wifi_deman中设置wifi会自动重连,当wifi连接成功(账号连接或者断开重连)后。再进行一次wlan0的路由刷新和DNS刷新。切换为WIFI工作。
                    顺便,再route路由表中
                    虽然两个优先级Metric都是0,但是由于udhcpc刷新了route和DNS,所以只有排在前面的一个网口以及对应网关gateway到DNS中的一个网口会工作。
                  D 2 条回复 最后回复 回复 引用 分享 0
                  • D
                    dream LV 6 @wanglang 最后由 编辑

                    @wanglang 赞。👍 👍

                    1 条回复 最后回复 回复 引用 分享 0
                    • D
                      dream LV 6 @wanglang 最后由 编辑

                      @wanglang 赞。👍 👍

                      1 条回复 最后回复 回复 引用 分享 0
                      • 1 / 1
                      • First post
                        Last post

                      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                      行为准则 | 用户协议 | 隐私权政策