1 (11.01.2013 15:42:39 отредактировано Bif)

Имеется 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'
показывает движение

2

А если iptables -t raw?

3

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

# 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

4

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

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.