共计 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 上去
-
通过 mosdns 负责国内外 DNS 分流
-
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 出去
遇到的问题
在实际使用过程中,国内网速正常,但国外网页打开非常慢。以下是已经进行的排查步骤:
-
Mac 上直接使用 fakeip 模式 :
- 正常使用,排除节点速度问题。
-
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
-
局域网内设备使用分配的网关 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
-
局域网内设备指定网关为 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 做网关时分流网速也能正常,希望各位大神能帮忙看看哪里出了问题,感谢!
正文完