openVPNサーバーからの着信トラフィックをクライアントにルーティング

openVPNサーバーからの着信トラフィックをクライアントにルーティング

OpenVPNを実行するパブリックIPと、唯一のVPNクライアントであるローカルサーバーを備えたVPSがあります。

ポート80からの着信トラフィックをクライアントにルーティングできますか?

私のローカルサーバーはモバイルデータとして実行されており、パブリックIPを取得していません。私が探しているのは、VPN IPにアクセスしてアクセスできるデータを示す簡単なウェブサイトです。

答え1

説明どおりここiptablesを使用して、あるインターフェイスのポートから別のインターフェイスの別のIPにトラフィックを転送できるようにする必要があります。ローカルサーバーに常に同じIPを発行するようにOpenVPNサーバーを構成する必要があるかもしれません。方法がわかります。ここ

本質的に、

  1. サーバーが転送を許可していることを確認してください。
sudo sysctl net.ipv4.ip_forward=1
  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も必要になるように常に暗号化を使用する必要があります。

関連情報