2010/11/24 Petru Ratiu <[email protected]>:
> Se da asa:
>
> - una bucata server Linux cu o interfata publica si una interna. ruta
> default e pe cea publica, cea interna are si ea un 192.168.x.y/24 sa
> poata vorbi cu cine mai e pe-acolo. Interfata externa are mai multe
> ip-uri.
> - una bucata qmail care are patchul outgoingip (pare a fi
> http://www.qmail.org/outgoingip.patch , dar n-am verificat foarte
> atent).In /var/qmail/control/outgoingip este unul din ip-urile de pe
> interfata publica
> - se doreste ca unul sau mai multe domenii sa fie livrate catre un
> server din reteaua interna. se trece domeniu.tld:192.168.x.z in
> /var/qmail/control/smtproutes, se constata ca qmail-smtpd miauna ca-i
> mor conexiunile spre ala. Fara foarte mult debugging, se ajunge rapid
> la concluzia ca qmail-remote initiaza _orice_ conexiune cu ip-ul din
> outgoingip, ceea ce nu se pupa cu tcp/ip-ul pt. destinatii interne.
>
> Question: se poate repara acest conflict de interese cu qmailul din
> dotare? De notat ca solutia "mai pui un qmail in /var/qmail2" nu suna
> deloc mai fericit decat "treci ingineria pe postfix si speri ca ai
> prins toate clenciurile pe care le-a facut antemergatorul".
>

Daca ai avea suport de NAT in kernel, te-ai scoate simplu cu o linie:
$iptables -t nat -A POSTROUTING -o $INTERNAL_IF -p tcp --dport 25 -j SNAT
--to-source $INTERNAL_IP

caci da, SNAT-ul se face in postrouting, si cand trimiti pachete spre
192.168.x.y "ze routing-ul" le va trimite pe $INTERNAL_IF, iar daca qmailu
insista sa le trimita cu source_ip = $EXTERNAL_IP, atunci asa se vor
trimite. (E perfect legal sa trimiti pachete pe o interfata cu sursa ip-ul
de pe alta interfata).
Linia de mai sus ar rezolva problema asta, inlocuind $EXTERNAL_IP cu
$INTERNAL_IP exact unde trebe, in Postrouting.

Nu poti sa compilezi ca modul NAT-ul ?

Sau, varianta nr. 2: pe "celalalt" server din reteaua interna, cel cu
192.168.x.z, dai:
ip route $ipul_extern_al_lui_qmailserver_cel_din_outgoingip/32 via
$ipul_intern_al_lui_qmailserver_cel_cu_192168

si atunci "celalalt" server va trimite pe unde trebuie pachetele de reply
spre qmail_server (adica pe interfata de LAN), chiar daca qmail_server
initiaza conexiunile cu $EXTERNAL_IP.

HTH

-- 
www.flo.ro
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui