修复使用 http 代理的 OpenVPN 客户端的路由以连接到商业 VPN 服务器

修复使用 http 代理的 OpenVPN 客户端的路由以连接到商业 VPN 服务器

在我的 OpenWRT 路由器上,我确实使用了 passwall 和一些互联网绕过审查的代理

为了最大限度地保证家庭互联网的安全性,我使用的是*信誉良好的商业* VPN 产品。但是,由于政府的审查制度非常复杂,它可以使用 DPI 方法阻止普通的 OpenVPN 流量。

因此,我别无选择,只能在 OpenVPN 客户端中使用 http-proxy 来混淆 OpenVPN 客户端 tcp 流量。

此外我需要将免费/未经审查的互联网从 OpenVPN 商业提供商重定向到我连接的家用设备

这就是说我无法实现我的目标,因为一旦 OpenVPN 客户端连接到服务器,服务器端就会将路由和网关配置推送回路由器,并且由于代理服务器过程和OpenVPN客户端进程正在运行同一个OpenWRT设备新推送的路由会与 ProxyServer 进程发生冲突,结果以后也会与 OpenVPN 客户端发生冲突。

因此 OpenVPN 客户端会断开连接并尝试再次重新连接,它失败了,因为推送路线破坏路由器上运行的代理服务器。

有关与我的情况非常相似的更多信息,您可以查阅以下链接,[https://forum.archive.openwrt.org/viewtopic.php?id=50875](链接到几乎相似的问题)

也就是说,我想修改推送的路由,以免破坏代理服务器,请注意在 OpenVPN 服务器端我没有任何控制,因为它是由商业公司提供的。

事实上想要实现以下目标,

一旦 OpenVPN 客户端连接,强制应用和推动的路由更改不应该干扰我的 openWRT 路由器上运行的代理服务器!

因此,我想知道我是否可以隔离 OpenWRT 上的 CPU/OS 环境/或 127.0.0.1,以不受重定向的 OpenVPN 互联网的影响!?

此外,我还尝试过路由无拉动命令客户端配置.ovpn文件,实际上它没有扰乱 OpenWRT 核心默认互联网源,但我不知道如何手动添加路由并重定向创建 tun0 OpenVPN 客户端流量仅发送到连接到br-lan 毫不费力与 OpenWRT 上运行的其他进程。

什么是路由命令/IP 表需要执行的命令tun0接口是否已启动?

连接OpenVPN设备前的路由器netstat如下,

#netstat -rn
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.8.1     0.0.0.0         UG        0 0          0 phy1-sta0
192.168.8.0     0.0.0.0         255.255.255.0   U         0 0          0 phy1-sta0
192.168.55.0    0.0.0.0         255.255.255.0   U         0 0          0 br-lan

注意:路由器 wan 接口为 phy1-sta0,网关为 192.168.8.1,连接的设备位于 br-lan 上的 NAT 后面,同时使用来自DHCP 池范围为 192.168.55.64/26 除了路由器的 IP 地址为 192.168.55.1

#ip route show
default via 192.168.8.1 dev phy1-sta0 proto static src 192.168.8.118
192.168.8.0/24 dev phy1-sta0 proto kernel scope link src 192.168.8.118
192.168.55.0/24 dev br-lan proto kernel scope link src 192.168.55.1

并使用 route-nopull 命令连接 OpenVPN 客户端后,在配置中添加 tun0 ,如下所示,

#netstat -rn 
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.8.1     0.0.0.0         UG        0 0          0 phy1-sta0
10.124.148.0    0.0.0.0         255.255.254.0   U         0 0          0 tun0
192.168.8.0     0.0.0.0         255.255.255.0   U         0 0          0 phy1-sta0
192.168.55.0    0.0.0.0         255.255.255.0   U         0 0          0 br-lan
#ip route show
default via 192.168.8.1 dev phy1-sta0 proto static src 192.168.8.118
10.124.148.0/23 dev tun0 proto kernel scope link src 10.124.148.118
192.168.8.0/24 dev phy1-sta0 proto kernel scope link src 192.168.8.118
192.168.55.0/24 dev br-lan proto kernel scope link src 192.168.55.1

我想知道正确的路线表应该是什么样的?

tun0 启动后我应该应用和运行哪些修改/配置?

顺便问一下,OpenWRT 上运行的进程默认使用哪个接口连接互联网?是 eth0、lan0 还是其他接口?例如,OpenWRT cli 上运行的 traceroute 命令默认使用哪个设备或接口?

相关内容