Linux システムで、Linux デバイスが RSYNC を使用して別の Linux マシンとデータを同期するという要件があります。これは現時点では問題なく動作していますが、マシンの 1 つを別のデータ センターに移動する必要があります。
iptables を使用して、(たとえば) ローカル アドレス 192.168.100.230 へのすべての呼び出しが実際にインターネット上のパブリック アドレスに送信されるようにマシンを構成することは可能ですか?
答え1
IP 転送を有効にする必要があります。編集して/etc/sysctl.conf
、その行がnet.ipv4.ip_forward = 1
存在し、コメント アウトされていないことを確認します。
次に、次のコマンドを実行する必要があります。
iptables -t nat -A 出力 -d [ipaddress1] -j DNAT --to-destination [ipaddress2]
ipaddress1
リダイレクト先のアドレスはどこですかipaddress2
。
注意 - このコマンドは再起動すると無効になります。
答え2
クライアントは古いアドレスに接続し192.168.100.230
、新しいアドレスは、たとえば変更される可能性があります192.168.100.240
。iptables の代わりに ssh トンネルを使用してポート転送を行うことができます。
ssh -TNnfaq -L 192.168.100.230:22:192.168.100.240:22 user@localhost
または
ssh -L 192.168.100.230:22:192.168.100.240:22 user@localhost # for test
すべてのリクエストは192.168.100.230:22
に転送されて に送信されます。ポート番号が 1024 より大きい場合は192.168.100.240:22
必要ありません。root