работа postfix через двух провайдеров

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
bblackk123
проходил мимо

работа postfix через двух провайдеров

Непрочитанное сообщение bblackk123 » 2015-01-23 6:33:32

Добрый день!
Задача следующая:
Организовать работу postfix через двух не зависимых провайдеров с разными шлюзами.
Данные ОС FreeBsd 10
ip eth0 192.168.50.4 gateway 192.168.50.1
ip eth1 192.168.1.5 gateway 192.168.1.1
Что сделал для работы postfix:
Создал несколько экземпляров postfix используя postmulti, в main.cf каждого экземпляра прописал свой mydomain, inet_interfaces postfix = 192.168.50.4, inet_interfaces postfix-2 = 192.168.1.5
defaultrouter в rc.conf = 192.168.50.1
Письма через интерфейс eth0 уходят и приходят без проблем
Письма через интерфейс eth1 не уходят и не приходят, так iface eth1 просто не знает как их маршрутизировать. Если defaultrouter изменить на 192.168.1.1 все происходит с точностью наоборот.
Что сделал:
использовал setfib
setfib 1 route add default 192.168.1.1
setfib 0 netstat -r
Destination Gateway Flags Refs Use Netif Expire
default 192.168.50.1 UGS 0 1238 eth0
setfib 1 netstat -r
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.1 UGS 0 109 eth1
Проверяю icmp с eth0 и eth1
setfib -F 0 ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=59 time=29.884 ms

setfib -F 1 ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=59 time=30.250 ms

Настраиваю ipfw
FwCMD="/sbin/ipfw"
$FwCMD -f flush
$FwCMD add check-state

$FwCMD add allow ip from any to any via lo0

$FwCMD add setfib 0 ip from any to any via eth0
$FwCMD add setfib 0 ip from 192.168.50.4 to any
$FwCMD add setfib 0 ip from any to 192.168.50.4
$FwCMD add setfib 1 ip from any to any via eth1
$FwCMD add setfib 1 ip from 192.168.1.5 to any
$FwCMD add setfib 1 ip from any to 192.168.1.5

$FwCMD add allow ip from any to any

в итоге icmp на eth1 приходит и уходит. А вот соединения на ip 192.168.1.5 порт 25 нет. Понимаю, что нужно написать правило для ipfw чтобы исходящие пакеты с на порт 25 уходили через eth1 c ip 192.168.1.5 через 192.168.1.1, но не достаток опыта и знаний дает о себе знать в итоге правило написать не получается.
Пробую делать так :

$FwCMD add fwd 192.168.1.1 src-ip 192.168.1.5 out via xn1

Но это не срабатывает

tcpdump -i eth1 port 25
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
08:27:59.551840 IP smtp1.adminkit.net.60328 > mail.domain.ru..smtp: Flags [S], seq 1958294590, win 8192, options [mss 1380,nop,wscale 8,nop,nop,sackOK], length 0
08:28:02.554594 IP smtp1.adminkit.net.60328 > mail.domain.ru..smtp: Flags [S], seq 1958294590, win 8192, options [mss 1380,nop,wscale 8,nop,nop,sackOK], length 0

Хостинговая компания 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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

работа postfix через двух провайдеров

Непрочитанное сообщение Alex Keda » 2015-01-23 8:12:19

Давно ли во фре появился модуль ядра if_eth?
Стругающий девайсы eth0/eth1/.....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1799
Зарегистрирован: 2008-09-08 21:59:56

работа postfix через двух провайдеров

Непрочитанное сообщение Neus » 2015-01-23 8:42:55

алиасы юзает

bblackk123
проходил мимо

работа postfix через двух провайдеров

Непрочитанное сообщение bblackk123 » 2015-01-23 10:13:51

Alex Keda писал(а):Давно ли во фре появился модуль ядра if_eth?
Стругающий девайсы eth0/eth1/.....
eth для примера, на самом деле интерфейс xn0 xn1
ifconfig_xn1="inet 192.168.1.4 netmask 255.255.255.240"
ifconfig_xn1_alias0="inet 192.168.1.5 netmask 255.255.255.255"
#ifconfig_xn1_alias1="inet 192.168.1.6 netmask 255.255.255.255"
ifconfig_xn0="inet 192.168.50.4 netmask 255.255.255.240"

Аватара пользователя
skeletor
майор
Сообщения: 2508
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

работа postfix через двух провайдеров

Непрочитанное сообщение skeletor » 2015-01-23 12:27:10

Вам нужен PBR на IPFW. Здесь подробно расписано что и как http://nuclight.livejournal.com/124348.html
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

bblackk123
проходил мимо

работа postfix через двух провайдеров

Непрочитанное сообщение bblackk123 » 2015-01-27 9:42:53

Решил вопрос, всему виной номер релиза FreeBsd 10 -> Спасибо добрым людям на хабре за эту статью http://habrahabr.ru/post/212813/