mosdns 域名分流+OSPF IP 分流遇到网速问题求助

8次阅读

共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。

网络拓扑结构

  • ROS 主路由 : 192.168.21.1

    • 负责 DHCP 和路由
    • 默认的国内路由
    • 从 Debian 广播过来的国外路由(已经排除节点 IP)
  • Debian 旁路由 : 192.168.21.49

    • 通过 mosdns 负责国内外 DNS 分流

      • mosdns 监听端口: 5335
      • adguardhome 监听端口: 53
    • bird2 广播国外 IPv4 和 IPv6 路由,下一跳为 tun0
    • tun0 上启用 tun2socks,指向 Mac 上的 socks5 代理 (192.168.21.2:6153)
    • 现在链路很长,等错误排查后会把 Debian 的能力分摊到 ROS 容器化 mosdns 和 Mac 的 tun 上去
  • Mac: 192.168.21.2

    • xray 起了一个 socks5 代理 (192.168.21.2:6153)

网络配置

  • ROS 的 DHCP:

    • 下发网关: 192.168.21.1
    • DNS: 192.168.21.49
  • 国内网址访问 :

    • mosdns 分流到阿里 DNS 解析出国内 IP
    • 通过 pppoe 网关直接出去
  • 国外网址访问 :

    • mosdns 分流到谷歌 DNS 解析出国外 IP
    • 命中 OSPF 动态路由
    • 经过 Debian 的 eth0 和 tun0,再到 Mac 的 en0
    • 通过 socks5 代理转成访问节点 IP 的流量,节点 IP 的路由从网关的 pppoe 出去

遇到的问题

在实际使用过程中,国内网速正常,但国外网页打开非常慢。以下是已经进行的排查步骤:

  1. Mac 上直接使用 fakeip 模式 :

    • 正常使用,排除节点速度问题。
  2. Debian 上直接使用 curl:

    • 速度正常,排除 socks2tun 的性能问题。
    curl -o /dev/null -s -w "DNS Lookup Time: %{time_namelookup}nConnect Time: %{time_connect}nPre-transfer Time: %{time_pretransfer}nStart Transfer Time: %{time_starttransfer}nTotal Time: %{time_total}n" https://www.google.com
    DNS Lookup Time: 0.003929
    Connect Time: 0.004312
    Pre-transfer Time: 0.595990
    Start Transfer Time: 0.896633
    Total Time: 0.955273
    
  3. 局域网内设备使用分配的网关 192.168.21.1:

    • 国外网页速度慢。
    curl -o /dev/null -s -w "DNS Lookup Time: %{time_namelookup}nConnect Time: %{time_connect}nPre-transfer Time: %{time_pretransfer}nStart Transfer Time: %{time_starttransfer}nTotal Time: %{time_total}n" https://www.google.com
    DNS Lookup Time: 0.007470
    Connect Time: 0.008478
    Pre-transfer Time: 5.785127
    Start Transfer Time: 6.088621
    Total Time: 6.281218
    
  4. 局域网内设备指定网关为 192.168.21.49:

    • 国外网页速度恢复正常。
    curl -o /dev/null -s -w "DNS Lookup Time: %{time_namelookup}nConnect Time: %{time_connect}nPre-transfer Time: %{time_pretransfer}nStart Transfer Time: %{time_starttransfer}nTotal Time: %{time_total}n" https://www.google.com
    DNS Lookup Time: 0.003851
    Connect Time: 0.004212
    Pre-transfer Time: 0.490562
    Start Transfer Time: 0.670804
    Total Time: 0.734074
    

我想做到在使用 ROS 做网关时分流网速也能正常,希望各位大神能帮忙看看哪里出了问题,感谢!

正文完
 0