iptables перенаправляет все запросы на локальный хост - PullRequest
0 голосов
/ 21 декабря 2011

Я хочу перенаправить все запросы к конкретному ip на localhost (127.0.0.1). Мне это нужно, потому что у меня есть локальная копия сервера и я хочу проверить некоторые вещи

Как мне написать правило iptables для этого?

Спасибо

Ответы [ 3 ]

0 голосов
/ 21 декабря 2011
iptables -t mangle -A PREROUTING -p tcp ''otherconditions'' -j TPROXY --on-port ''dst''

Managing page: Эта цель действительна только в таблице mangle в цепочке PREROUTING. и пользовательские цепочки, которые вызываются только из этой цепочки. Это перенаправляет пакет в локальный сокет без изменения заголовка пакета любым способом.

0 голосов
/ 16 августа 2013

Я знаю, что это довольно старая тема ... Но все еще без ответа. Главное требуемое изменение будет заключаться в добавлении правила ВЫХОДА, а не правила ПРОГНОЗИРОВАНИЯ.

со страницы руководства:

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
0 голосов
/ 21 декабря 2011

Вы имели в виду «Я хочу, чтобы все запросы, сделанные с машины 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
...