benni: externer Zugriff über xxx.dyndns.org funktioniert, intern nicht

Hi!

Ich hab hier einen Server stehen, der gleichzeitig Router ist (jaja, ich weiß, aber ich hab eben nur einen Rechner...). Da drauf läuft ein Apache. Außerdem habe ich einen dyndns.org-account, um meine IP aktuell zu halten. Er dient übrigens auch als DNS-Server. Und er läuft unter SuSE 8.0.

Von außen läuft alles wunderbar. Ich kann mit benni.homelinux.net auf den Apache auf dem Server zugreifen und mit z.B. blog.benni.homelinux.net erreiche ich einen Virituellen Server auf dem Apache. Das klappt aber nicht, wenn ich die Adressen von meinem LAN aufrufen will.

Das einzige, was mir bisher eingefallen ist, ist, in die hosts-datei des Servers entsprechende Eintragungen zu machen, das hat aber nichts gebracht.

Kann mir jemand helfen?

Viele grüße,
benni

  1. hast Du die Virtuellen Hosts die Du erstellt hast nich an alle IP's (*) gebunden? eigentlich sollte der Aufruf von innen ja genauso funktionieren wie von außen ->

    Anfrage an DNS -> namensauflösung zu IP-Adresse -> Datentransfer mit IP-Adresse...

    Ist vielleicht eine chain im weg, die das ganze von innen irgendwie falsch routet oder so?

    mfg markus

    1. hast Du die Virtuellen Hosts die Du erstellt hast nich an alle IP's (*) gebunden?

      Doch, hab ich.

      Ist vielleicht eine chain im weg, die das ganze von innen irgendwie falsch routet oder so?

      Nicht dass ich wüsste - ich habe keine Chains erstellt. Also quasi alles noch standart...

      viele Grüße,
      benni

      1. kommst Du denn über localhost an den Server?
        Was sagt netstat auf welchen ports / IP's der server läuft?

        1. Hi!

          kommst Du denn über localhost an den Server?

          Am Server selber? Jop...

          Was sagt netstat auf welchen ports / IP's der server läuft?

          hmm... einfach bloß "netstat"? Sagt mir nichts hilfreiches. Kannst du mir ggf. die entsprechenden Parameter sagen?

          Viele Grüße,
          benni

  2. Hallo benni,

    Ich hab hier einen Server stehen, der gleichzeitig Router ist (jaja, ich weiß,

    Was weißt Du?

    Von außen läuft alles wunderbar. Ich kann mit benni.homelinux.net auf den Apache auf dem Server zugreifen und mit z.B. blog.benni.homelinux.net erreiche ich einen Virituellen Server auf dem Apache. Das klappt aber nicht, wenn ich die Adressen von meinem LAN aufrufen will.

    Welche Fehlermeldung?

    Viele Grüße,
    Christian

    1. Moin!

      Hast Du schon mal versucht auf den Rechnern im Netzwerk, z.B. durch Anlegen/Konfigurieren der hosts- Datei die Namensauflösung zu verbiegen, dass diese nicht den DNS fragen und die externe IP bekommen, sondern die des internen Netzwerkes?

      also :

      hosts

      127.0.0.1 localhost
      192.168.1.10 blog.benni.homelinux.net

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Meinereinerselbst ist auf der Suche nach Aufträgen
      1. Hi!

        Hast Du schon mal versucht auf den Rechnern im Netzwerk, z.B. durch Anlegen/Konfigurieren der hosts- Datei die Namensauflösung zu verbiegen, dass diese nicht den DNS fragen und die externe IP bekommen, sondern die des internen Netzwerkes?

        Jop. Das funktioniert auch, aber einerseits habe ich einige virtual-hosts, die ich eintragen müsste und andererseits hab ich mehrere Rechner, wo ich das tun müsste. Außerdem ist das doch nicht die "sauberste" Lösung ;-).

        Viele grüße,
        benni

    2. Hallo benni,

      Ich hab hier einen Server stehen, der gleichzeitig Router ist (jaja, ich weiß,

      Was weißt Du?

      Dass man nicht Server + Router "in einem" laufen lassen sollte, da es ein Sicherheitsrisiko darstellt.

      Von außen läuft alles wunderbar. Ich kann mit benni.homelinux.net auf den Apache auf dem Server zugreifen und mit z.B. blog.benni.homelinux.net erreiche ich einen Virituellen Server auf dem Apache. Das klappt aber nicht, wenn ich die Adressen von meinem LAN aufrufen will.

      Welche Fehlermeldung?

      Mozilla bringt mir "Zeitüberschreitung beim Verbindungsaufbau blablabla", ping bringt auch "Zeitüberschreitung"...

      (wenn ich ping benni.homelinux.net mache, zeigt er mir meine externe IP, wie sie bei dyndns.org geupdatet wurde...)

      viele grüße,
      benni

      1. Hallo benni,

        Ich hab hier einen Server stehen, der gleichzeitig Router ist (jaja, ich weiß,

        Was weißt Du?

        Dass man nicht Server + Router "in einem" laufen lassen sollte, da es ein Sicherheitsrisiko darstellt.

        Ein _potentielles_ Sicherheitsrisiko, ja.

        Welche Fehlermeldung?

        Mozilla bringt mir "Zeitüberschreitung beim Verbindungsaufbau blablabla", ping bringt auch "Zeitüberschreitung"...

        Hmmmm.... Das ist *sehr* seltsam. Zumindest ein ping sollte problemlos gehen. Bist Du Dir sicher, dass Du keine Firewall-Regel hast, die bestimmte Pakete (z.B. auch Deine) verwirft?

        Viele Grüße,
        Christian

        1. Hi!

          Hmmmm.... Das ist *sehr* seltsam. Zumindest ein ping sollte problemlos gehen. Bist Du Dir sicher, dass Du keine Firewall-Regel hast, die bestimmte Pakete (z.B. auch Deine) verwirft?

          Hmm... wie find ich das raus? (=>Wie lass ich alle Firewallregeln anzeigen?)

          viele grüße,
          benni

          1. Hallo benni,

            Hmm... wie find ich das raus? (=>Wie lass ich alle Firewallregeln anzeigen?)

            Wenn Du SuSE 8.0 hast, wirst Du vmtl. iptables verwenden. Mit

            iptables -L -n

            solltest Du Dir alle Filterregeln anzeigen lassen können.

            Viele Grüße,
            Christian

            1. Hi!

              Hmm... wie find ich das raus? (=>Wie lass ich alle Firewallregeln anzeigen?)

              Wenn Du SuSE 8.0 hast, wirst Du vmtl. iptables verwenden. Mit

              iptables -L -n

              solltest Du Dir alle Filterregeln anzeigen lassen können.

              Hui, ist ja ne ganze Menge. Naja, was mir so ungefähr Auffällt:

              Chain INPUT (policy DROP)
              LOG        all  --  192.168.0.250        0.0.0.0/0          LOG flags 6 level 4 prefix `SuSE-FW-DROP-ANTI-SPOOFING '
              DROP       all  --  192.168.0.250        0.0.0.0/0

              Chain forward_dmz (0 references)
              LOG        all  --  192.168.0.0/24       0.0.0.0/0          LOG flags 6 level 4 prefix SuSE-FW-DROP-ANTI-SPOOF ' DROP       all  --  192.168.0.0/24       0.0.0.0/0 LOG        all  --  0.0.0.0/0            192.168.0.250      LOG flags 6 level 4 prefix SuSE-FW-DROP-CIRCUMVENTION '
              DROP       all  --  0.0.0.0/0            192.168.0.250

              Chain forward_ext (1 references)
              LOG        all  --  192.168.0.0/24       0.0.0.0/0          LOG flags 6 level 4 prefix SuSE-FW-DROP-ANTI-SPOOF ' DROP       all  --  192.168.0.0/24       0.0.0.0/0 LOG        all  --  0.0.0.0/0            192.168.0.250      LOG flags 6 level 4 prefix SuSE-FW-DROP-CIRCUMVENTION '
              DROP       all  --  0.0.0.0/0            192.168.0.250

              Chain input_dmz (0 references)
              LOG        all  --  192.168.0.0/24       0.0.0.0/0          LOG flags 6 level 4 prefix `SuSE-FW-DROP-ANTI-SPOOF '
              DROP       all  --  192.168.0.0/24       0.0.0.0/0

              Chain input_ext (1 references)
              LOG        all  --  192.168.0.0/24       0.0.0.0/0          LOG flags 6 level 4 prefix `SuSE-FW-DROP-ANTI-SPOOF '
              DROP       all  --  192.168.0.0/24       0.0.0.0/0

              (sind wie gesagt nur ausschnitte...)

              Fällt da irgendwas drunter? Was port-80-spezifisches hab ich nicht gefunden...

              viele Grüße,
              benni

              1. Hallo benni,

                Hui, ist ja ne ganze Menge. Naja, was mir so ungefähr Auffällt:

                Ähm, was »ungefähr Auffällt« ist leider nicht genug. Stelle doch die gesamte Ausgabe mal in einer Datei online. Denn nur mit der Gesamtheit aller Regeln kann man irgendwie Aussagen treffen, wie die Firewall reagiert.

                Außerdem wäre eine kleine Information, welche IP-Adressen Du in Deinem Netz verwendest, sinnvoll. Zumindest sollten alle IP-Adressen erklärt sein, die in der Ausgabe auftauchen.

                Was port-80-spezifisches hab ich nicht gefunden...

                Es muss ja nicht spezifisch sein, wenn nicht mal ein ping geht.

                Viele Grüße,
                Christian

                1. Hallo benni,

                  Hui, ist ja ne ganze Menge. Naja, was mir so ungefähr Auffällt:

                  Ähm, was »ungefähr Auffällt« ist leider nicht genug. Stelle doch die gesamte Ausgabe mal in einer Datei online. Denn nur mit der Gesamtheit aller Regeln kann man irgendwie Aussagen treffen, wie die Firewall reagiert.

                  OK:
                  http://benni.homelinux.net/misc/iptables.txt

                  Außerdem wäre eine kleine Information, welche IP-Adressen Du in Deinem Netz verwendest, sinnvoll. Zumindest sollten alle IP-Adressen erklärt sein, die in der Ausgabe auftauchen.

                  Also eigentlich nicht viele:
                  2 Netzwerkkarten
                   - eine "extern", also DSL/Internet
                   - eine Intern
                     - feste ip 192.168.0.250
                     - netmask 255.255.255.0
                     - Daran hängen alle Clients, die Adressen per DHCP bekommen

                  HTH

                  Viele Grüße,
                  benni

                  1. Hallo benni,

                    http://benni.homelinux.net/misc/iptables.txt

                    Tja, schon wird es etwas klarer:

                    Chain INPUT (policy DROP)
                    target     prot opt source               destination
                    [...]
                    input_ext  all  --  0.0.0.0/0            80.136.232.254

                    [...]

                    Chain input_ext (1 references)
                    target     prot opt source               destination
                    LOG        all  --  192.168.0.0/24       0.0.0.0/0          LOG flags 6 level 4 prefix `SuSE-FW-DROP-ANTI-SPOOF '
                    DROP       all  --  192.168.0.0/24       0.0.0.0/0

                    Was heißt das jetzt genau: In der Chain INPUT (d.h. der Regelkette, die abgearbeitet wird, wenn Pakete hereinkommen) kommt irgendwann die Regel, dass auf alle Pakete, die an Deine externe IP geleitet werden (in diesem Fall diese 80er), alle Regeln der Chain input_ext angewendet werden sollen.

                    In der Chain input_ext (die ist selbst definiert [1]) werden alle Pakete, die vom lokalen Netzwerk kommen, verworfen. (DROP)

                    Du kannst ja mal probieren, die Firewall temporär komplett zu deaktivieren:

                    iptables -P INPUT ACCEPT
                    iptables -P OUTPUT ACCEPT
                    iptables -P FORWARD ACCEPT
                    iptables -F

                    Dann sollte es klappen mit dem Zugriff von Intern. Wenn ja, dann weißt Du woran es liegt, wenn nein, dann habe ich keine Ahnung, woran es noch liegen könnte.

                    Wenn es denn tatsächlich die Firewall ist, dann würde ich erst mal den Rechner neu starten (beim Runterfahren wird es ein paar Fehlermeldungen bzgl. Firewall geben, die Du jedoch getrost ignorieren kannst) und dann mal in aller Ruhe im SuSE-Handbuch nachschlagen, wie man die Firewall über SuSE-Methoden deaktiviert. Du solltest Dir dann ein Buch über Firewalls auf Linux-Basis kaufen und dann selbst eine aufsetzen bzw. jemanden hinzuziehen, der von der Materie genug Ahnung hat. Alternativ kannst Du Dich natürlich bei SuSE nach einer Konfigurationsoption umschauen, die Dir einen Zugriff von innen ermöglicht oder Du könntest mal beim SuSE Support nachfragen.

                    Viele Grüße,
                    Christian

                    [1] Es sind (in der Tabelle 'filter', bei 'nat' und 'mangle' sieht es anders aus) genau 3 Chains vordefiniert: INPUT für eingehende Pakete, FORWARD für Pakete, die der Rechner beschlossen hat weiterzuleiten und OUTPUT für ausgehende Pakete. Der Rest kann für bessere Übersicht selbst definiert werden.

                    1. Hi!

                      [Erklärungen zu meiner Firewall]

                      In der Chain input_ext (die ist selbst definiert [1]) werden alle Pakete, die vom lokalen Netzwerk kommen, verworfen. (DROP)

                      Ahja. *mist*. Ich kann mich aber trotzdem nicht daran erinnern, jemals so eine Regel erstellt zu haben. Kann es sein, dass das irgendwie der pppd oder so bei der Installation von selbst macht?

                      Du kannst ja mal probieren, die Firewall temporär komplett zu deaktivieren:

                      iptables -P INPUT ACCEPT
                      iptables -P OUTPUT ACCEPT
                      iptables -P FORWARD ACCEPT
                      iptables -F

                      Dann sollte es klappen mit dem Zugriff von Intern. Wenn ja, dann weißt Du woran es liegt, wenn nein, dann habe ich keine Ahnung, woran es noch liegen könnte.

                      Gut, ich hab sie einfach mit SuSEfirewall2 stop angehalten. Und siehe da, es klappt!

                      [tipps zur Firewall-neukonfiguration]

                      Reicht es nicht einfach, die entsprechende Regel einfach rauszuschmeißen? Oder hab ich dann ein Scheunentor offen?

                      Viele Grüße und auf jeden Fall schon mal vielen Dank,
                      benni graf

                      1. Hallo benni,

                        Ich kann mich aber trotzdem nicht daran erinnern, jemals so eine Regel erstellt zu haben. Kann es sein, dass das irgendwie der pppd oder so bei der Installation von selbst macht?

                        Das macht SuSE bei der Installation von selbst.

                        Reicht es nicht einfach, die entsprechende Regel einfach rauszuschmeißen?

                        Ja, wenn Du weißt, wo im SuSE-Script Du suchen musst. ;-)

                        Oder hab ich dann ein Scheunentor offen?

                        Jain. Die SuSE-Firewall scheint mir hier schwachsinnig zu agieren. Die Regel soll nämlich eines verhindern: Dass wenn von *außen* Pakete mit Absender = Lokale IP kommen, diese verworfen werden. Das Kriterium "von außen" wird hier über "mit Ziel-IP = externe IP" gemacht, was IMHO schwachsinnig ist. Denn es kommt ja auf das Interface an und nicht auf die Ziel-IP. (und auf Interfaces kann iptables auch matchen)

                        Andererseits: Wenn jemand es tatsächlich schaffen sollte, an allen Routern im Internet zwischen Dir und ihm mit einer gefälschten, privaten Absender-IP durchzukommen, dann würde es mich wundern. Das potentielle Sicherheitsrisiko dürfte nicht allzu groß sein, im Gegenteil, eher fast Null. An Deiner Stelle würde ich die Regel erst einmal rausnehmen. Dann kannst Du damit erst mal ganz gut leben. Eine eigene Firewall aufsetzen (oder evtl. aufsetzen zu lassen) halte ich jedoch längerfristig für sinnvoller als diesen SuSE-Krempel zu verwenden, der schon auf den ersten Blick nicht toll aussieht. (und ich bin bestimmt kein Firewall-Experte, ich kenne mich etwas damit aus)

                        Viele Grüße,
                        Christian

                        1. Hi!

                          Ok, Hast recht, das Szenario ist wirklich sehr unwarscheinlich.

                          Thema SuSE-Firewall:
                          Ich kenn mich auch nicht besonders aus, aber ein Bekannter hat vor einiger Zeit mal gesagt, die SuSE-Firewall wäre wohl eine der Besten, da sie schon mitten im Kernel ansetzt. (Oder so.)

                          Vorerst bin ich mal damit zufrieden. Mal sehen, was kommt ;-).

                          Viele Grüße und besten Dank,
                          benni