FritzBox – interne Portweiterleitungen einrichten

IM EINSATZ?

Dann schau dir UNSEREN LOXKURS an und profitiere von unserem Wissen!

Die FritzBox von AVM ist mittlerweile einer der flexibelsten Modem-Router, der aktuell am Markt erhältlich ist. Je nach Modell ist die Bezeichnung der Geräte als klassischer Router jedoch irreführend. Eine Fritz!Box 7390 (Amazon Link) (Affiliate-Link) zum Beispiel ist im Stande viel mehr Aufgaben zu übernehmen. Das Device ist oftmals die zentrale Kommunikationsbasis ganzer Haus-IT-Lösungen. Wer mehrere Netzwerkgeräte im Einsatz hat, weiss vor allem die Portweiterleitung (Portforwarding) zu schätzen. Über einen eingerichteten DNS-Account (z.B. DynDns) oder dem AVM-eigenen Dienst myFRITZ! (Anleitung hier) können somit auf unterschiedlichen Ports unterschiedliche Netzwerkgeräte von außerhalb des Heimnetzes kontaktiert werden.

Portweiterleitung im Web-Interface

Erweitert man die Ansicht der FritzBox (System -> Ansicht -> Erweiterte Ansicht), können unter dem Menupunkt „Internet – Freigaben“ unterschiedliche Portweiterleitungen konfiguriert werden. Auf den Ablauf wird hier jedoch nicht weiter eingegangen.

Oftmals ist auch eine interne Portweiterleitung an die FritzBox selbst sehr hilfreich. Die neueste Labor-Firmware von AVM enthält beispielsweise das FHEM-Paket für den Betrieb einer Hausautomation-Lösung. Die dazu gehörige iOS-App FHEMobile (App-Store-Link) muss dazu auf den Port 7072 der FritzBox konfiguriert werden. Alle Zugriffe auf dieser „Leitung“ sollen also an die Fritzbox selbst, die als Server für FHEM agiert, weitergeleitet werden. Versucht man jedoch dieses Vorhaben im Web-Interface umzusetzen, endet die Arbeit mit einer Fehlermeldung: „FEHLER: Eintrag kollidiert mit interner Regel„. Es sieht also alles so aus, als wäre hier das Ende der Bemühungen erreicht. Aber auch diese Einschränkung lässt sich überwinden.

[app 389951065]

Portweiterleitung intern über Telnet konfigurieren – ar7.cfg

Die Lösung des Problems ist die Modifikation einer Konfigurationsdatei der FritzBox (ar7.cfg). In dieser sind viele Einstellungen, wie z.B. auch die Portweiterleitungen hinterlegt. Um die Datei zu verändern, muss zunächst eine Terminal-Verbindung mit der FritzBox hergestellt werden. Bitte vorher unbedingt das aktuelle Recovery-Image der FritzBox auf dem AVM-FTP besorgen, da bei falschem Vorgehen die Software des Routers beschädigt werden kann.

Um fortzufahren, empfiehlt es sich eine Telnet-Verbindung aufzubauen. Der Dienst muss dafür jedoch zunächst gestartet werden. Dazu mit einem an die Box angeschlossenes Telefon – z.B. dem Fritz!Fon (Amazon-Link (Affiliate-Link)) – folgende Nummer anrufen:

#96*7*

Nun ist Telnet aktiviert und es kann eine Verbindung mit der Box aufgebaut werden. Auf dem Mac wird dazu das Terminal geöffnet. Der Befehl

telnet 192.168.178.1

Enter-Taste

baut anschließend die Session auf. Nach der Eingabe des Web-Passwortes der FritzBox ist der Login erfolgt.

Jetzt gilt es die Datei ar7.cfg zu modifizieren, um den Eintrag für die gewünschte Portweiterleitung hinzuzufügen. Da die Datei im Flash liegt, sollte zunächst eine Kopie davon angefertigt werden:

cat /var/flash/ar7.cfg > /var/media/ftp/ar7.cfg

Enter-Taste

Hierdurch wird die Konfigurationsdatei aus ihrem Pfad /var/flash nach /var/media kopiert. Nun kann die angefertigte Kopie zunächst einmal gefahrenlos verändert werden.

Dazu wird die Datei mit dem Editor vi folgendermaßen geöffnet:

vi /var/media/ftp/ar7.cfg

Enter-Taste

Mit diesem Befehl öffnet sich die ar7.cfg (Kopie) und steht nach einem Tipp der

Taste „o“

zum Bearbeiten bereit. Die Einträge, die für die Konfiguration der Portforwardings verantwortlich sind, können etwa in Höhe der Zeile 300 gefunden werden. Die sog. forwardrules definieren hier zeilenweise die unterschiedlichen Einträge. Um eine neue Regel hinzuzufügen, muss nun eine weitere Zeile mit der selben Syntax ergänzt werden (Beispiel hier: Portweiterleitung auf dem Port 7072 an die FritzBox selbst = 0.0.0.0).

„tcp 0.0.0.0:7072 0.0.0.0:7072 0“,

Dabei ist vor allem auf die letzte 0 und das Komma hinter der Zeile zu achten. Das erste Zahlenset beschreibt dabei den eingehenden Port an der FritzBox und das zweite den eingehenden Port am Gerät (welches hier ja auch wieder die FritzBox ist). Die ar7.cfg sollte anschließend so aussehen wie im Bild rechts zu sehen ist.

Mit einem Druck auf die

ESC-Taste

und anschließend

:wq

ENTER-Taste

wird die Datei-Kopie wieder gespeichert. Nun gilt es, das veränderte File wieder in den Flash zurück zu spielen. Bitte an dieser Stelle unbedingt sicherstellen, dass die Syntax der Veränderungen eingehalten wurde, um die Funktionsweise der FritzBox auch weiterhin sicherzustellen.

cat /var/media/ftp/ar7.cfg > /var/flash/ar7.cfg

Enter-Taste

Diese Eingabe verschiebt die Datei nun zurück in den „heißen“ Flash der Box. Anschließend sollte mit dem Befehl

reboot

Enter-Taste

ein Neustart der Fritzbox durchgeführt werden. Das Device sollte nun wieder funktionsfähig lauffähig und die Portweiterleitung eingerichtet sein.

Internes Portforwarding sollte im Web-Interface möglich sein.

Die Möglichkeiten einer FritzBox sind nahezu unendlich. Schade ist, dass AVM nicht von Haus aus Portweiterleitungen unterstützt, die Services nutzen können, welche auf der Box selbst ablaufen. Nichtsdestotrotz zeigt die vorgeführte Methode eine schnelle und einfache Lösung, wie das Problem behoben werden kann. Die FritzBox, wie das aktuelle Topmodell (Stand August 2012) (Amazon Link) (Affiliate-Link) ist und bleibt somit nicht nur für immer mehr bastelfreudige Anwender das Non-Plus-Ultra in Sachen Heimnetzwerk.

Affiliate-Links

[easyazon_image align=“none“ height=“81″ identifier=“B003108AZI“ locale=“DE“ src=“https://meintechblog.de/wordpress/wp-content/uploads/2015/06/41tx6bHWSUL.SL1104.jpg“ tag=“meintechblog-120805-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B0031D3A78″ locale=“DE“ src=“https://meintechblog.de/wordpress/wp-content/uploads/2015/06/31BixIfEFoL.SL110.jpg“ tag=“meintechblog-120805-21″ width=“79″]

13 Kommentare
  1. Hi, danke für die vielen Artikel.
    Frage: Portforwarding 7072-> an 0.0.0.0 damit von ausserhalb FHEMobile zugreifen kann? Ich nutze einen VPN fallweise, somit funktioniert das.

    Seit heute aber ein Update von FHEM 5.2 auf 5.5? , seitdem geht der Zugriff auch im Heimnetzt via FHEMobile nicht mehr, trotz der der Variablen attr. Global 7072 …. in der FHEM config. Eine Idee wie ich das wieder zum Laufen bekomme?

    1. Hallo Joe,

      die VPN-Variante gefiel mir aus dem Grund nicht, weil ich am iPhone jedesmal eine VPN-Verbindung neu starten muss, bevor ich die FHEMobile-App nutzen kann.
      Zu deinem Problem:

      Versuche zunächst einmal, ob der Telnet-Zugang auf FHEM über den Port 7072 funktioniert, sprich ob das Problem auf der Server-Seite liegt, oder auf Seiten deines iPhones.
      Wenn du einen Mac hast: Terminal-App: „telnet 192.168.xx.xx 7072“

      Melde Dich wieder, wenn Du hier ein Ergebnis hast.
      Viele Grüße
      Christoph

  2. Hallo Christoph,

    sehr verständliche Anleitung. Allerdings hab eich mit der aktuellen Fritz-OS-Version 6.01 ein Problem.

    Die Forward-Rules scheinen nicht mehr an der „alten“ Stelle bei ~300 Zeichen zu sein. Sondern tauchen jetzt unter den jeweiligen landevices auf bei ~1230. auf.
    Sie sind jetzt offensichtlich pro Gerät definiert und eine Fritz.box als Gerät gibt es nicht. Trage ich die Rules unter z.b meinem PC ein passiert nichts.

    landevices {
    landevices_version = 2;
    landevices {
    ip = 192.168.178.20;
    name = „monkeystation“;
    mac = BC:5F:F4:38:CD:FF;
    medium = medium_unknown;
    auto_etherwake = no;
    ifaceid = ::;
    type = neightype_pc_windows_xp;
    staticlease = no;
    ipv4forwardrules =
    „tcp 0.0.0.0:8080 192.168.178.20:8080 0 # Sab“,
    „tcp 0.0.0.0:8081 192.168.178.20:8081 0 # Sic“,
    „tcp 0.0.0.0:7760 192.168.178.20:7760 0 # shu“,
    „tcp 0.0.0.0:23424 192.168.178.20:23424 0 # m“,
    „tcp 0.0.0.0:8083 0.0.0.0:8083 0 # fhem_web“,
    „tcp 0.0.0.0:8084 0.0.0.0:8084 0 # fhem_mobil“,
    „tcp 0.0.0.0:8085 0.0.0.0:8085 0 # fhem_ipad“,
    „tcp 0.0.0.0:9090 192.168.178.20:80 0 # php_s“,

    Hast du ne Idee ?

    1. Kannst du versuchen, den HTTPS-Port zu finden? (443) Dieser wird direkt an die FB selbst weitergeleitet, damit man auf das WebIf zugreifen kann. Dort würde ich es zunächst versuchen, hinzuzufügen.
      Bitte gib Bescheid, wenn Du es gefunden hast.
      Viele Grüße
      Christoph

    1. Habe ihm geantwortet. Mal sehen, ob es funktioniert. Idee: Einträge dort hinzufügen, wo der 443er-Port der FB weitergeleitet wird, der zum WebIf führt.

  3. Konnte jemand eine Lösung zu für die richtige Position finden?
    An welcher Stelle müsste jetzt genau was eingetragen werden, damit der Portweiterleitung für den FHEM aus dem Internet funktioniert?

    1. Bei mir hat es so funktioniert:
      .
      .
      internet_in_nat_rules_enabled = yes;
      internet_out_nat_rules_enabled = yes;
      internet_forwardrules = „tcp 0.0.0.0:443 0.0.0.0:443 0“;
      internet_forwardrules = „tcp 0.0.0.0:8083 0.0.0.0:8083 0“;
      .
      .
      (Die Zeile mit port 8083 hab ich eingefügt, in meiner ar7.cfg ist es Zeile 232)

  4. Falls jemand die Portweiterleitung für ein Raspberry Pi einstellen will, der muss Port 8083 an Port 8083 weiterleiten (mit FHEM 5.5 oder höher)

  5. funktioniert so wohl nicht mehr mit 6.20.
    forwardrules = „tcp 0.0.0.0:7072 0.0.0.0:7072 0“,…

    Sollte angeblich mit internet_forwardings = … funktionieren. Tut es aber bei mir auch nicht. Würde gerne wissen, ob jemand an der firewall vorbeikommt unter 6.20.
    Brache es um separaten apache f. baikal zu betreieben.
    Grüße
    Rüdiger

  6. Hallo, auf FHEM kann ich von Außen zugreifen. Was muss ich aber machen um auf Smartvisu zugreifen zu können, da ja zu jeder IP ein Profil angelegt ist.

    Danke

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dir auch gefallen