0

特定の IP に対して行われたすべてのリクエストを localhost (127.0.0.1) にリダイレクトしたいと考えています。サーバーのローカルレプリカがあり、いくつかのことをテストしたいので必要です

それを行うための iptables ルールを作成するにはどうすればよいですか?

ありがとう

4

3 に答える 3

0
iptables -t mangle -A PREROUTING -p tcp ''otherconditions'' -j TPROXY --on-port ''dst''

Quoting manpage:このターゲットは、mangle テーブル、PREROUTING チェーン、およびこのチェーンからのみ呼び出されるユーザー定義チェーンでのみ有効です。パケット ヘッダーをまったく変更せずに、パケットをローカル ソケットにリダイレクトします。

于 2011-12-21T01:53:23.470 に答える
0

私はこれがかなり古いスレッドであることを知っています...しかし、まだ答えがありません。必要な主な変更は、PREROUTING ルールではなく OUTPUT ルールを追加することです。

マニュアルページから:

nat:
    This table is consulted when a packet that creates a new connection is encountered.  It consists of three built-ins: PREROUTING (for altering packets as soon as they come in), OUTPUT (for altering locally-generated packets  before  routing),  and  POSTROUTING  (for altering packets as they are about to go out).

したがって、これは必要なコマンドである可能性があります。

iptables -t nat -A OUTPUT -p tcp --src <SOURCE PORT TO BE REDIRECTED> --dst 127.0.0.1 --dport 9090 -j REDIRECT --to-ports 9090
于 2013-08-16T13:18:41.183 に答える
0

「マシン A からマシン B へのすべてのリクエストをマシン A にリダイレクトしたい」ということですか? もしそうなら、あなたが探しているコマンドは

sudo iptalbes -t nat -A PREROUTING -d <DESTINATION_IP> -p <PROTOCOL> --dport <DESTINATION_PORT_NUMBER> -j DNAT --to 127.0.0.1
于 2011-12-20T23:14:35.457 に答える