Трансляция на NAT проброшенного адреса из внутренней сети

Вопросы настройки и работы с этой ОС.
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
enno
проходил мимо
Сообщения: 8
Зарегистрирован: 2009-03-19 10:49:49
Откуда: ЧЛБ

Трансляция на NAT проброшенного адреса из внутренней сети

Непрочитанное сообщение enno » 2009-06-04 20:46:01

Господа помогите реализовать схему когда необходимо обеспечить трансляцию почтового адреса сервера mail.company.com на NAT в адрес, проброшенный на внутренний адрес почтового сервера в локальной сети.
И обратную схему, когда письмо уходило бы от почтового сервера mail.company.com и удаленный SMTP сервер видел что с ним соединился IP-адрес (внешний) закрепленный за почтовым сервером mail.company.com.

Техника шлюз bsd, pf.conf

Имеем в сети 1 BSD шлюз и 2 виндовых почтовика.

Адреса для внешнего соединения:

mail.company.ru - 222.222.222.2
mail.company.com - 222.222.222.3

Внешний интерфейс шлюза имеет адреса: IP: 222.222.222.2/29 и alias 222.222.222.3/29
Внутренний интерфейс: 10.10.10.1/24

1.внутренний mail сервер: mail.company.ru: IP 10.10.10.2
2.внутренний mail сервер: mail.company.com: IP 10.10.10.3

Конфиг: pf.conf

Код: Выделить всё

ext_if=dc1
int_if=dc2

nat on $ext_if from !($ext_if) -> ($ext_if:0)
rdr pass on $ext_if proto tcp from any to 222.222.222.3 port 25  -> 10.10.10.2
rdr pass on $ext_if proto tcp from any to 222.222.222.3 port 25  -> 10.10.10.3

pass in on $int_if inet proto tcp from 10.10.10.2  to any port 25 keep state
pass in on $int_if inet proto tcp from 10.10.10.2  to any port 25 keep state
при такой схеме почта на прием серверами работает на ура, проброс работает корректно, потовые серера принимают замечательно письма.
Но на отправку от mail.company.ru и mail.company.com принимающие от меня почтовики думают что почта идет от адоеса 222.222.222.2.

Нужно реализовать схему, так чтобы почта с сервера mail.company.com отдавалась через другой IP адрес 222.222.222.3. (этот IPадрес прописан алиасом на сетевой карте шлюза). К чему посоветуете прибегнуть? IP спуфинг не получилось реализовать..
Последний раз редактировалось paradox 2009-06-04 20:49:38, всего редактировалось 1 раз.
Причина: юзаем [code] !

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Трансляция на NAT проброшенного адреса из внутренней сети

Непрочитанное сообщение paradox » 2009-06-07 3:59:49

правильный нат сделайте и все

что бы с одного виндового сервака выходило под один реал айпи
а с другого под другим


у вас нат токо один

вот и не работает

enno
проходил мимо
Сообщения: 8
Зарегистрирован: 2009-03-19 10:49:49
Откуда: ЧЛБ

Re: Трансляция на NAT проброшенного адреса из внутренней сети

Непрочитанное сообщение enno » 2009-06-08 6:52:38

Проблема решилась... не в том порядке описывал правила NAT.

добавил требуемое правило самым первым, и все заработало,получилось вот-что:

Код: Выделить всё

ext_if=dc1
int_if=dc2

nat on $ext_if from 10.10.10.3 to any -> 222.222.222.3
nat on $ext_if from !($ext_if) -> ($ext_if:0)

rdr pass on $ext_if proto tcp from any to 222.222.222.3 port 25  -> 10.10.10.2
rdr pass on $ext_if proto tcp from any to 222.222.222.3 port 25  -> 10.10.10.3

pass in on $int_if inet proto tcp from 10.10.10.2  to any port 25 keep state
pass in on $int_if inet proto tcp from 10.10.10.2  to any port 25 keep state