doubtpoint Posted May 24, 2006 Posted May 24, 2006 Есть VPN сервер на freebsd 5.4, IPFW,IPNAT. Хочу перенаправить все исходящие письма на smpt провайдера. Пишу ipfw add 60000 fwd provider_ip_mail_server log tcp from vpn_ip to any dst-port 25 Количество пакетов по данному правилу увеличивается, даже в лог файл пишет, что нужно. Но письма по-прежнему идут на прямую. Хотя такая конструкция работает ipfw add 60000 fwd 127.0.0.1,25 tcp from vpn_ip to any Но smtp сервер находится в интернете, а своего нет. Вставить ник Quote
doubtpoint Posted May 24, 2006 Author Posted May 24, 2006 PS: хочу сделать прозрачный почтовый прокси (По аналогии с прозрачным www прокси) Вставить ник Quote
Kuzmich Posted May 24, 2006 Posted May 24, 2006 fwd работат не так. fwd - это типа source routing, он заголовок пакета не переписывает, а просто выбирает, через какой интерфейс нужно этот пакет передать (в обход таблиц роутинга, но и использванием arp для закрутки пакета в эзернет-фрейм). С указанием номера порта и локального IP-адреса - чуть по другому, но суть та же. Заголовок он не переписывает. Желаемое ты можешь сделать только средствами NAT, а еще лучше просто явно запретить пользвателям пользоваться отличными от нужного тебе SMTP-сервера, и указать это в договоре. Если у тебя сервер почты тоже на бзд, и находится в одном эзернет-сегменте с роутером, можешь попробовать расписать правила на обоих серверах: роутер: ipfw add fwd 192.168.100.1 tcp from any to any 25 почтарь: ipfw add fwd 127.0.0.1,25 tcp from not me to any 25 , где: 192.168.100.1 - адрес почтового сервера (роутер тоже должен иметь интерфейс в сети 192.168.100.1/твой-префикс) not me - чтобы сам smtp-сервак мог общаться с кем-нибудь по smtp, не кольцуясь сам на себя до бесконечности. Вставить ник Quote
doubtpoint Posted May 24, 2006 Author Posted May 24, 2006 Блин. Вроде простая операция, а ipfw не может. Ну раз без нат не обойтись тогда в конфиге ipnat пишим: rdr inet0 0.0.0.0/0 port 25 -> provider_ip_mail_server port 25 tcp пробовал и так: #rdr inet0 from 0.0.0.0/0 to 0.0.0.0/0 port = 25 -> provider_ip_mail_server port 25 tcp Но эфекта ни какого. Пакеты как шли так и идут на прямую. К сожалению сервер smtp не подвластен мне. Поэтому вторая часть ответа не подходит. Вставить ник Quote
grobik Posted May 26, 2006 Posted May 26, 2006 rdr-правило надо делать на внутреннем интерфейсе, который смотрит на клиентов. map-правила (для обычного ната, если у клиентов серые адреса) - на внешнем. Вставить ник Quote
doubtpoint Posted May 27, 2006 Author Posted May 27, 2006 Блин. А если внутренних интерфейсов 300штук (ng000-ng300) Вставить ник Quote
boykov Posted June 5, 2006 Posted June 5, 2006 А провайдер примет? с серых адресов? я бы не принял, но, видно, у вас есть договоренности. nat на этот порт нужен... но имхо это жутчайший изврат. sendmail поднимается в 2 минуты, конфиг ему для работы только с smtp провайдера есть в примерах (smart host). 25 порт снаружи закрывается тоже легко. зачем искать обходные пути? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.