PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WebServer hinter IPTables loggt nur DMZ_IP der Firewall



mbo
10.06.03, 14:19
moin moin allerseits,

dieses sogenannte portforwarding bei iptables macht mir problem. nennen wir es doch mal so wie es ist: destination-nat :(
jedenfalls funktioniert es ... warum auch net. nur sieht dementsprechend bescheuert das log des webservers aus

|INET| -> EXT_IP_|_Firewall_|_DMZ_IP -> |DMZ| -> DMZ_IP_|_WEB_|_LAN_IP -> |LAN|

Die Anfragen kommen auf die externe IP-Addr der Firewall, auf Port 80, ergo weiterschicken an DMZ_IP Port 80. Im Log des WebServers steht aber von jetzt immer nur die DMZ_IP der Firewall. Das mag ich net :(

Wenn ja, wie kann man das ändern?

cu/2 iae

PigPen|tuX
10.06.03, 16:47
huhu mbo,

ja das geht mir ähnlich, aber ne Lösung habe ich bisher nicht gefunden (vllt gibt ja keine :( )

das haut nämlich meine Webserver-Statistik durcheinander (awstats), dort wird nur die Firewall-IP als User gewertet, was natürlich nicht stimmt

see you
thom

geronet
10.06.03, 20:01
Ich denke das ist einer der wenigen Nachteile bei NAT/Masquerading.
Wüsste auf die schnelle keine Lösung.

mbo
12.06.03, 08:17
hm,

wie würd ne ziege jetzt sagen?
mäh!

also bliebe wohl nur, auf die firewall einen apache mit virtuell host ... oder loadbalancing ... oder proxy ... gut, proxy is ne doofe idee ...

ich grüble mal.

bis dann

[WCM]Manx
12.06.03, 08:44
Hi!

Ich hab Deine Netzwerktopologie nicht ganz verstanden, aber meine Situation:

Linux Box mit iptables als Gateway => 3 Interfaces (LAN, DMZ, WAN)
Im DMZ: Web- und Mailserver.
Sowohl Webserver als auch Mailserver sind über offizielle IPs erreichbar, diese ist aber am WAN-Interface der FW als alias konfiguriert.
Mit SNAT/DNAT werden die Verbindungen an die Server (mit privaten IPs 192.168.100.x) ins DMZ durchgereicht.
Auszug aus dem Log des Mailservers (Webmail):


aus dem internen Netz z.B:
192.168.3.50 - - [12/Jun/2003:07:33:15 +0200] "GET /logout.php HTTP/1.1" 302 5
192.168.3.50 - - [12/Jun/2003:07:33:15 +0200] "GET /login.php HTTP/1.1" 200 5025
...
von außen:
62.46.34.xx - - [12/Jun/2003:07:36:04 +0200] "GET /images/default/tri.gif HTTP/1.1" 200 844
62.46.34.xx - - [12/Jun/2003:07:36:05 +0200] "GET /images/default/select.all.gif HTTP/1.1" 200 858

:confused:

Manx

Jasper
12.06.03, 09:04
Original geschrieben von mbo
Wenn ja, wie kann man das ändern?


könnte es sein, dass du etwas zuviel SNATtest? wie sehen deine NAT regeln aus? SNAT sollte nur auf dem externen interface der firewall passieren. so wie du dein problem schilderst, SNATtest du auf allen interfaces.

-j

mbo
12.06.03, 10:07
hm

thx jasper, sehr guter einwand :)

wenn man zuviel macht, darf man sich net wundern, wenn zuviel net geht.
naja, ich werd mir wohl ein neues ego suchen ...

cu /2 iae
mbo

PigPen|tuX
16.06.03, 13:58
huhu mbo,

schon was Neues gefunden, haste eine Lösung parat oder schon erarbeitet,
ich finde mom keine Zeit bzw. habe zu wenig Zeit.

see you
thom

mbo
16.06.03, 14:06
jupp

ich hatte vorher diese zeilen im script


iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j SNAT --to-source $LAN
iptables -A FORWARD -i ippp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 80 -j ACCEPT

die letzte Zeile raus


iptables -A FORWARD -i ippp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 80 -j ACCEPT


und schon gehts. Es war das SNAT, was ich auf dem internen Firewall-NIC gesetzt hatte für diese Verbindung.

cu/2 iae

PigPen|tuX
16.06.03, 14:38
huhu,

also nur so ->

iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j SNAT --to-source $LAN


see you thom

mbo
16.06.03, 14:41
ich bin doof!

nein, diese beiden Zeilen nur, das SNAT muss wech



iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2
iptables -A FORWARD -i ippp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 80 -j ACCEPT


mußt natürlich beim zielsystem bez iptables und ipchains aufpassen
bringt nichts, wenn man vorn erlaubt und hinten verbietet ;)

cu/2 iae

PigPen|tuX
16.06.03, 23:55
huhu mbo,

habs nu gefunden ;)

hatte am ende noch ne regel eingebuat die das ganze maskierte ;)
nu funzt es

danke
see you
thom