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
