如何使用 OpenVPN 将所有端口从 Debian 转发到 Windows

如何使用 OpenVPN 将所有端口从 Debian 转发到 Windows

我的设置
Debian 10来自蔚蓝
Windows 10来自蔚蓝

Debian 10是来自 Azure 的全新服务器,仅安装了 OpenVPN,并使用此脚本进行设置存储库

Windows 10充满了程序,并在其上运行 Xampp,我可以使用 OpenVPN 和 SSH 从 Windows 10 连接到 Debian 10。

问题:
我不想泄露我的 Windows 10 IP 地址,但我希望人们使用 Debian 10 IP 访问 Xampp 上的网站。

目标:
我可以通过 OpenVPN 将所有对 Debian IP TCP 端口(80、443、3000、8080)发出的请求端口转发或隧道到 Windows 10 端口,或者如果可以使用 SSH 来完成。

进步:
我已经使用以下脚本在 Debian 上设置了 OpenVPN这里它成功了,我的 Windows 10 与 OpenVPN 连接。

Windows 10 防火墙已禁用。

我尝试使用 C2S 和 Bitverse SSH 来转发端口,它只能在本地工作。

OpenVPN 论坛上有一个主题试图做到这一点,但不够全面。这是关联

如果有人可以使用任何方法将所有端口或特定端口从 Linux 转发到 Windows,请告诉我如何做到这一点。预先非常感谢您。

答案1

OpenVPN 是一个管理伪接口密码并路由将这些伪接口从一个点链接到另一个点的工具。

你正在寻找从你的 debian 机器转发端口,这很好,但这不是 OpenVPN 的工作,它是防火墙的工作,比如iptablesnftables在 Linux 上。

如果您想这样做,iptables这里有一些指示。

请注意您的 VPN 局域网是什么以及您的 debian 使用的 IP 有 Openvpn 服务器(通常tun0在 debian 上)。让我们称其为您的 Debian_VPN_IP

请注意您的 Debian 机器的公共 IP 地址是什么。

请注意 Windows10 计算机上的 OpenVPN 提供的内部 IP 地址是什么。您的 Windows 计算机应该有一个带有此类 IP 的新接口,我们将其称为您的 Windows_VPN_IP。

在您的 Debian 机器上启用活动 ip 转发,以便数据包流经您的路由,然后使用natDebian 上的 iptables 中的表将所需的流量从您的 Debian 转发到您的 Windows

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination <your Windows_VPN_IP>
iptables -t filter -A FORWARD -d <your Windows_VPN_IP> -p tcp -m tcp --dport 443 -j ACCEPT

对您想要转发的每个端口重复这两行

现在,仅针对您的 Debian 公共 IP 在 Windows 计算机上设置到 Windows 路由器的路由,并通过 Debian VPN IP 将 Windows 计算机上的默认路由设置到 VPN 接口

等等瞧。

注意:这不是一个完整的设置,您必须完成防火墙以允许阻止您需要的任何内容,并保护暴露的服务。

相关内容