VPSのパブリックIPでNAT後に仮想マシンを公開します。

VPSのパブリックIPでNAT後に仮想マシンを公開します。

クラウドのどこかにパブリックIPアドレスを持つVPSがあります。また、ガレージの深い場所にNATを介してインターネットに接続されている仮想マシンがあります。

2台のコンピュータ間に恒久的なOpenVPNリンクを設定しました。彼らは何の問題もなく互いに話し合うことができます。 VPSのプライベートIPは10.0.0.1、VMのプライベートIPは10.0.0.2です。

これで、誰でも何でもVPSのパブリックIP(すべてのポートで)に接続しようとすることを願っています。仮想マシンへの実際の接続。唯一の例外はポート22と1194です。これにより、VPS自体に接続でき、VPNリンクは引き続き実行されます。

つまり、VPS の iptables、ルーティング、または転送するように構成する必要があるその他の項目です。みんな10.0.0.2に着信接続(指定された2つのポートを除く)

では、どうすればいいですか?

ユースケース:仮想マシンで実行されているWebRTCストリーミングサーバーの公開。一つある公開する必要があるさまざまなポートとプロトコルのガベージロードしたがって、個別に配信することは非現実的です。 WebRTCは、設計どおりにクライアントがパブリックIPに接続すると、仮想マシンへの直接P2P接続をブートストラップ/設定することが期待されます。

ベストアンサー1

特定のポートを除外するには、そのポートと一致しますが、「何もしません」で追加処理を停止するルールを使用できます。

iptables -t nat -A PREROUTING -p TCP --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p UDP --dport 1194 -j ACCEPT

その後、実際の転送を行い、「returnpath」を設定します。

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A POSTROUTING -d 10.0.0.2 -j MASQUERADE

おすすめ記事