嘿,我想弄清楚如何在 http 代理后面使用 openvpn 来引导我的所有流量。
我能够使用与 openvpn 不同的其他技术对于 TCP 连接,但是UDP 不支持在我做这些之前:
1-我顺利地使用 redsocks 引导所有 tcp 连接。但无法为 UDP 做到这一点。2-我使用 ssh 动态隧道并创建了 socks 代理。我将其与 redsocks 一起使用。但仍然无法为 UDP 做到这一点。
所以我考虑使用 openvpn 来获取我的所有流量并使用互联网UDP和TCP宿舍代理后面。
我用了http 代理设置一次使用我的宿舍代理。它可以成功认证和排序,但无法使用互联网。
我用了socks 代理设置使用我的 ssh 动态隧道通过宿舍代理。它可以成功进行身份验证和排序,但无法使用互联网,任何一个。
我强制我的 openvpn 仅使用 TCP,因为我知道使用带有代理的 udp 的限制。
我可以顺利地使用我的 openvpn 服务器连接手机互联网,但无法连接宿舍互联网。
这是我在学校的最后一周,我从未尝试过做任何被禁止的事情。我只是想知道如何度过我的最后一周。如果你能帮忙,我会很感激!
这是我的客户端.ovpn的批评部分。
remote amazon-ec2-ip 443 tcp
route amazon-ec2-ip 255.255.255.255 net_gateway
dev tun
dev-type tun
http-proxy school-proxy-ip 3128 ntlm ntlm // it use ntlm auth. so I prepare ntlm file to auth it, it works dont worry.
http-proxy-timeout 5m
http-proxy-retry
allow-pull-fqdn
redirect-gateway def1
openvpn 是这么说的(只有批评的部分):
Thu Aug 5 11:12:22 2021 ROUTE_GATEWAY 10.10.120.1/255.255.248.0 IFACE=wlp5s0 HWADDR=MY_MAC_ADDRESS
Thu Aug 5 11:12:22 2021 TUN/TAP device tun0 opened
Thu Aug 5 11:12:22 2021 TUN/TAP TX queue length set to 100
Thu Aug 5 11:12:22 2021 /sbin/ip link set dev tun0 up mtu 1500
Thu Aug 5 11:12:22 2021 /sbin/ip addr add dev tun0 172.27.224.54/20 broadcast 172.27.239.255
Thu Aug 5 11:12:27 2021 ROUTE remote_host is NOT LOCAL
Thu Aug 5 11:12:27 2021 /sbin/ip route add SCHOOL-PROXY-IP/32 via 10.10.120.1
Thu Aug 5 11:12:27 2021 /sbin/ip route add 0.0.0.0/1 via 172.27.224.1
Thu Aug 5 11:12:27 2021 /sbin/ip route add 128.0.0.0/1 via 172.27.224.1
Thu Aug 5 11:12:27 2021 /sbin/ip route add AMAZON-EC2-IP**strong text**/32 metric 101 via 10.10.120.1
Thu Aug 5 11:12:27 2021 Initialization Sequence Completed
这是到 8.8.8.8 的跟踪路由
1 172.27.224.1 (172.27.224.1) 57.290 ms 57.311 ms 57.314 ms
2 54.93.0.97 (54.93.0.97) 94.617 ms 54.93.0.171 (54.93.0.171) 94.624 ms 54.93.0.169 (54.93.0.169) 60.720 ms
3 100.65.17.96 (100.65.17.96) 94.636 ms 240.0.92.15 (240.0.92.15) 60.357 ms 100.65.17.0 (100.65.17.0) 94.598 ms
4 240.0.92.18 (240.0.92.18) 60.371 ms 100.66.8.90 (100.66.8.90) 61.530 ms 100.66.8.86 (100.66.8.86) 94.482 ms
5 100.66.10.164 (100.66.10.164) 64.702 ms 100.66.10.34 (100.66.10.34) 65.567 ms 242.1.92.97 (242.1.92.97) 60.323 ms
6 100.95.4.5 (100.95.4.5) 60.569 ms 240.0.92.3 (240.0.92.3) 44.600 ms 100.95.20.5 (100.95.20.5) 44.854 ms
7 100.100.2.100 (100.100.2.100) 44.514 ms 100.100.4.96 (100.100.4.96) 44.780 ms 240.0.92.29 (240.0.92.29) 48.207 ms
8 242.1.92.241 (242.1.92.241) 44.622 ms 142.250.166.10 (142.250.166.10) 82.156 ms 142.250.166.96 (142.250.166.96) 82.126 ms
9 100.95.4.5 (100.95.4.5) 48.917 ms 100.95.4.7 (100.95.4.7) 48.893 ms 100.95.20.8 (100.95.20.8) 48.769 ms
10 8.8.8.8 (8.8.8.8) 48.160 ms 100.100.4.96 (100.100.4.96) 48.705 ms 100.100.6.8 (100.100.6.8) 48.077 ms
编辑:我在 Windows 10 上使用相同的 client.ovpn 文件,而不是 Linux Mint。我在 Windows 10 中运行顺畅。我完全确定,正如您在 davidgo 的评论中看到的那样,这是关于 linux dns 配置的问题。我无法将 openvpn dns 设置覆盖到我的本地网络设置。您知道我该怎么做吗?
答案1
我搞定了!!Linux 和 Windows 之间的 DNS 工作方式不同。在 Windows 中,当我们的 vpn 服务器将 dns 设置推送到 tun0 接口(openvpn 创建)时,它就可以工作了!
在 Windows 中,您可以为不同的适配器设置不同的 DNS 服务器 IP。但在 Linux 中,您只能为每个适配器使用单个 DNS 服务器。
您可以使用 Linux 中 etc/resolve.conf 中写的任何内容作为 DNS 服务器(例如名称服务器 DORM_DNS_SERVER_IP)。
因此您需要覆盖 NetworkManager。通过这三种方法可以实现。别无选择:
1- 安装开放解析(为您的 Linux 下载它。)
2- 编辑/etc/resolveconf.conf(添加名称服务器 DNS_IP_YOU_WANT)
3-edit client.ovpn(将这 2 行添加到 /etc/openvpn/update-resolv-conf 下,将 /etc/openvpn/update-resolv-conf 下)
3.directive 自动使用 openresolve 应用程序和 resolveconf.conf 文件创建新的 resolve.conf。OpenVPN Linux 客户端能够使用内置 openvpn 的 openresolve */etc/openvpn/update-resolv-conf 脚本
如果 /etc/openvpn/update-resolv-conf 不存在,请在互联网上查找并将其粘贴到该目录中。
所以它有效!
我很震惊,因为之前没有人在互联网上谈论过这个。
感谢@davidgo