LinuxForum.Fans
Тема

Два провайдера - завернуть 25 порт на одного провайдера?

Автор: Bif 4 сообщений 3092 просмотров
#294854

Имеется 2 провайдера 1) eth1 IP 1.1.1.1, GW 1.1.1.2 2) eth2 IP 2.2.2.1 GW 2.2.2.2

Необходимо, чтобы данные по 25 порту с локального процесса Postfix уходили через 1-го провайдера

Делаю так

#iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 1

# ip rule
0: from all lookup local
32763: from 1.1.1.1 lookup 1
32764: from all fwmark 0x1 lookup 1
32765: from 2.2.2.1 lookup 2
32766: from all lookup main
32767: from all lookup default

#ip route show table 1
1.1.1.0/22 dev eth1 scope link src 1.1.1.1
default via 1.1.1.2 dev eth1

#ip route show

2.2.2.0/22 dev eth2 proto kernel scope link src 2.2.2.1
1.1.1.0/22 dev eth1 proto kernel scope link src 1.1.1.1
default via 2.2.2.2 dev eth2

По логике 25 порт должен идти через таблицу 1, но

#tcpdump -i eth2 'port 25'
показывает движение

#294954

А если iptables -t raw?

#295696

Изменил приоритеты в правилах rule, fwmark поставил первым и все заработало :)

# ip rule

0: from all lookup local
32763: from all fwmark 0x1 lookup 1
32764: from 1.1.1.1 lookup 1
32765: from 2.2.2.1 lookup 2
32766: from all lookup main
32767: from all lookup default

#295697

flush cache не забывайте делать после применения правил.

Войдите или зарегистрируйтесь, чтобы ответить.