LINUX.ORG.RU
ФорумAdmin

[iptables] Подмена порта

 


0

1

Всем привет, есть следующая задача. Есть подсеть 10.0.0.0/8 и порт 25. Через который очень любят слать спам всякие вирусы. Хочу закрыть 25 порт, но для людей оставить альтернативный порт 2525, который при обращении на него, перебрасывал обратно на 25 удалённого хоста.. Проблема заключается в том что я не могу придумать как это реализовать правильно. - Что я делаю:

iptables -t nat -A PREROUTING -s 10.0.0.0/8 -m tcp -p tcp --dport 2525 -j DNAT --to-destination :25

После этого альтернативный порт 2525 начинает всё отлично работать и перенаправлять на порт 25 после обращения к нему.. Но после того как я закрываю 25 порт в FORWARD оно перестаёт работать.

iptables -A FORWARD -s 10.0.0.0/8 -m tcp -p tcp --dport 25 -j DROP
Я понимаю почему оно так получается. Поскольку пакет пройдя через цепочку PREROUTING c первоначальным назначаемым портом 2525 переписывается на 25 и уже изменённый идёт в цепочку FORWARD где попадает под DROP.

Я попробовал добавить DROP в PREROUTING но у меня это не вышло. Есть ещё мысль маркировать пакеты идущие на порт 25 и делать DROP по маркировке Но хочется как-то сделать попроще.. Кто что подскажет как такую аферу можно провернуть ? Спасибо

★★
Ответ на: комментарий от Yur4eg

> iptables -t nat -A PREROUTING -p tcp --dport 25 -j DNAT --to-destination 255.255.255.255

А не засрут мне спамеры броадкастом сеть ? мне кажется это костыль ... Ещё идеи есть ?

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

Правильный путь ты и сам написал. Маркировать и потом дропать =)

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