
LAN 内にサーバー (S1) があり、ルーターは制御外です。サーバーには openvpn がインストールされており、ssh でログインできます。LAN 上に別のサーバー (S2) があり、S2 のポートをポート S1 に転送したいと考えています。
私が行った場合
sudo iptables -t nat -A PREROUTING -p tcp -m tcp -d S1 --dport 8001 -j DNAT --to-destination S2:80
次に、S1 の LAN インターフェイスにあるコンピューターから S1:8001 に接続してみます。
IP **my_vpn_ip**.48174 > S2.80: Flags [S], seq 4243753453, win 14600, options [mss 1368,sackOK,TS val 89266048 ecr 0,nop,wscale 7], length 0
S2 には私のコンピュータへのルートがなく、応答を送信できないため、明らかに機能しません。S1 で送信元を偽装してパケットを返送し、NAT を実行することは可能ですか?
S2 は機能が非常に制限された IP カメラであるため、ルートを変更することはできません。
答え1
接続先のホストで SNAT/マスカレードを設定します。これにより、送信元アドレスが NAT ボックスからのプロキシとして表示されるように変更されます。
このような単純なルールで、望みどおりの結果が得られる可能性があります。
iptables -t nat -A POSTROUTING --destination S2 -j MASQ