我使用openvpn连上了,但是无法通过通道访问外网,如何将所有流量导向通道?
我的路由表是这样。
└─(22:35:36)──> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.1.9 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.11.1 0.0.0.0 UG 0 0 0 enp3s0
0.0.0.0 192.168.11.1 0.0.0.0 UG 1002 0 0 enp3s0
10.1.1.0 10.8.1.9 255.255.255.0 UG 0 0 0 tun0
10.8.1.0 10.8.1.9 255.255.255.0 UG 0 0 0 tun0
10.8.1.1 10.8.1.9 255.255.255.255 UGH 0 0 0 tun0
10.8.1.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.8.1.9 128.0.0.0 UG 0 0 0 tun0
183.26.225.195 192.168.11.1 255.255.255.255 UGH 0 0 0 enp3s0
192.168.11.0 0.0.0.0 255.255.255.0 U 100 0 0 enp3s0
192.168.11.0 0.0.0.0 255.255.255.0 U 1002 0 0 enp3s0
离线
ip r 看看。route 这个命令太老了。
离线
└─(13:24:02)──> ip r
0.0.0.0/1 via 10.8.1.9 dev tun0
default via 192.168.11.1 dev enp3s0 proto dhcp metric 100
default via 192.168.11.1 dev enp3s0 proto dhcp src 192.168.11.142 metric 1002
10.1.1.0/24 via 10.8.1.9 dev tun0
10.8.1.0/24 via 10.8.1.9 dev tun0
10.8.1.1 via 10.8.1.9 dev tun0
10.8.1.9 dev tun0 proto kernel scope link src 10.8.1.10
128.0.0.0/1 via 10.8.1.9 dev tun0
183.26.225.195 via 192.168.11.1 dev enp3s0
192.168.11.0/24 dev enp3s0 proto kernel scope link src 192.168.11.141 metric 100
192.168.11.0/24 dev enp3s0 proto dhcp scope link src 192.168.11.142 metric 1002
我用traceroute看过,流量好像也没错,google是走的隧道那头出去的。但为什么上不了呢?
└─(16:05:16)──> traceroute baidu.com ──(二,3月29)─┘
traceroute to baidu.com (220.181.38.148), 30 hops max, 60 byte packets
1 10.8.1.1 (10.8.1.1) 7.888 ms 10.655 ms *
2 10.1.1.1 (10.1.1.1) 13.500 ms 16.492 ms 20.011 ms
3 183.26.224.1 (183.26.224.1) 25.233 ms * 27.971 ms
4 113.98.152.85 (113.98.152.85) 35.138 ms 35.661 ms 45.133 ms
5 * * *
6 202.97.22.162 (202.97.22.162) 92.451 ms 91.494 ms 202.97.22.170 (202.97.22.170) 95.348 ms
7 36.110.248.214 (36.110.248.214) 94.174 ms 36.110.248.6 (36.110.248.6) 93.707 ms 36.110.245.38 (36.110.245.38) 91.657 ms
└─(16:11:38)──> traceroute google.com 130 ↵ ──(二,3月29)─┘
traceroute to google.com (172.217.163.46), 30 hops max, 60 byte packets
1 10.8.1.1 (10.8.1.1) 7.313 ms 10.360 ms 13.743 ms
2 10.1.1.1 (10.1.1.1) 16.756 ms 19.731 ms 22.724 ms
3 10.10.10.2 (10.10.10.2) 80.451 ms 83.807 ms *
4 140.91.214.27 (140.91.214.27) 178.652 ms 181.206 ms 140.91.214.25 (140.91.214.25) 183.976 ms
5 115.92.252.66 (115.92.252.66) 187.455 ms 191.230 ms 194.215 ms
6 121.78.89.145 (121.78.89.145) 197.189 ms 115.92.252.65 (115.92.252.65) 193.842 ms *
7 1.208.176.89 (1.208.176.89) 195.114 ms 192.145.251.168 (192.145.251.168) 224.745 ms 225.026 ms
8 * 108.170.242.144 (108.170.242.144) 180.737 ms 108.170.242.112 (108.170.242.112) 181.728 ms
最近编辑记录 gzroc (2022-03-29 16:17:50)
离线
是啊,没有问题呢。
「上不了」是哪里上不了,具体你看到了什么呢?
离线
是啊,没有问题呢。
「上不了」是哪里上不了,具体你看到了什么呢?
无法打开网页,ping 不通。
离线
「ping 不通」的具体现象截个图吧。另外 traceroute 一下它。
离线
「ping 不通」的具体现象截个图吧。另外 traceroute 一下它。
[root@Archlinux openvpn]# ping youtube.com
PING youtube.com (108.160.161.83) 56(84) 字节的数据。
^C
--- youtube.com ping 统计 ---
已发送 21 个包, 已接收 0 个包, 100% packet loss, time 20270ms
[root@Archlinux openvpn]# traceroute youtube.com
traceroute to youtube.com (108.160.161.83), 30 hops max, 60 byte packets
1 10.8.1.1 (10.8.1.1) 15.306 ms 17.396 ms 20.627 ms
2 10.1.1.1 (10.1.1.1) 24.392 ms 26.998 ms 30.725 ms
3 10.10.10.2 (10.10.10.2) 86.251 ms * *
4 140.91.214.29 (140.91.214.29) 162.910 ms 140.91.214.7 (140.91.214.7) 167.499 ms *
5 121.78.40.254 (121.78.40.254) 168.994 ms 172.988 ms 174.664 ms
6 121.78.40.253 (121.78.40.253) 177.722 ms 173.195 ms 173.609 ms
7 203.246.169.119 (203.246.169.119) 176.964 ms 176.189 ms 176.440 ms
8 121.78.40.58 (121.78.40.58) 177.422 ms 140.770 ms 125.245 ms
9 121.78.40.58 (121.78.40.58) 125.489 ms !N 133.002 ms !N 137.015 ms !N
[root@Archlinux openvpn]#
就是上面这样。
IP ROUTE的结果是这样
[root@Archlinux openvpn]# ip route
0.0.0.0/1 via 10.8.1.5 dev tun0
default via 192.168.11.1 dev enp3s0 proto dhcp metric 100
default via 192.168.11.1 dev enp3s0 proto dhcp src 192.168.11.142 metric 1002
10.1.1.0/24 via 10.8.1.5 dev tun0
10.8.1.0/24 via 10.8.1.5 dev tun0
10.8.1.1 via 10.8.1.5 dev tun0
10.8.1.5 dev tun0 proto kernel scope link src 10.8.1.6
128.0.0.0/1 via 10.8.1.5 dev tun0
183.26.242.100 via 192.168.11.1 dev enp3s0
192.168.11.0/24 dev enp3s0 proto kernel scope link src 192.168.11.141 metric 100
192.168.11.0/24 dev enp3s0 proto dhcp scope link src 192.168.11.142 metric 1002
[root@Archlinux openvpn]#
离线
呃,我也 traceroute 了一下,这个 108.160.161.83 确实不通。!N 是网络不可达的意思,你能看到的最后一跳是韩国互联网交换中心,也就是你的 VPN 对端的网络的出去所使用的路由器。
然后我查了一下这个 IP 的归属信息,这是 Dropbox 的啊——说明你的 DNS 结果被污染了。
既然你决定全走 VPN,那么你把你的 DNS 服务器换成 1.1.1.1 或者 8.8.8.8 吧(修改 /etc/resolv.conf 就可以,如果没有别的网络管理器又给改回去的话)。
离线
呃,我也 traceroute 了一下,这个 108.160.161.83 确实不通。!N 是网络不可达的意思,你能看到的最后一跳是韩国互联网交换中心,也就是你的 VPN 对端的网络的出去所使用的路由器。
然后我查了一下这个 IP 的归属信息,这是 Dropbox 的啊——说明你的 DNS 结果被污染了。
既然你决定全走 VPN,那么你把你的 DNS 服务器换成 1.1.1.1 或者 8.8.8.8 吧(修改 /etc/resolv.conf 就可以,如果没有别的网络管理器又给改回去的话)。
你说的没错,我再补充介绍一下我的网络结构。
我现在是使用openvpn跳回家里的网络再出去,家里的网络我是有做流量和dns分流的,确实有一条隧道连接了我家ros和韩国那边的ros,策略是如果要访问的是国内网站就走电信网关,用电信的DNS,如果出国就走将流量导向隧道,从另一头韩国的ros出去,dns也是走向韩国ros去解析,韩国ros的dns我设置的是8.8.8.8,
另外,我使用同一个的.ovpn文件,我在iphone上是可以正常跳回家并通过家里的网络分流,自动选择从电信网关或是隧道出去,能正常打开youtube等网站的,但在arch上却没法打开youtube等网站,能正常跳回家的内网,访问内网机器,我尝试traceroute百度和谷歌,也确实看到是按照我分流的策略走的。
我之所以决定全走VPN是因为我回家后,再通过我家里的ROS去做分流决定流量和DNS走向,这样可以实现我出国的目的。
不知我表达清楚了没,请版主指点。
最后,我能力有限,还没搞明白如何修改arch的dns,你说的修改/etc/resolv.conf文件是即时生效的吗?是一次生效还是永久生效?修改完是不是就等于重新配置了DNS服务器?我还需不需要重启systemctl的什么服务?
为什么手机连回去能正常出去,而arch却不能出去?
顺便问下,!N是网络不可达,那中间的* * *是什么意思呢?
最近编辑记录 gzroc (2022-03-30 23:06:50)
离线
我又traceroute google.com,没有出现网络不可达了。
[root@Archlinux openvpn]# traceroute google.com
traceroute to google.com (142.251.42.238), 30 hops max, 60 byte packets
1 10.8.1.1 (10.8.1.1) 6.884 ms 9.785 ms 13.612 ms
2 10.1.1.1 (10.1.1.1) 16.553 ms 19.504 ms 22.488 ms
3 10.10.10.2 (10.10.10.2) 79.016 ms 81.953 ms 84.932 ms
4 140.91.214.30 (140.91.214.30) 175.847 ms 140.91.214.25 (140.91.214.25) 178.287 ms 181.210 ms
5 115.92.252.66 (115.92.252.66) 183.821 ms 185.755 ms 189.318 ms
6 121.78.89.145 (121.78.89.145) 191.750 ms 115.92.252.65 (115.92.252.65) 190.956 ms 121.78.89.145 (121.78.89.145) 191.970 ms
7 1.213.150.113 (1.213.150.113) 192.525 ms 191.462 ms 192.145.251.168 (192.145.251.168) 225.389 ms
8 108.170.242.146 (108.170.242.146) 232.273 ms 1.208.165.5 (1.208.165.5) 147.374 ms 161.132 ms
9 203.252.13.22 (203.252.13.22) 210.922 ms 209.85.244.37 (209.85.244.37) 189.133 ms 209.85.244.35 (209.85.244.35) 125.669 ms
10 * 1.208.148.206 (1.208.148.206) 165.521 ms 182.841 ms
11 74.125.118.154 (74.125.118.154) 184.403 ms * 72.14.235.147 (72.14.235.147) 191.088 ms
12 * * *
13 142.250.224.228 (142.250.224.228) 223.880 ms 72.14.239.100 (72.14.239.100) 224.453 ms 74.125.253.92 (74.125.253.92) 194.271 ms
14 108.170.241.79 (108.170.241.79) 209.355 ms 223.601 ms *
15 209.85.142.121 (209.85.142.121) 188.100 ms 216.239.62.165 (216.239.62.165) 177.501 ms 209.85.242.125 (209.85.242.125) 196.469 ms
16 172.253.50.221 (172.253.50.221) 210.129 ms 201.154 ms tsa01s11-in-f14.1e100.net (142.251.42.238) 200.926 ms
[root@Archlinux openvpn]#
离线
我又测试了下,我用手机访问www.google.com,查看了对端ros的dns缓存,发现www.google.com的IP是216.58.220.100,又在arch上ping www.google.com发现IP是202.160.128.16(不通),是不是能说明dns被污染?
我如何验证我的在arch上访问www.google.com,到底DNS是不是走了隧道到韩国ROS去做DNS解析?走电信DNS肯定是被污染了,如果有走隧道应该不会被污染。有没有像traceroute类似的命令,可以看到dns从哪到哪去解析?
最近编辑记录 gzroc (2022-03-30 23:19:12)
离线
202.160.128.16 是 Twitter 的地址,所以确实不对。
你 cat /etc/resolv.conf 里能看到你当前使用的 DNS 服务器(如果不是 127.0.0.1 的话)。你可以 traceroute 一下它。对这个文件的修改是即时生效的,最多你重新打开你的程序。
traceroute 的星号表示没收到回应(丢包了)。有些路由器是不喜欢回复 traceroute,有时候则是网络不通。
离线
202.160.128.16 是 Twitter 的地址,所以确实不对。
你 cat /etc/resolv.conf 里能看到你当前使用的 DNS 服务器(如果不是 127.0.0.1 的话)。你可以 traceroute 一下它。对这个文件的修改是即时生效的,最多你重新打开你的程序。
traceroute 的星号表示没收到回应(丢包了)。有些路由器是不喜欢回复 traceroute,有时候则是网络不通。
我cat /etc/resolv.conf这个文件,里面是我当前路由器的网关。
naneserver 192.168.*.1
我是不是可以理解为,这里设置的是192.168.*.1,等于把DNS解析交给了我目前的路由器192.168.*.1,路由器上面是自动获取电信的dns,那就会使用电信的DNS来解析,自然就被污染了,应该让dns解析也和流量一样跳回我家里去解析,我家里再通过配置的策略导向韩国ROS去解析,是不是这样子?如果上面成立,那么应该我机器目前的resolv.conf修改为什么呢?是10.8.1.1?还是10.1.1.1?
最近编辑记录 gzroc (2022-03-31 13:00:44)
离线
是的。你可以修改成你喜欢的,比如 1.1.1.1 或者 8.8.8.8。
离线
是的。你可以修改成你喜欢的,比如 1.1.1.1 或者 8.8.8.8。
改完它一样ping不通,应该是DNS没有跳回去解析,如何查看DNS解析的路由呢?
离线