Einige Weiterleitungen funtzen nicht (iptables)

Post Reply
Message
Author
Schnitzel

Einige Weiterleitungen funtzen nicht (iptables)

#1 Post by Schnitzel »

Hallöchen zusammen.

Ich habe von meinem Vorgänger ein Linux-Server übernommen (Fedora 5), welcher als Firewall und Webserver dient.
Das läuft auch alles einwandfrei. Nun will ich einen zweiten Webserver auf einem anderen Server betreiben, was die Firewall aber leider nicht durchroutet.

Hier mal die Daten der Firewall/Webserver1:
ETH0 = 19ner Netz (intern)
ETH1 = Extern (IP´s x.x.x.98 - x.x.x.101)
ETH2 = 100ter netz (IP 192.168.100.10)

Webserver1 läuft auf 192.168.100.10:80
Webserver2 läuft auf 192.168.100.11:80
SharePointServer läuft auf 192.168.100.11:8091

Hier mal der entsprechende Code der Firewall:

Code: Select all

# NAT für Webserver1
iptables -t nat -A PREROUTING  -d 212.184.166.98 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10
iptables -A FORWARD -m state --state NEW -p tcp -d 192.168.100.10 --dport 80 -j ACCEPT

# NAT für Webserver2
iptables -t nat -A PREROUTING  -d 212.184.166.101 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.11
iptables -A FORWARD -m state --state NEW -p tcp -d 192.168.100.11 --dport 80 -j ACCEPT

# NAT für SharePoint
iptables -t nat -A PREROUTING  -d 212.184.166.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.11:8091
iptables -A FORWARD -m state --state NEW -p tcp -d 192.168.100.11 --dport 8091 -j ACCEPT
Das komische ist, das "NAT für Webserver1" fehlerfrei läuft und durchgeroutet wird.
"NAT für Webserver2" und "NAT für SharePoint" aber nicht.
Die Webseite2 und SharePoint sind aber lokal erreichbar, laufen also.
Auch die externen Adressen laufen und kommen an der Firewall an.
Wenn ich die x.x.x.101 an die 192.168.100.10 weiterleite läufts auch.
Ich kann nur nix an die 192.168.100.11 weiterleiten.

Bin nach 8 Std. arbeit langsam mit meinem Latein am ende (u.a. weil ich kein fundiertes Linux-Wissen habe)

Please help!

-Schnitzel

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Es ist ein erheblicher Unterschied, ob ein Service auf demselben Rechner läuft wie der Paketfilter, oder auf einem externen. Erst einmal musst du die FORWARD-Chain bestimmt noch weiter beackern, zudem muss /proc/sys/net/ipv4/ip_forward den Inhalt "1" haben, damit IPv4-Pakete weitergeleitet werden. Ist das denn überhaupt entsprechend eingerichtet?

Weiterhin müssen natürlich auch Routen auf dem zweiten Rechner eingerichtet sein. In deinem Fall muss der Linuxrechner hvmtl. dort als Standardgateway eingetragen sein.

Eine gewisse Schwierigkeit besteht weiterhin darin, dass der Linux-Rechner drei externe IP-Adressen hat. Ich hab das jetzt nicht überprüft, aber evtl. müssen die *zurückkehrenden* Pakete in der POSTROUTING-Chain so umgeschrieben werden, dass sie auch von der "richtigen" externen IP-Adresse abgesendet werden. Evtl. macht der Routingcode dies aber auch schon automatisch richtig. Nachprüfen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Schnitzel

#3 Post by Schnitzel »

Danke Janka, es war tatsächlich der Gateway, welcher nicht auf den Linux-Server eingestellt war.

Post Reply