Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Begrüssung, Vorstellung und ein böser Port 80

  1. #1
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Hamburg
    Beiträge
    8

    Begrüssung, Vorstellung und ein böser Port 80

    Moin moin aus dem hohen nun etwas kühleren Norden (Hamburg),

    kurz ein paar Worte zu mir:

    Geb. 12.06.1969
    Männlich

    Seit ca. 13 Jahren in Rechenzentren berufstätig. Vorwiegend betreute und betreue ich Windows-Netzwerke. Zwischen 1998 und 2002 lag mein Schwerpunkt aber eher im SUN Solaris Bereich, in welchen ich Internet-Gateways für Banken und Finanzdienstleister (DVG Hannover, Postbank Bonn, 3BEG Linz) betreut habe.

    In dieser Zeit erarbeitete ich mir zwangsläufig meine Kenntnisse über UNIX-Systeme im allgemeinen und vor allem Solaris 2.5.1, 2.6, 7 und 8 im speziellen :-). Ich lernte UNIX zu lieben und vor allem zu repektieren. Wer leicht selbstüberschätzend lange Zeit Windows-Systeme betreute, merkt im Umgang mit UNIX-Systemen erst was er alles noch nicht weiß. Oh je, ich fühlte mich wie ein blutiger DAU bei meinen ersten Kontakten mit Solaris und Linux ;-)

    Tja und nun holt mich meine Vergangenheit ein. In meinen privaten kleinen LAN betreibe ich 3 WinXP Rechner welche über einen LANCOM DSL-Router ans Internet angebunden habe. Soweit so gut.

    Nun war es endlich an der Zeit mir einen lang ersehnten Wunsch zu realisieren. Ich hatte endlich genug Einzelteile zusammen, um mir meinen vierten PC zusammenzuschrauben. Dieser sollte mit SUSE (Tecchannel Compact - Linux-Server Komplettpaket) ausgerüstet werden und im Endausbau als Firewall mit zwei Netzwerkkarten zwischen den 3 Windows-Kisten und dem LANCOM-Router fungieren.

    Zum aktuellen Stand hängt der Linux-Rechner mit einer Netzwerkkarte neben allen anderen Rechnern an ein und dem selben HUB. Die zweite Netzwerkkarte ich aktiviert und mit einer IP versehen, wird aber sonst noch nicht genutzt. Bisher habe ich den DHCP-Server vom LANCOM auf den Linux-Server umziehen lassen. Desweiteren setze ich den Linux-Rechner bereits als Standard-Gateway für die Windowskisten ein.

    Das klappt auch alles soweit ganz gut bis auf eine Ausnahme. Die Ausnahme sind Anfragen auf den Port 80. Auf dem Linux-Rechner läuft ein Apache, welcher sowohl den Port 80 als auch den Port 443 anbietet. Über den lokalen Port kann ich auf dem Linux-Server beide Ports (http und https) ansprechen. Von den Windowskisten aus erreiche ich aber nur den Port 443. Der Port 80 ist nicht erreichbar.

    Gleiches gilt seltsamerweise auch für Port-80-Anfragen welche über den Linux-Server geroutet werden sollen. Ich kann beispielsweise https://www.web.de erreichen. http://www.web.de geht allerdings nicht.

    Sobald ich als Standard-Gateway wieder meinen LANCOM einsetze funktionieren wieder beide Anfragen.

    Mit folgenden Test habe ich diesen Umstand über tcpdump dokumentiert:

    Rechner M1 - Gateway Linux-Rechner
    Rechner M2 - Gateway LANCOM

    Getestet habe ich wie folgt:

    Test mit "telnet www.web.de 80"

    Fehlgeschlagene Port 80 Anfrage vom Rechner M1 über den Linux - Router:

    linux:/etc/httpd # tcpdump port 80
    Kernel filter, protocol ALL, datagram packet socket
    tcpdump: listening on eth0

    23:27:58.311487 m1.1133 > linux.terra.3128: S 998478071:998478071(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:27:58.311487 ha-42.web.de.http > m1.1133: R 0:0(0) ack 998478072 win 0 (DF) 23:27:58.761487 m1.1133 > linux.terra.3128: S 998478071:998478071(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:27:58.761487 ha-42.web.de.http > m1.1133: R 0:0(0) ack 1 win 0 (DF) 23:27:59.271487 m1.1133 > linux.terra.3128: S 998478071:998478071(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:27:59.271487 ha-42.web.de.http > m1.1133: R 0:0(0) ack 1 win 0 (DF)

    Erfolgreiche Port 80 Anfrage vom Rechner M2 über LANCOM

    linux:/etc/httpd # tcpdump port 80
    Kernel filter, protocol ALL, datagram packet socket
    tcpdump: listening on eth0

    23:31:22.031487 m2.3480 > ha-42.web.de.http: S 1373293737:1373293737(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:31:22.121487 ha-42.web.de.http > m2.3480: S 224728692:224728692(0) ack 1373293738 win 5840 <mss 1400,nop,nop,sackOK> (DF) 23:31:22.121487 m2.3480 > ha-42.web.de.http: . 1:1(0) ack 1 win 64400 (DF)


    Nun der ganze Test noch mal mit HTTPS (Port 443) welcher auf beiden Rechnern erfolgreich ist.


    Test mit telnet www.web.de 443

    Erfolgreiche Port 443 Anfrage vom Rechner M1 über LINUX-Server

    linux:/etc/httpd # tcpdump port 443
    Kernel filter, protocol ALL, datagram packet socket
    tcpdump: listening on eth0

    23:34:12.961487 m1.1134 > ha-42.web.de.https: S 1092036766:1092036766(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:34:12.961487 linux.terra.1134 > ha-42.web.de.https: S 1092036766:1092036766(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:34:13.071487 ha-42.web.de.https > m1.1134: S 413256998:413256998(0) ack 1092036767 win 5840 <mss 1400,nop,nop,sackOK> (DF) 23:34:13.071487 ha-42.web.de.https > m1.1134: S 413256998:413256998(0) ack 1092036767 win 5840 <mss 1400,nop,nop,sackOK> (DF) 23:34:13.071487 m1.1134 > ha-42.web.de.https: . 1:1(0) ack 1 win 64400 (DF) 23:34:13.071487 linux.terra.1134 > ha-42.web.de.https: . 1092036767:1092036767(0) ack 413256999 win 64400 (DF)


    Erfolgreiche Port 443 Anfrage vom Rechner M2 über LANCOM

    23:35:47.331487 m2.1142 > ha-42.web.de.https: S 3357958730:3357958730(0) win 64240 <mss 1460,nop,nop,sackOK> (DF) 23:35:47.511487 ha-42.web.de.https > m2.1142: S 506502864:506502864(0) ack 3357958731 win 5840 <mss 1400,nop,nop,sackOK> (DF) 23:35:47.511487 m2.1142 > ha-42.web.de.https: . 1:1(0) ack 1 win 64400 (DF)


    Von besonderen Interesse dürfte die Fehlgeschlagene Port 80 Anfrage über den Linux-Server sein. Der TCP-DUMP Auszug sieht doch irgendwie sehr seltsam aus. Es wird der Port 3128 auf meinem Linux-Server angefunkt, welchen ich auf dem Linux-Rechner aber nicht lokalisieren kann. Was ist das für ein Port?

    Wenn ich den Apachen-Port 80 auf meinem Linux-Server von einem Windows-Rechner erfolglos anfunke bekomme ich die gleichen Ausgaben im TCPDUMP. Immer wenn es sich um den Port 80 dreht, egal ob Apache oder geroutet, tritt dieser Port 3128 auf den Plan, welchen ich mir nicht erklären kann.

    Das Problem scheint ja irgendwie auf dem Linux-Server zu liegen, aber wo?

    Erfolgreich sind übrigens nicht nur 443 Anfragen. Auch SMTP, POP3, ICMP funktionieren sowie einige Andere Dienste wie beispielsweise HBCI.

    Probleme macht NUR der Port 80! Leider ist dieser für mich recht wichtig :-) daher mein großes Interesse daran dieses Problem, evt. Ja mit eurer Hilfe, zu lösen.

    Gruß
    nopain

  2. #2
    Moderator Avatar von taylor
    Registriert seit
    Dec 2000
    Ort
    Mannheim
    Beiträge
    5.618

    Re: Begrüssung, Vorstellung und ein böser Port 80

    Hi!

    Bin leider schon total müde, daher nur ganz kurz:
    Original geschrieben von nopain666
    Es wird der Port 3128 auf meinem Linux-Server angefunkt, welchen ich auf dem Linux-Rechner aber nicht lokalisieren kann. Was ist das für ein Port?
    Squid, der Web Proxy lauscht da standardmäßig. Wird sicher mit Deinem Port80 Problem zusammenhängen, mal schaun, was uns dazu morgen einfällt

    Bye,
    Taylor
    Debian GNU/Linux Sid, KDE, Kernel 2.6.10-as6, XFS - Richtig Fragen stellen

    Besucht uns im IRC auf irc.linuxforen.de in #linuxforen.de

  3. #3
    immer mitGlied
    Registriert seit
    Mar 2002
    Ort
    Dresden
    Beiträge
    91
    Hallo!
    Ich hatte ähnliches Problem. Hast Du schon Masquerading eingeschaltet?
    In der SuSE Support - Datenbank steht eine Anleitung, wie Du den Gateway einrichten musst.
    http://sdb.suse.de/de/sdb/html/masq80.html

    Wichtig ist der Teil, wo Du die Firewall "einstellst"!

    der Lars

  4. #4
    Moderat0r Avatar von geronet
    Registriert seit
    May 2001
    Ort
    Grainau
    Beiträge
    6.099
    Dir muss geholfen werden, bei so einer ausführlichen Frage

    Nun,

    23:27:58.311487 [B]m1.1133 > linux.terra.3128[B]

    Das ist ein Paket vom Rechner m1, Quellport 1133 zum Rechner linux.terra, Zielport 3128.
    Der Zielport 3128 ist meistens, wie oben erwähnt, der Port von Squid.

    Nun gibt es zwei Möglichkeiten:
    Du hast auf m1 einen Proxy eingetragen, und zwar linux.terra:3128 oder er hat sich ihn selber gesucht per DHCP.
    Die zweite Möglichkeit wäre ein Redirect von Port 80 auf 3128, bei dem Rechner linux.terra.
    Das nennt man dann einen transparenten Proxy.

    Ich würde erstmal festellen ob du den squid oder einen anderen Proxy laufen hast, mit "ps -e" oder "netstat -an" kann man das am besten.

    Grüsse, Stefan
    Nur Puffin verleiht dir die Kraft und Ausdauer die du brauchst!

  5. #5
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Hamburg
    Beiträge
    8
    Moin Leute,

    Original geschrieben von geronet
    [B]Dir muss geholfen werden, bei so einer ausführlichen Frage

    Nun,

    23:27:58.311487 [B]m1.1133 > linux.terra.3128

    Das ist ein Paket vom Rechner m1, Quellport 1133 zum Rechner linux.terra, Zielport 3128.
    Der Zielport 3128 ist meistens, wie oben erwähnt, der Port von Squid.

    Nun gibt es zwei Möglichkeiten:
    Du hast auf m1 einen Proxy eingetragen, und zwar linux.terra:3128 oder er hat sich ihn selber gesucht per DHCP.
    Die zweite Möglichkeit wäre ein Redirect von Port 80 auf 3128, bei dem Rechner linux.terra.
    Das nennt man dann einen transparenten Proxy.

    Ich würde erstmal festellen ob du den squid oder einen anderen Proxy laufen hast, mit "ps -e" oder "netstat -an" kann man das am besten.

    Grüsse, Stefan
    Tja also, was soll ich sagen.... der olle Tintenfisch lief tatsächlich nicht. Daher konnte ich natürlich auch keinen Port 3128 auf meinem Rechner lokalisieren. Nun läuft das Teilchen und alles ist gut.

    Da es also offensichtlich einen Redirect vom Port 80 auf 3128 gibt, schließt sich nun dir Frage an, wo kann ich diesen überprüfen und ggf. ändern oder einstellen? Über IPTABLES kann ich nichts finden, was darauf schließen ließe, daß der Port 80 umgeleitet wird.... :-?

    Gruß
    Nopain

  6. #6
    Moderat0r Avatar von geronet
    Registriert seit
    May 2001
    Ort
    Grainau
    Beiträge
    6.099
    Zeig mal die Ausgabe von

    iptables -t nat -L

    Grüsse, Stefan
    Nur Puffin verleiht dir die Kraft und Ausdauer die du brauchst!

  7. #7
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Hamburg
    Beiträge
    8
    Moin,

    aja, verstehe... da ist der Bösewicht versteckt. D.h. wenn ich diese REDIRECT-Einträge lösche, kann ich wieder auf den Proxy-Server verzichten, gell?


    linux:/etc # iptables -t nat -L
    Chain PREROUTING (policy ACCEPT)
    target prot opt source destination
    REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3128
    REDIRECT tcp -- anywhere anywhere tcp dpt:ftp redir ports 2121

    Chain POSTROUTING (policy ACCEPT)
    target prot opt source destination
    MASQUERADE all -- anywhere anywhere

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    linux:/etc #


    Tolle Sache und riesen Dank für die Hilfe!
    Gruß
    nopain

  8. #8
    Moderat0r Avatar von geronet
    Registriert seit
    May 2001
    Ort
    Grainau
    Beiträge
    6.099
    Chain PREROUTING (policy ACCEPT)
    target prot opt source destination
    REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3128
    REDIRECT tcp -- anywhere anywhere tcp dpt:ftp redir ports 2121


    Chain POSTROUTING (policy ACCEPT)
    target prot opt source destination
    MASQUERADE all -- anywhere anywhere

    Die fetten Zeilen kannst du mit

    iptables -t nat -F PREROUTING

    löschen, die zweite ist für ftp gedacht.

    Grüsse, Stefan
    Nur Puffin verleiht dir die Kraft und Ausdauer die du brauchst!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •