Как сделать переадресацию / перенаправление портов в Debian?

1816
Dánjal Salberg Adlersson

У меня два вопроса.

Вопрос 1: Мой компьютер с Debian имеет интерфейс eth3 с ip 192.168.57.28. Если кто-то пытается подключиться к 192.168.57.28:1234, как мне перенаправить запрос на другой компьютер: 192.168.57.25:80?

Вопрос 2: Если у моей машины Debian два интерфейса: eth3 с 192.168.57.28 и ppp0 с некоторым динамическим IP, и кто-то пытается подключиться через ppp0 через порт 1234, как мне перенаправить запрос на 192.168.57.25:80?

Я попробовал это:

iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to-destination 192.168.57.25:80 echo 1 > /proc/sys/net/ipv4/ip_forward 

Но это не работает.

0
Я бы настоятельно рекомендовал прочитать [этот учебник] (http: //www.frozentux .net / documents / iptables-tutorial /) на `iptables`, но сайт в данный момент не работает. kostix 11 лет назад 0

1 ответ на вопрос

1
Tommi Kyntola

Хорошо, правило выглядит хорошо, но вы должны помнить, что пакеты, сгенерированные на этой машине, не проходят PREROUTING. Если указанная машина, на которой находятся рассматриваемые iptables, также должна перенаправлять свой собственный трафик таким же образом, вам нужно установить то же правило для OUTPUT. Смотрите iptables-extension DNAT, он действителен как в OUTPUT, так и в PREROUTING.

Еще один вопрос, который может оказаться под вопросом, - это фильтрация Убедитесь, что вы также разрешаете указанному трафику проходить через машину в обоих направлениях.

В-третьих, вам также может понадобиться ЗАПРОСИТЬ трафик к этому месту назначения в POSTROUTING для маршрута домой.

Я не могу сказать, где пакеты потеряны, основываясь на имеющейся информации. Используйте tcpdump, чтобы увидеть, куда летят пакеты.

Похожие вопросы