如何在 HTTP 和 HTTPS 代理后使用 OpenVPN?

如何在 HTTP 和 HTTPS 代理后使用 OpenVPN?

我必须使用代理才能访问互联网。我想创建一个通过此代理连接的 VPN 服务器。这样可以更轻松地在设备上进行设置。以下是网格:

# # # # # #         # # # # # #         # # # # # # # # #
#         #   VPN   # VPN     #    ?    # HTTP/HTTPS    #         # # # # # # #
#  client # ------\ # server  # ------\ # proxy         # -------\#  internet #
#         # ------/ #         # ------/ # both          # -------/#           #
#         #         #         #         # 127.0.0.1:8087#         # # # # # # #
# # # # # #         # # # # # #         # # # # # # # # #

我想使用带有 OpenVPN 的 Raspberry pi 作为服务器。代理是一个应该在服务器上运行的 Python 脚本。它被称为 Goagent。代理是为了让我能够访问整个互联网。

我的问题是:在 openvpn 服务器配置文件中添加 http-proxy 是否也适用于 HTTPS 地址?还是我完全搞错了?

答案1

当您的 VPN 客户端和 VPN 服务器之间存在代理(http 或 https)而您的情况并非如此时,将使用 http-proxy 指令(响应该评论,它适用于 TCP 和 SSL,但 OpenVPN 连接必须采用 tcp 协议)。

在你的绘图中你的代理是VPN 连接。

在这种情况下,我认为您需要:1) 在客户端和服务器之间设置正常的 VPN 连接 2) 在客户端上推送路由,以便客户端可以在您的图像中看到代理。这可以是主机路由(针对特定 IP)或默认路由。如果代理在其可访问的路由表中没有 VPN 网络,您可能还需要对客户端 IP 进行伪装。当然,服务器需要启用 IP 转发。3) 现在:3a) 在客户端上,您可以设置您正在使用的应用程序(即浏览器)的代理配置,以指向要从哪里传递的代理 IP/端口 3b) 您可以在 VPN 服务器上执行一些透明代理并将所有流量重定向到代理计算机(例如,像本文

这样,VPN 软件实际上对代理一无所知。它只会让流量在图中前两个块之间通过。然后 VPN 服务器将以两种方式之一将数据包转发到代理。

相关内容