маршрутизация в OpenBSD - требуется помощь.
2557
3
Исходные данные:

Сеть. В центре сети стоит бсд-сервак с опеном. в него воткнуты две летевухи, в одной из которых стоит адсл-модем, во второй локальная сеть. На этой же бсд поднят опенвпн, так как существует определенное количество удаленных сегментов, связывающий этот жирный кусок сети и остальную удаленку. сервак так же маршрутизирует итнет для всех пользователей. И самое интересное в этом "жирном" куске сети есть отдельный почтовик, со своим отдельным подключением к инету - не спрашивайте почему так - получилось в общем. Со своим фаером, ИП, ДНС-именем - все как положено. и он тихонечко шлет в инет и принимает почку черезсвой канал, воткнутый персонально в него.

Дальше - больше. Теперь в сервачок с опеном втыкается еще один провайдер в виде сетевого интерфейса с белым ип и обратной зоной. А от того первоначального "почтового канала" остаются ножки да рожки. Точнее он уже был воткнут в свич с серым ипшником, и часть "удаленки" через него тоже заведена в впн.

Цель: Перенастроить маршрутизацию на опенбсд так, чтобы весь инет-трафик по 25, 110 портам от почтовика туда и обратно шел исключительно во внешний мир через "нового провайдера". Вопрос - как? На почтовике приветствие и сетевые настройки поменять не сложно, но вот как заставить опен роутить 25 порт извне только через второго прова, не затрагивая первого - вопрос.

Из мыслей:
1. Создать алиас для сетевой карты и поставить с сетевухой "нового прова" в бридж. Но есть опасения, что сразу отвалится впн у той части удаленки, которая сидит через этого провайдера в коннекте с основным офисом.
2. настроить фаервол/маршрутизацию, порты с этого провайдера пробросить то не проблема, проблема научить фаерволл выплевывать любые пакеты от почтовика, адресованные на 25 порт исключительно в коннект "нового провайдера". Как?

Жду любые идеи, самые бредовые, заранее спасибо.
Mad_Dollar
Продолжение.

Немного конкретики после изучения манов pf:

pppoe0 - adsl интерфейс. - основной провайдер ip x.x.x.x
sk0 - локальный интерфейс
xl0 - новый интерфес второго провайдера. ip y.y.y.y

192.168.0.0/24 - локальное добро
192.168.1.0/24 - пресловутый почтовик

в pf.conf добавляю правила:
nat on sk0 from 192.168.0.0/24 to any -> x.x.x.x
nat on sk0 from 192.168.1.0/24 to any -> y.y.y.y

Я правильно все понимаю?
Mad_Dollar
неее.. у тя точно чО-то не так. нафига НАТ на ВНУТРЕННЕМ интерфейсе подымать?

дефолтный гейт - хто ? без него неясная картина.

ext_if="xl0"
int_if="sk0"
adsl_if="pppoe0"


mail_ports = "{ 25, 110 }"
pochtovig = "192.168.1.1" # ip-шнег почтовика

nat on $ext_if from $pochtovig to any port $mail_ports -> ($ext_if)
rdr pass on $ext_if proto tcp from any to any port $mail_ports -> $pochtovig


хде то так...
gringo
протупил, согласен, указал внутренний интерфейс. ну щас примерно ясно вобщем. спасибо.