OpenVPNを実行するパブリックIPと、唯一のVPNクライアントであるローカルサーバーを備えたVPSがあります。
ポート80からの着信トラフィックをクライアントにルーティングできますか?
私のローカルサーバーはモバイルデータとして実行されており、パブリックIPを取得していません。私が探しているのは、VPN IPにアクセスしてアクセスできるデータを示す簡単なウェブサイトです。
答え1
説明どおりここiptablesを使用して、あるインターフェイスのポートから別のインターフェイスの別のIPにトラフィックを転送できるようにする必要があります。ローカルサーバーに常に同じIPを発行するようにOpenVPNサーバーを構成する必要があるかもしれません。方法がわかります。ここ。
本質的に、
- サーバーが転送を許可していることを確認してください。
sudo sysctl net.ipv4.ip_forward=1
- VPN IPが
10.0.0.1
あり、サーバーの外部インターフェイスがあると仮定すると、eth0
外部ポート80からVPN IPへの接続の転送と応答を許可します。
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.0.0.1:80
iptables -A FORWARD -p tcp -d 10.0.0.1 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
接続の問題をデバッグするにはtcpdump
:
# Print all packets on port 80 that pass through the eth0 interface
sudo tcpdump -ni eth0 port 80
一般的な推奨事項に従ってHTTPSを有効にするには、デフォルトでポート443も必要になるように常に暗号化を使用する必要があります。