Боремся со спамом на VE: проблемы с iptables [message #34169] |
Wed, 10 December 2008 16:35 |
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 #34186 is a reply to message #34185] |
Thu, 11 December 2008 13:19 |
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 порта извне (изврат).
|
|
|
|
|