Supportnet / Forum / Linux
port 80 auf anderen rechner forwarden...
Frage
Moin Leuts und noch ein gesundes neues Jahr!
Ich kämpfe hier noch immer mit der http-Weiterleitung auf einen Rechner hinter meinem Linux Router. Ich habe mir aus verschiedenen Quellen ein FilterScript
zusammengebastelt, welches mir (normalerweise, theoretisch :-) die Anfragen von Port 80 auf den Rechner mit dem Apache weiterleiten sollte. Das
logischerweise mittels iptables. Dazu steht in meinem Script unter anderem folgendes:
iptables -A FORWARD -p tcp -i $IF_INET -s $IF_INET_IP --sport 80 -d $IF_SERVER_IP --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $IF_INET -p tcp -d $IF_INET_IP --dport 80 -j DNAT --to $IF_SERVER_IP
iptables -A FORWARD -p tcp -i $IF_LAN -s $IF_SERVER_IP --sport 80 -d $IF_INET_IP --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $IF_LAN -p tcp -d $IF_SERVER_IP --dport 80 -j DNAT --to $IF_INET_IP
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
Dabei steht in den Variablen IF_INET ppp0, in IF_INET_IP die ermittelte momentane IP nach draußen, in IF_LAN eth0 und in IF_SERVER_IP die feste IP des
Apache Rechners. Sicher ist davon das eine oder andere überflüssig bzw. unsicher, aber funktionieren tut es gar nicht. Also mein Apache Rechner ist von
außerhalb nicht erreichbar!? Von den Clients meines Netzes aus ist das kein Problem, die Seite wird korrekt dargestellt. Woran könnte das denn noch liegen?
Ich bin ja schon ganz froh darüber, was ich innerhalb der letzten Tage über iptables gelernt habe, aber worum es mir eigentlich ging, daran hapert es
noch...
Eben habe ich auch festgestellt, das ich keine Mails mehr verschicken kann! Da hab' ich mir wohl auch den smtp-Port zugesperrt oder?
Aus den diversen Pages über iptables werd ich irgenwie nicht so recht schlau!? Nach meinen Regeln oben ist doch nun der Port 80 offen! Die Ausgabe von
iptables -L -n zeigt mir als jeweils ersten tcp-Eintrag folgendes:
chain INPUT (policy DROP)
...
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
...
chain FORWARD (policy DROP)
...
ACCEPT tcp -- ?.?.?.? 192.168.0.200 tcp spt:80 dpt:80
ACCEPT tcp -- 192.168.0.200 ?.?.?.? tcp spt:80 dpt:80
...
chain OUTPUT (policy ACCEPT)
...
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
...
Bei den Fragezeichen steht dann meine aktuelle DSL-IP und 192.168.0.200 ist mein Apache Rechner.
So, das war jetzt ganz schön viel. Ich hoffe, es findest sich auch jemand, der das alles liest und auch noch versteht...
MfG
Yves
Antwort 1 von StarWarsFan
Hm...
Sollte es wirklich so sein das damit niemand hier Erfahrung hat???
Höchst verwundert...
Yves
Sollte es wirklich so sein das damit niemand hier Erfahrung hat???
Höchst verwundert...
Yves
Antwort 2 von StarWarsFan
Offensichtlich kennt sich leider keiner hier mit iptables aus...
Schade...
Yves
Schade...
Yves
Antwort 3 von netz-master
was fur ein router iss dat smoothwall oder ein große distribution (wenn ja welche) ??
Antwort 4 von StarWarsFan
Hi,
also der Router-Rechner läuft unter SuSE 9.0. Dabei geht es über eine Fritz!Card-DSL nach draußen (ppp0) und eine Realtek NIC (eth0, feste IP) nach drinnen an einen Switch. An diesem Switch hängen dann die anderen Rechner, unter anderem besagter Apache Rechner (ebenfalls feste IP). Auf dem Router läuft DHCP, so dass alle anderen Rechner automatisch ihre IP's bekommen (das Ganze steht auch nochmal in meiner Visitenkarte). Momentan habe ich die SuSE Firewall wieder laufen, diese routet mir aber wie gesagt die Port 80 Anfragen nicht weiter!?
MfG
Yves
also der Router-Rechner läuft unter SuSE 9.0. Dabei geht es über eine Fritz!Card-DSL nach draußen (ppp0) und eine Realtek NIC (eth0, feste IP) nach drinnen an einen Switch. An diesem Switch hängen dann die anderen Rechner, unter anderem besagter Apache Rechner (ebenfalls feste IP). Auf dem Router läuft DHCP, so dass alle anderen Rechner automatisch ihre IP's bekommen (das Ganze steht auch nochmal in meiner Visitenkarte). Momentan habe ich die SuSE Firewall wieder laufen, diese routet mir aber wie gesagt die Port 80 Anfragen nicht weiter!?
MfG
Yves
Antwort 5 von netz-master
Da kann ich dir einen tip geben wenn du webmin auf dem router hast dann kannste du dir das modul susefirewall installen und dann kannst du das im webmin schön einstellen oder in der config datei /etc/sysconfig/SuSEfirewall2 und da suchst du nach
FW_FORWARD_MASQ=""
und da trägst du dann folgendes ein
0/0,xxx.xxx.xxx.xxx,tcp,80
0/0,xxx.xxx.xxx.xxx,udp,80
bei xxx trägst du die ip von deinem apache server ein.
das sollte so aussehen
FW_FORWARD_MASQ="0/0,xxx.xxx.xxx.xxx,tcp,80 0/0,xxx.xxx.xxx.xxx,udp,80"
das funzt nur bei der susefirewall2 mit der personalfirewall hab ich das noch nicht getestet
viel spass beim einstellen
Alex
FW_FORWARD_MASQ=""
und da trägst du dann folgendes ein
0/0,xxx.xxx.xxx.xxx,tcp,80
0/0,xxx.xxx.xxx.xxx,udp,80
bei xxx trägst du die ip von deinem apache server ein.
das sollte so aussehen
FW_FORWARD_MASQ="0/0,xxx.xxx.xxx.xxx,tcp,80 0/0,xxx.xxx.xxx.xxx,udp,80"
das funzt nur bei der susefirewall2 mit der personalfirewall hab ich das noch nicht getestet
viel spass beim einstellen
Alex
Antwort 6 von netz-master
danach musste die firewall neustarten hab ich noch vergessen zu sagen

