我读过这个问题并想做一些稍微不同的事情:
如何在 HTTP 和 HTTPS 代理后使用 OpenVPN?
我有一些本地服务,我想通过 OpenVPN 连接到互联网。我不想将我的整个堆栈发送到那里,所以显而易见的方法似乎是运行一个可以像 HTTP 代理一样连接的 OpenVPN 服务器:
服务(机器 1)=> HTTP 代理(机器 2)=> OpenVPN 客户端(机器 2)=> ProntonVPN => Internet
我该怎么做?我找到的每个指南都已切换了 OpenVPN 和 HTTP 代理。
如果有任何相关性,那么每台相关的机器都在运行 Arch。
答案1
要安装 OpenVPN,请使用以下命令:https://github.com/Nyr/openvpn-install
然后你需要安装 Squid 作为 HTTP 代理
在 Debian 9/10 上:
安装前升级和更新
apt-get upgrade
apt-get update
安装 OpenVPN https://github.com/Nyr/openvpn-install
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
安装前升级和更新
apt-get upgrade
apt-get update
安装 Squid
apt-get -y install squid
通过 vim、winscp 或 webmin 编辑 squid 配置文件
vim /etc/squid/squid.conf
将这些行添加到配置文件。
http_access allow all
http_port 80
重新启动 Squid 服务
service squid restart
然后你应该将这一行添加到你的 Openvpn 客户端配置文件中
http-proxy [Server's IP Address] 80
我希望这能帮到您。
答案2
您无法将代理客户端连接到 VPN 端口,因为它们是不同的技术。
您必须在 (机器 2) 上运行代理服务器,然后才能使用 http 代理连接到 (机器 2)。如果 (机器 2) 从 VPN 获取互联网,那么它自然会通过代理提供服务。
您之所以看到有人要求反过来做这件事,是因为 VPN 是安全的,而 http 代理不安全。如果您以这种方式设置,您将向使用 VPN 的公众公开代理服务。这可能违反了您的 VPN 服务的条款,因为您将与全世界共享您的 VPN 连接。一旦扫描仪发现这一点,可能会有大量流量突然通过您的计算机及其 VPN。
如果您想这样做,可以使用 mitmproxy 之类的东西,这是一个在 Arch 上运行的开源解决方案。我们已警告您不要这样做。