[MEGOLDVA] Apache log/remote_addr/NAT furcsaság

 ( PtY | 2015. május 5., kedd - 15:33 )

Adott egy egyszerű Apache+custom_log rule.
A logokban mindig a tűzfal IP címe jelenik meg, mint kliens. Végigjártam pár dolgot, de nem találtam a megoldást.

A host, amin az apache fut NAT-olós tűzfal mögött van, a tűzfalon nincs proxy beállítva (X-Forwarded-For fejléc is üres).
Ha a hostot egy másik tűzfal mögé teszem (csak a fw app verziója más), akkor megjelennek a logban a publikus IP-k.
Gyanítom, hogy az iptables szabályokban van eltérés, csak épp nem tudom, mit keressek.

Ha már járt így valaki, és tudja a megoldást, vagy van ötlet, szívesen veszem.
Köszi előre is!

[Update]
Nem láttam a fától az erdőt. :(
A SNAT szabály scope-ja <ALL> volt a local IP tartományok felsorolása helyett, így mindenhol kicserélte a forrás IP-t a tűzfal megfelelő lábára.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Majdnem 0 az informacio, amit leirtal... Ha linux a tuzfal, akkor megneznem a nat / POSTROUTING chain-t, nincs-e benne olyan MASQUERADE szabaly, amibol kimaradt a kimeno interface, igy minden iranyba atirja a cimeket, nem csak az internet iranyaba.

Konkrétan annyit írtam, amennyit láttam :)
De megoldódott a dolog (leírom a nyitóposztban)
--
PtY - www.onlinedemo.hu, www.westeros.hu

Kb. az volt, amire szamitottam, szerintem amugy celszeru a SNAT / MASQUERADE targetekhez a kimeno interfacet beallitani, a cimtartomanyokkal mar ugyis foglalkozott a routing.

Az SNAT csak arra van használva, hogy belső IF-ről lehessen külső IP-re hivatkozni a befelé NAT-olt szolgáltatásokra. Elvileg jól volt beállítva, csak a belső címtartományok nem voltak megadva, emiatt mindenre elsült a szabály. Nem is tűnt fel, mert minden működött, csak a logolban vettem észre, hogy nincs publikus IP.
Szerencsére még nem produktív a környezet, így nagy gubancot nem okozott :)
Azért köszi a segítséget.
--
PtY - www.onlinedemo.hu, www.westeros.hu

Hasonló cipőben járok és érdekelne a konkrét megoldás.

"#define QUESTION ((bb) || !(bb)) /* (c) written by W. Shakespeare. */

Válaszolok magamnak:

Eredeti:

-A POSTROUTING -o ppp+ -j SNAT --to-source server1.kulso.ip
-A POSTROUTING -o eth1 -j SNAT --to-source server1.kulso.ip

Helyett:

iptables -t nat -A POSTROUTING -s server1.belso.ip -j SNAT --to server1.kulso.ip

"#define QUESTION ((bb) || !(bb)) /* (c) written by W. Shakespeare. */