通过 WireGuard 将所有 HTTP/HTTPS 流量重定向到外部 HTTP 代理

通过 WireGuard 将所有 HTTP/HTTPS 流量重定向到外部 HTTP 代理

我已经设置了 Wireguard VPN,通过它我的所有设备都连接到在具有公共 IP 地址(主机)的计算机上运行的 Wireguard 对等体。

我的 Wireguard 设置为让客户端连接到 wg0 上的主机,该主机使用子网 10.10.0.1/24。客户端可以访问在 LAN 中运行的其他服务(例如在 192.168.1.100 上运行的 Web 服务器)以及在 Internet 上运行的其他服务(例如 Google.com)。

wg0.conf

[Interface]
Address = 10.10.0.1/24
ListenPort = 51823
PrivateKey = XXXXXX

客户端配置文件

[Interface]
PrivateKey = XXXXXX
Address = 10.10.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = XXXXXX
PresharedKey = XXXXXX
Endpoint = 1.2.3.4:51823
AllowedIPs = 0.0.0.0/0

通过此设置,当我检查 IP 地址时,它会显示 Wireguard 服务器的公共 IP 地址。

我想在这中间添加一个外部 HTTP / HTTPS 代理,它位于 LAN 网络之外的端口 80 / 443 上的所有流量之间。

我想要实现的目标概述如下:

<---------- 10.10.0.1/24 ------------><------------- internet ---------------->

                     192.168.1.1
10.10.0.2             10.10.0.1             13.14.15.16
----------            --------               ---------        -----------------
| client |---tunnel---| host |----http(s)----| proxy |--------| anydomain.com |
----------            -------- \              ---------      /-----------------
                          |     \                           /
                          |      \------ non-http(s) ------/
                          |
                         lan
                    192.168.1.0/24
                          |
                          |
                          |
                   ---------------   
                   | http server |
                   | 192.168.1.2 |
                   ---------------

我尝试将iptables端口 80 和 443 上的所有流量转发到代理服务器,但是代理服务器响应错误“无法检索请求的 URL”。

如何将端口 80 和 443 上的所有流量转发到此外部代理服务器?

--

我尝试过的规则iptables是:

# enable ip forwarding
sysctl -w net.ipv4.ip_forward=1

# allow traffic on 51823
iptables -I INPUT -p udp --dport 51823 -j ACCEPT

# forward traffic on eth0 to wgo
iptables -I FORWARD -i eth0 -o wg0 -j ACCEPT

# allow traffic on wg0
iptables -I FORWARD -i wg0 -j ACCEPT

# route outgoing traffic on eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# route all http/https traffic to proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp –dport 80 -j DNAT –to-destination 13.14.15.16:8888

相关内容