私はrinetdと同じようにこれらの接続をルーティングしたいいくつかのIPアドレスからサーバーへの接続を受け取りますが、IPに基づいて、指定されたホストに接続するための接続が行われます。
ちょうどこのような:
IP 10.10.12.1 => CONNECTS TO MY SERVER => MY SERVER REDIRECTS IT TO 82.12.12.1
IP 10.10.12.2 => CONNECTS TO MY SERVER => MY SERVER REDIRECTS IT TO 81.121.12.10
等
この機能を実現するために、独自のデーモンを作成する必要はありますか?
iptables
でできること:
Sudo iptables -t nat -A PREROUTING -s 10.10.12.1 -j DNAT --to 82.12.12.1
Sudo iptables -t nat -A POSTROUTING -s 10.10.12.1 -d 82.12.12.1 -j MASQUERADE
最初のコマンドは、パケットの宛先アドレスを変更し、外部ホストにリダイレクトします。 2番目のコマンドは送信元アドレスを変更するため、外部ホストはサーバーに応答を送信できます。
おそらく、特定のポートを宛先とするパケットのみをリダイレクトしたいでしょう。 10.10.12.1がTCPポート80および1234を介してのみ82.12.12.1と通信する場合、最初のiptables
コマンドは次のようになります。
Sudo iptables -t nat -A PREROUTING -s 10.10.12.1 -p tcp -m multiport --destination-ports 80,1234 -j DNAT --to 82.12.12.1