OpenVZ Forum


Home » International » Russian » Боремся со спамом на VE: проблемы с iptables
Боремся со спамом на VE: проблемы с iptables [message #34169] Wed, 10 December 2008 16:35 Go to next message
pentarh is currently offline  pentarh
Messages: 13
Registered: October 2008
Location: Russia
Junior Member
Я написал на перле кое какой анализирующий SMTP прокси.

Теперь стоит следующая проблема.

Прокси запускается на localhost:26 или external_if:26 на хост-машине.

Нужно завернуть SMTP трафик со ВСЕХ VE на этот прокси. Т.е. если VE пытается соединиться с ЛЮБЫМ SMTP сервером, его бы кидало на мой SMTP прокси.

Теперь, с iptables я плохо знаком (больше по фрибсд заезжаю). Вот что мне удалось найти как это делается:

#iptables -t nat -A PREROUTING -p tcp -s $VE_IP --dport 25 -j DNAT --to-destination $HOST_IP:26
#iptables -t nat -A POSTROUTING -p tcp --dport 26 -d $HOST_IP -o eth0 -j SNAT --to-source $VE_IP


Все замечательно работает, но как я понимаю это подразумевает заворот трафика только одной VE - не больше.

А как завернуть трафик с N IP адресов VE на $HOST_IP:26?

В обмен обещаю выложить сырцы прокси, как будет полностью готов.

Прокси использует SPAMD для определения спама, разрешает до N1 спам сообщений в M1 секунд, остальные в ручной аппрув. Разрешает N2 вообще писем в M2 секунд, остальные в ручной аппрув. Поддерживает бан. Работает на SQLite3
Re: Боремся со спамом на VE: проблемы с iptables [message #34183 is a reply to message #34169] Thu, 11 December 2008 12:22 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Здравствуйте,

я хотел бы задать вопрос во вашим правилам, никак не могу понять их.

То есть первое правило заставляет пакет, идущий на port 25 (SMTP сервер), идти к вашей прокси, а на сервер почему он доходит?
Re: Боремся со спамом на VE: проблемы с iptables [message #34184 is a reply to message #34169] Thu, 11 December 2008 12:41 Go to previous messageGo to next message
pentarh is currently offline  pentarh
Messages: 13
Registered: October 2008
Location: Russia
Junior Member
Насколько я понимаю, первое правило переписывает Destination Host & port. Т.е. идет коннект с VE 1.1.1.1 на любой SMTP сервер mail.foobar.net:25

Первое правило меняет адрес назначения и таким образом пакет идет на мой SMTP прокси.

Второе правило меняет исходный адрес запроса для корректного функционирования NAT.

Но это все не то, что мне нужно, т.к. каждой VE нужно будет создавать правило, и есть чуйка что каждой VE нужно будет открывать свой порт на таком раскладе.

Мне нужно SMTP трафик вообще всей сетки VE машин 1.1.1.0/24 завернуть на мой прокси, который слушает на хост машине. Скажем, на localhost:26
Re: Боремся со спамом на VE: проблемы с iptables [message #34185 is a reply to message #34184] Thu, 11 December 2008 13:03 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Quote:


Т.е. идет коннект с VE 1.1.1.1 на любой SMTP сервер mail.foobar.net:25

Первое правило меняет адрес назначения и таким образом пакет идет на мой SMTP прокси.



Да, все правильно. А как этот коннект попадет на mail.foobar.net?

Quote:


Второе правило меняет исходный адрес запроса для корректного функционирования NAT.



Это предложение непонятно, что значит "для корректного функционирования"?
Re: Боремся со спамом на VE: проблемы с iptables [message #34186 is a reply to message #34185] Thu, 11 December 2008 13:19 Go to previous messageGo to next message
pentarh is currently offline  pentarh
Messages: 13
Registered: October 2008
Location: Russia
Junior Member
maratrus wrote on Thu, 11 December 2008 16:03



Да, все правильно. А как этот коннект попадет на mail.foobar.net?




SMTP Proxy который примет это соединение, проанализирует его и запроксирует на доставку локальному Postfix.

Коннекта к mail.foobar.net не будет вообще физически. Доставка пойдет, если соблюдены правила, через локальный MTA.

maratrus wrote on Thu, 11 December 2008 16:03


Это предложение непонятно, что значит "для корректного функционирования"?

Я говорю, сам хреново разбираюсь в iptables. Но понял что это правило совсем не нужно. Работает и без него и почти так как надо.

Теперь проблема.

Вот я делаю редирект всего почтового трафика VE машин на локальный SMTP прокси хост машины.

# iptables -t nat -A PREROUTING -p tcp -s $VE_NETWORK --dport 25 -j DNAT --to-destination $HOST_IP:26


Это все прекрасно работает, только когда SMTP прокси вешаешь на внешний интерфейс. Когда пытаешься средиректить на 127.0.0.1:26 - не работает.

Не хотелось бы вешать прокси вовне, т.к. надо еще прописывать правило для закрывания 26 порта извне (изврат).
Re: Боремся со спамом на VE: проблемы с iptables [message #34187 is a reply to message #34186] Thu, 11 December 2008 13:51 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Quote:


Когда пытаешься средиректить на 127.0.0.1:26 - не работает.



Насколько я знаю, в Linux это не будет работать (ядро порежен (марсианские) пакеты такого сорта). Подробности в сырцы ядра, либо в поисковик по словам: martian + dnat + localhost.



Re: Боремся со спамом на VE: проблемы с iptables [message #34188 is a reply to message #34187] Thu, 11 December 2008 14:02 Go to previous message
pentarh is currently offline  pentarh
Messages: 13
Registered: October 2008
Location: Russia
Junior Member
Идиотизм... Ну что ж, вешаем прокси извне
Previous Topic: Фаервол для VDS
Next Topic: 2.6.18, RTC и ntpd
Goto Forum:
  


Current Time: Tue Mar 19 11:11:42 GMT 2024

Total time taken to generate the page: 0.02796 seconds