# Postfix - wysyłanie z drugiego ip

## ollerm

witam

jak zmusić postfixa do wysyłania maili z drugiego ip?

przetrzepałem już cale google i nie mam już pomysłu...  :Sad: 

zastosowalem smtp_bind_address, inet_interfaces... w main i master grzebałem i lipa..

ma ktoś jakiś pomysł?

--

Miłosz

----------

## frido

Nie wiem czy dokładnie o to ci chodzi ale jak dla mnie przede wszystkim musisz zmienić wpis MX w konfiguracji domeny by wskazywał inne IP, a potem możesz ustawiać postfixa by "wisiał" tylko na jednym adresie.

----------

## ollerm

to mam juz dawno ustawione. mxa ustawiałem jeszcze przed grzebaniem w postfixie

inet_interfaces i smtp_bind_address wskazują na takie ip jakie powinno byc. ale widze w logu że jednak nie wysyła z drugiego bo maile są odbijane przez serwery (przez RBL)

----------

## frido

Powiem ci, że jak raz potrzebowałem przenieść na inne ip to sam MX wystarczył tylko adresy oba były z tej samej podsieci więc ich brama była ta sama. Jeżeli chcesz przenieść na adres z innej podsieci to powinieneś odpowiednio skonfigurować tablice routingu bo obecnie wszystko jest pchane przez bramę domyślną.

----------

## ollerm

a mozesz podpowiedzieć jak to skonfigurować??

tylko poczte chciałbym przesyłać po drugim ip

----------

## frido

Po pierwsze potrzebujemy pakietu iproute2, po drugie w jajku musisz miec wkompilowane "policy routing". Wtedy dwa łącza ustawiasz tak:

```

ip route add A.A.A.A/A dev ethA  proto kernel  scope link  src B.B.B.B table 200

ip route add D.D.D.D/D dev ethC  proto kernel  scope link  src E.E.E.E table 200

ip route add 127.0.0.0/8 via 127.0.0.1 dev lo  scope link table 200

ip route add default via C.C.C.C dev ethA table 200

ip route add A.A.A.A/A dev ethA  proto kernel  scope link  src B.B.B.B table 199

ip route add D.D.D.D/D dev ethD  proto kernel  scope link  src E.E.E.E table 199

ip route add 127.0.0.0/8 via 127.0.0.1 dev lo  scope link table 199

ip route add default via F.F.F.F dev ethD table 199

ip rule add from B.B.B.B table 200

ip rule add from E.E.E.E table 199

echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter

ip route flush cache

```

A.A.A.A/A - adres podsieci pierwszej z naszym adresem B.B.B.B oraz bramą C.C.C.C - ethA - interfejs na którym podniesiony jest adres B.B.B.B

D.D.D.D/D - adres podsieci drugiej z naszym adresem E.E.E.E oraz bramą F.F.F.F - ethD - interfejs na którym podniesiony jest adres E.E.E.E

----------

## ollerm

a działa to na łączu DSL? mam 5 adresów przypisanych do eth0

----------

## frido

To masz adresy z tej samej podsieci wiec tego nie potrzebujesz. Powinna wystarczyc sama zmiana MX. Czy masz na serwerze zrobioną maskaradę, albo jakieś dziwne przekierwoania - może coś tu strzeliłeś. Wyczyść całego FW i posprawdzaj czy wtedy działa.

----------

## Dagger

```

IPTABLES="/sbin/iptables"

WAN_IF="eth0"

EMAIL_IP="yo.ur.ip.add"

$IPTABLES -t nat -A POSTROUTING -o $WAN_IF -p tcp --dport 25 -j SNAT --to-source $EMAIL_IP

```

----------

