我正在嘗試使用 VPN 連線 (openvpn) 存取在 PC 上運行的 Web 伺服器,該伺服器位於不受我管理的防火牆後面。基本上,我想使用 VPN 伺服器的公共 IP 來存取防火牆後面的遠端 PC 上的 Web 伺服器。
根據圖像,http://193.105.1.1:8085將顯示託管在 192.168.1.1:8080 的網站
抱歉,如果這個問題已經解決。我嘗試過搜尋類似的內容,但實際上我不知道要搜尋什麼。
答案1
這很容易!
為了方便起見,我們考慮機器 A - 193.105.1.1 和機器 B - 192.168.1.1
在機器A上安裝OpenVPN伺服器
我更喜歡 Ubuntu 18.04 和 Nyr OpenVPN 安裝程式腳本
只需在終端機中運行即可
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
假設您已經在機器 B 上設定了 apache 或 nginx,請確保它偵聽所有介面。
在機器 B 上安裝 OpenVPN 用戶端以連接到您的伺服器!
在終端機中執行此程式碼以安裝 OpenVPN 用戶端
sudo apt-get install openvpn
我們現在需要設定機器 A 將流量從公用 IP 路由到 OpenVPN 內部 IP 位址,如果您使用 Nyr 腳本,機器 B 將被指派位址 10.8.0.2。
讓我們來配置路由!
- 啟用ufw防火牆
sudo ufw enable ssh && sudo ufw enable
sudo nano /etc/default/ufw
- 將“DEFAULT_INPUT_POLICY”和“DEFAULT_FORWARD_POLICY”更改為“接受”。儲存並關閉文件。
sudo nano /etc/ufw/sysctl.conf
- 取消註解“et/ipv4/ip_forward=1”。儲存並關閉文件。
sudo nano /etc/ufw/before.rules
在行“”COMMIT”之後的行尾添加以下內容
*nat
-F
:預路由接受[0:0]
-A 預路由 -i eth0 -d 193.105.1.1 -p tcp -m 多埠 --dports 23:65535 -j DNAT --to-destination 10.8.0.2
-A 後路由 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j 偽裝
犯罪
將 eth0 變更為您的網路介面名稱。
儲存並重新啟動兩台伺服器!透過 OpenVPN 用戶端將機器 B 連接到機器 A。