Linux

如何使用 OpenVPN 將所有埠從 Debian 轉發到 Windows

  • January 12, 2022

我的設置: Azure 中的

Debian 10 Azure 中的

Windows 10

Debian 10是來自 Azure 的全新伺服器,僅使用此Repository中的腳本安裝和設置 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,請使用任何方法讓我知道我該怎麼做。非常感謝你。

OpenVPN 是一個管理偽介面加密和路由的工具,以將這些偽介面從一個點連結到另一個點。

您正在尋找從您的 debian 機器轉發埠,這很好,但這不是 OpenVPN 的工作,它是防火牆的工作,如linuxiptablesnftables在 linux 上。

如果你想這樣做,iptables這裡有幾個方向。

請注意您的 VPN 區域網路是什麼以及您的 debian 使用的 IP 有 Openvpn 伺服器(通常tun0在 debian 上)。讓我們稱它為您的 Debian_VPN_IP

注意你的 debian 機器的公共 IP 地址是什麼。

注意你的 OpenVPN 在你的 Windows10 機器上給出的內部 IP 地址是什麼。你的 windows 機器應該有一個新的介面和這樣的 IP 讓我們稱之為你的 Windows_VPN_IP。

在您的 debian 機器上進行活動 ip forward,以便數據包流經您的路由,然後在 Debian 上使用natiptables 中的 table 將所需流量從您的 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

為您要轉發的每個埠重複這兩行

現在在您的 Windows 機器上為您的 debian 公共 IP 設置一條到您的 windows routeur 的路由,並通過您的 Debian VPN IP 將您的 Windows 機器上的預設路由設置到您的 VPN 介面

你去吧。

注意:這不是一個完整的設置,您必須完成防火牆以允許阻止您需要的任何內容,並保護暴露的服務。

引用自:https://unix.stackexchange.com/questions/685991