LINUX.ORG.RU
ФорумAdmin

Новые грабли с Iptables


0

0

Как мне уже подсказали, конструкция: iptables -t nat -A PREROUTING -d 192.168.0.2 -p tcp --dport 80 -j REDIRECT --to-ports 8080 работает, но с одним большим "НО". Форвардятся все пакеты кроме тех, что идут от 127.0.0.1 Как сделать чтобы пакеты от localhost которые идут на 192.168.0.2 тоже форвардились на порт 8080 ?

Если пакеты действительно идут на 192.168.0.2, они должны тоже редиректиться. Другое дело, что с локалхоста пакеты могут идти и на 127.0.0.1. Чтобы их тоже редиректить, нужно создать ещё одно правило, где будет -d 127.0.0.1 (ну и вообще для любого ip-адреса этой машины, который хочется так обрабатывать).

anonymous
()
Ответ на: комментарий от anonymous

дык не редиректятся! делаю правила: iptables -t nat -A PREROUTING -s 127.0.0.1 -d 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A PREROUTING -s 127.0.0.1 -d 192.168.0.2 -p tcp --dport 80 -j REDIRECT --to-ports 8080

делаю с той же машины на которой стоит файрвол и томкэт: javaserver ~ # telnet 127.0.0.1 80 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused

javaserver ~ # telnet 192.168.0.2 80 Trying 192.168.0.2... telnet: connect to address 192.168.0.2: Connection refused

Счётчики не растут. отсюда вывод - пакеты просто не попадают в правило. Почему? Как побороть?

Cyclone
() автор топика
Ответ на: комментарий от Cyclone

> дык не редиректятся!
Дык сколько ж можно отсылать к первоисточнику (http://opennet.ru/docs/RUS/iptables/index.html) ??? Там есть "Таблица 3-3. От локальных процессов", в которой показан порядок прохождения пакетов отлокального приложения куда-либо.
Попробуйте такое правило:
iptables -t nat -A OUTPUT -d 192.168.0.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8080

spirit ★★★★★
()
Ответ на: комментарий от Cyclone

Проверь, включена ли опция в ядре IP_NAT_LOCAL (не помню, как точно называется), ищи LOCAL :)

thresh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.