.titleBar { margin-bottom: 5px!important; }

Firmware .88: Portforwarding 80 auf 192.168.179.1 geht nicht

Dieses Thema im Forum "FRITZ!Box Fon: DSL, Internet und Netzwerk" wurde erstellt von johnyt11, 31 Okt. 2005.

  1. johnyt11

    johnyt11 Neuer User

    Registriert seit:
    27 Aug. 2004
    Beiträge:
    120
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Portforwarding 80 auf 192.168.179.1 geht nicht mehr nach update.
    Also wieder keine möglichkeit der Fernsteuerung ohne zusätzlichen Router hinter derFB.
    Oder kennt jemand noch eine IP Adresse der FB auf die die Box selbst routet ohne Fehlermeldung?

    Edit dm41: abgetrennt aus diesem Thread.
     
  2. Novize

    Novize Moderator
    Forum-Mitarbeiter

    Registriert seit:
    17 Aug. 2004
    Beiträge:
    20,620
    Zustimmungen:
    25
    Punkte für Erfolge:
    48
    Beruf:
    Jepp!
    Ort:
    NRW
    @johnyt11:
    1. Bitte neuen Thread dafür.
    2. Route doch Port 12345 auf IP 192.168.179.1 Port 80.
    Bei Dir im Browser gib in die Adresszeile ein: http://Deindyndnsname.dyndns.org:12345.
    Das sollte Wunder bewirken ;)
     
  3. wichard

    wichard IPPF-Promi

    Registriert seit:
    16 Juni 2005
    Beiträge:
    6,954
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Aachen
    *Gebetsmühle anwerf* Neue Frage, neuer Thread...

    Aber dennoch: Probier mal, den Port 8080 auf die IP der Box, Port 80, umzuleiten und dann von extern über http://externe.IP:8080 auf die Box zuzugreifen. Ansonsten könnte ein Eingriff in die ar7.cfg erforderlich sein.

    Edit: Nach wie vor (siehe Thread 7058) gilt natürlich immer noch, daß dieser Weg nicht der wirklich sicherste ist - lieber per SSH auf die Box tunneln...
    Edit 2: Der hoch gewählte Port vom Novizen hat natürlich seine Vorteile, daß dieser Bereich idR nicht von den sogenannten Skriptkiddies gescant wird - also lieber einen Port > 10000 (>65335 (?)) wählen und NICHT die 8080, welche ja der Standardport für einen HTTP-Proxy ist.
     
  4. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Danke für den Hinweis! Das Einspielen vom mod4.27a auf dei .88 war problemlos. Aber dann habe ich ebenfalls probiert, ein bestehendes Portforwarding auf 192.168.179.1 zu aktivieren. Ging nicht mehr! Da ich dieses Forwarding aber dringlich benotige, habe ich die Box wieder auf die .86 incl. mod4.27a zurückgeflashed.
    Gruß Jens



     
  5. nesnayka

    nesnayka Neuer User

    Registriert seit:
    9 Sep. 2005
    Beiträge:
    15
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    sehr seltsam, hoffentlich hat das irgendwas mit der neuen Firmware für "normale" FritzBoxFon (WLAN) zutun
     
  6. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Es liegt nicht am Port 80, sondern an der 192.168.179.1, welche jetzt leider nicht mehr akzeptiert wird.
    Gruß Jens


     
  7. wichard

    wichard IPPF-Promi

    Registriert seit:
    16 Juni 2005
    Beiträge:
    6,954
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Aachen
    Dann sollte eine kleine Anpassung in der ar7.cfg dennoch helfen, und zwar müsste dann im Abschnitt "forwardrules" eine Zeile hinzugefügt werden:
    Code:
    "tcp 0.0.0.0:12345 0.0.0.0:80 #Freigabe für HTTP extern",
    (Bitte Syntax genau beachten: Komma ans Ende einer Zeile, am Ende der letzen Zeile ein Semikolon - sonst fährt die Box nicht mehr (sauber) hoch... Alle Anpassungen daher wie immer auf eigene Gefahr!)

    Und nach wie vor gilt noch:
    Edit:
    Danke! ;)

    HTH,
    Wichard
     
  8. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Verzeih mir bitte, daß ich doch direkt antworte und keine neuen Thread aufmache:
    Ich benötige einen Eintrag in der Gui, welche ich scriptgesteuert aktivieren und deaktivieren kann; das ging vorher mit dem Forwarding von tcp 443 auf die 192.168.179.1 port 22 prima.
    Wenn ich den von Dir vorgeschlagenen Eintrag mache, kann ich den wohl über die Gui nicht toggeln, nehme ich an. Doch darauf kommt es mir speziell an. (script sesam)
    Gruß Jens

     
  9. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,112
    Zustimmungen:
    19
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    Neuer Thread! :?
     
  10. mcjazzman

    mcjazzman Neuer User

    Registriert seit:
    31 Okt. 2005
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    in der tat auch bei mir ging das portforwarding nach dem firmwareupdate nicht mehr, leider...
     
  11. mcjazzman

    mcjazzman Neuer User

    Registriert seit:
    31 Okt. 2005
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wo kann ich modifizierte firmware herbekommen? Also, das ich dann noch die möglichkeit habe ports freizugeben usw.

    Weiterhin geht das mit den ports freigeben bei mir überhaupt nicht mehr, seit dem ich halt die neue firmware drauf habe. Habe aber wie gesagt mein gesicherte fritz.box einstellungen eingespielt dort ist die portfreigabe auf 192.168.179.1 aktiviert, vermute das es daran liegt.
     
  12. wichard

    wichard IPPF-Promi

    Registriert seit:
    16 Juni 2005
    Beiträge:
    6,954
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Aachen
    Ich habe die .88 nicht, da ich "nur" eine ATA besitze, daher kann ich zur 7050 nichts konkretes sagen. Aber: Mittels des FBEditors von olistudent kannst Du ohne Modifikationen an der Firmware einige Einstellungen durch das Bearbeiten der Datei ar7.cfg ändern - unter anderem auch die Portfreigaben.
    ABER VORSICHT: Hier genau auf die Syntax der Portfreigaben achten, sonst kann es passieren, daß die Box nicht mehr (sauber) hochfährt! (Ja, ich spreche aus eigener Erfahrung...) Wenn Du nicht genau weißt, was zu tun ist, vorher zunächst noch mal im Forum suchen und dann bei Unklarheiten lieber noch einmal nachfragen.

    Das vermute ich auch. Diese Freigabe, die ja eigentlich gar nicht erlaubt ist, führt wahrscheinlich dazu, daß beim Abspeichern neuer Freigabendie Prüfroutine, die eben dies abfangen soll, anschlägt.

    Frage an olistudent oder Mazdermind: Könnte man die entsprechende HTML-Datei (oder .js?) nicht einfach ändern, um die Abfrage auszuschalten?


    Gruß,
    Wichard

    Edit: Die Abfrage, ob eine Regel "konform" ist, scheint in der Datei /usr/www/all/html/de/internet/portrule.js zu erfolgen. (Das ist zumindest das, was ich jetzt mit meinem gepflegten Halbwissen vermute...)
     
  13. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16

    Ich vermute, daß diese Funktion valDoValidateBoxIp() in dem von Dir beschriebenen portrule.js (hier in der .86er Version) jetzt anders aussieht. In dieser ist die Prüfung auf die 192.168.179.1 nicht so strikt, daß es als Fehler verworfen wird.
    Code:
    function valDoValidateBoxIp (Address) {
    var address = Address.match("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$");
    if (address == null) return g_mldIpAdr;
    var digits = address[0].split(".");
    var i;
    for (i=0; i < 4; i++) {
    if ((Number(digits[i]) > 255 ) || (Number(digits[i]) < 0 )) return g_mldIpAdr;
    }
    // IP-Adresse 0.0.0.0 verbieten
    if ((Number(digits[0]) == 0) && (Number(digits[1]) == 0) && (Number(digits[2]) == 0) && (Number(digits[3]) == 0)) return g_mldIpAdr0000;
    // IP-Adresse *.*.*.0 verbieten
    if (Number(digits[3]) == 0) return g_mldIpAdr0;
    // IP-Adresse *.*.*.255 verbieten
    if (Number(digits[3]) == 255) return g_mldIpAdr255;
    var error=null;
    return error;
    }
    Kann bitte jemand so nett sein, die entsprechende Funktion der .88 zu posten, damit wir das mal vergleichen können?

    Gruß Jens
     
  14. SnoopyDog

    SnoopyDog Aktives Mitglied

    Registriert seit:
    14 Juli 2005
    Beiträge:
    2,497
    Zustimmungen:
    13
    Punkte für Erfolge:
    48
    Ort:
    Nähe Erlangen
    Hi!

    Hier das .88er Pendant:

    Code:
    function valDoValidateBoxIp (Address) {
            var address = Address.match("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$");
            if (address == null) return g_mldIpAdr;
            var digits = address[0].split(".");
            var i;
            for (i=0; i < 4; i++) {
                    if ((Number(digits[i]) > 255 ) || (Number(digits[i]) < 0 )) return g_mldIpAdr;
            }
            // IP-Adresse 0.0.0.0 verbieten
            if ((Number(digits[0]) == 0) && (Number(digits[1]) == 0) && (Number(digits[2]) == 0) && (Number(digits[3]) == 0)
    ) return g_mldIpAdr0000;
            // IP-Adresse *.*.*.0 verbieten
            if (Number(digits[3]) == 0) return g_mldIpAdr0;
            // IP-Adresse *.*.*.255 verbieten
            if (Number(digits[3]) == 255) return g_mldIpAdr255;
            var error=null;
            return error;
    }
    
    Sehe auf die Schnelle keinen Unterschied. Wenn keiner da ist, kann ich das Code Attachment wieder löschen, um Platz zu sparen.
     
  15. wichard

    wichard IPPF-Promi

    Registriert seit:
    16 Juni 2005
    Beiträge:
    6,954
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Aachen
    Ich sehe in dem Schnipsel auch keine Überprüfung auf die eigene Adresse, sondern nur auf Gültigkeit (zwischen 0 und 255) sowie auf die 0.0.0.0 sowie .0 und .255. Muß also doch noch woanders sein...
     
  16. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Mhh.. mal weiter suchen... ich sehe leider auch keinen Unterschied. Ich werde nochmal intensiv im Folder /var/html/html/de/internet danach Ausschau halten.
    Dank Euch für das Mitsuchen und posten der v.88 Schnipsel :)

    Gruß Jens

    EDIT:
    Möglicherweise in dieser: /usr/www/all/html/de/system/netipadr.js

    So wie die Struktur dieses Scripts aussieht (zumindest in der .86) enthält die Funktion sehr viele Terminierer, welche entsprechend des Patterns ein false liefern.
    Beispiel:
    if (jslGetValue("uiViewIpaddrA").substr(0,11)=="192.168.180" && jslGetValue("uiViewNetmaskA")=="255.255.255.0" ) {alert(g_mld192168180); return false;}

    Daher scheint die Chance zu bestehen, lediglich eine Zeile in dieser neuen .88er Version zu löschen und "gut ist"

    Könnt Ihr das so nachvollziehen bzw. bestätigen?

    Gruß Jens
     
  17. wichard

    wichard IPPF-Promi

    Registriert seit:
    16 Juni 2005
    Beiträge:
    6,954
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Aachen
    Da ich aufgrund des noch nicht erschienenen Updates noch auf einer "ganz alten" FW-Version .65 unterwegs bin, kann ich im Moment nicht mehr machen, als einfach mal meine netipadr.js zum Vergleich zu posten. Vielleicht hilft das ja auch schon wem weiter...
    Code:
    <style type="text/css">
    <!--
    #Content {width: 520px; margin: auto;}
    .Dhcpcheck {padding-top:8px;}
    .pText25 {padding-left: 25px;}
    .pCheck25 {
    text-indent: -25px;
    padding-left: 25px;
    margin-bottom: 10px;
    }
    -->
    </style>
    <script type="text/JavaScript">
    //-----------------------------------------------------------------------------
    <? include ../html/$var:lang/js/val.js ?>
    <? include ../html/$var:lang/js/jsl.js ?>
    //-----------------------------------------------------------------------------
    var g_mldIpaddrFormatPre        = "Fehler im Feld ";
    var g_mldIpaddrFormatPost       = " : die Eingabe ist keine gültige IP-Adresse.";
    var g_mldNetmaskPost            = " : die eingegebene Subnetzmaske ist ungültig.";
    var g_mldIpaddrTheNet           = " : dieser Wert stellt das Subnetz an sich dar und kann nicht verwendet werden.";
    var g_mldIpaddrBroadcast        = " : dieser Wert stellt die Broadcast-Adresse in Ihrem Subnetz dar und kann nicht verwendet werden.";
    var g_mldIpaddrDiffNet          = " : diese Adresse befindet sich in einem anderen Subnetz, als das durch die IP-Adresse und Netzmaske definierte.";
    var g_mldNetmask0000            = "0.0.0.0 ist keine zulässige Subnetzmaske.";
    var g_mldNetmask24                      = "Die kleinste zulässige Subnetzmaske ist 255.255.255.0.";
    var g_mldNetwork                                = "Die Netzwerke dürfen sich nicht überschneiden.";
    var g_isFon = "<? echo $var:isFon ?>";
    var g_isWlan = "<? echo $var:isWlan ?>";
    var g_isFBoxSL = "<? echo $var:isFBoxSL ?>";
    var g_ProduktName = "<? echo $var:ProduktName ?>";
    var g_secondWindow      = "Zweitfenster";
    //-----------------------------------------------------------------------------
    function uiDoOnLoad() {
    jslCopyValue("uiViewIpaddr", "uiPostIpaddr0");
    jslCopyValue("uiViewNetmask", "uiPostNetmask0");
    jslSetChecked("uiViewDhcp", jslGetValue("uiPostDhcp0") == "1");
    // FRITZBox hat zwei LAN Schnittstellen -> Aufteilen in LAN A (eth0) und LAN B (eth1)
    jslDisplay("uiViewLANB", true);
    SetSpanText("uiViewLabelA", "LAN A:");
    SetSpanText("uiViewDhcpLabelA", "DHCP-Server an der Schnittstelle LAN A aktivieren");
    jslCopyValue("uiViewIpaddrA", "uiPostIpaddr0");
    jslCopyValue("uiViewNetmaskA", "uiPostNetmask0");
    jslSetChecked("uiViewDhcpA", jslGetValue("uiPostDhcp0") == "1");
    jslCopyValue("uiViewIpaddrB", "uiPostIpaddr1");
    jslCopyValue("uiViewNetmaskB", "uiPostNetmask1");
    jslSetChecked("uiViewDhcpB", jslGetValue("uiPostDhcp1") == "1");
    jslCopyValue("uiViewIpaddrUSB", "uiPostIpaddrUSB");
    jslCopyValue("uiViewNetmaskUSB", "uiPostNetmaskUSB");
    jslSetChecked("uiViewDhcpUSB", jslGetValue("uiPostDhcpUSB") == "1");
    <? if eq $var:isWlan 1 `
    jslCopyValue("uiViewIpaddrWLAN", "uiPostIpaddrWLAN");
    jslCopyValue("uiViewNetmaskWLAN", "uiPostNetmaskWLAN");
    jslSetChecked("uiViewDhcpWLAN", jslGetValue("uiPostDhcpWLAN") == "1");
    ` ?>
    OnChangeLanBridge()
    }
    //-----------------------------------------------------------------------------
    function OnChangeLanBridge () {
    var b = <? if eq $var:isDsl 1 'jslGetChecked("uiViewLanBridge")' 'true' ?>;
    jslDisplay("uiViewGetrennt", !b);
    jslDisplay("uiViewAlle", b);
    }
    //-----------------------------------------------------------------------------
    function uiDoSave() {
    if (DoValidate()==true) {
    var AlleImNetz = <? if eq $var:isDsl 1 'jslGetChecked("uiViewLanBridge")' 'true' ?>;
    if (AlleImNetz == true) {
    jslCopyValue("uiPostIpaddr0","uiViewIpaddr");
    jslCopyValue("uiPostNetmask0","uiViewNetmask");
    SetFromChecked("uiPostDhcp0", "uiViewDhcp");
    } else {
    jslEnable("uiPostIpaddr1");
    jslEnable("uiPostNetmask1");
    jslEnable("uiPostDhcp1");
    jslCopyValue("uiPostIpaddr0","uiViewIpaddrA");
    jslCopyValue("uiPostNetmask0","uiViewNetmaskA");
    SetFromChecked("uiPostDhcp0", "uiViewDhcpA");
    jslCopyValue("uiPostIpaddr1","uiViewIpaddrB");
    jslCopyValue("uiPostNetmask1","uiViewNetmaskB");
    SetFromChecked("uiPostDhcp1", "uiViewDhcpB");
    jslEnable("uiPostIpaddrUSB");
    jslEnable("uiPostNetmaskUSB");
    jslEnable("uiPostDhcpUSB");
    jslCopyValue("uiPostIpaddrUSB","uiViewIpaddrUSB");
    jslCopyValue("uiPostNetmaskUSB","uiViewNetmaskUSB");
    SetFromChecked("uiPostDhcpUSB", "uiViewDhcpUSB");
    <? if eq $var:isWlan 1 `
    jslEnable("uiPostIpaddrWLAN");
    jslEnable("uiPostNetmaskWLAN");
    jslEnable("uiPostDhcpWLAN");
    jslCopyValue("uiPostIpaddrWLAN","uiViewIpaddrWLAN");
    jslCopyValue("uiPostNetmaskWLAN","uiViewNetmaskWLAN");
    SetFromChecked("uiPostDhcpWLAN", "uiViewDhcpWLAN");
    ` ?>
    }
    doPopWindow();
    jslSetValue("uiPostMenu", "system");
    jslSetValue("uiPostPageName", "net");
    jslSetValue("uiPostErrorPageName", "netipadr");
    jslSetValue("uiPostPageTitle", "Netzwerkeinstellungen");
    jslFormSubmit("uiPostForm");
    }
    }
    //-----------------------------------------------------------------------------
    function SetFromChecked (id, checkid) {
    jslSetValue(id, jslGetChecked(checkid) ? "1":"0");
    }
    //-----------------------------------------------------------------------------
    function uiDoCancel() {
    jslGoTo("system", "net");
    }
    //-----------------------------------------------------------------------------
    function uiDoHelp() {
    jslGoTo("help", "hilfe_ipsetting");
    }
    //-----------------------------------------------------------------------------
    function valIpadrFormatId (id) {
    var addr = jslGetValue(id);
    var pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
    if (addr.match(pattern) == null) return false;
    pattern.exec(addr);
    if (RegExp.$1>255) return false;
    if (RegExp.$2>255) return false;
    if (RegExp.$3>255) return false;
    if (RegExp.$4>255) return false;
    return true;
    }
    //-----------------------------------------------------------------------------
    var g_ErrIpOk           = 0;
    var g_ErrIpDiffNet      = 1;
    var g_ErrIpTheNet       = 2;
    var g_ErrIpBroadcast    = 3;
    //-----------------------------------------------------------------------------
    function DecToBin(num) {
    var ret = '';
    for (var i=7; i>=0; i--) {
    if (((1<<i)&num)!=0) ret+='1';
    else ret+='0';
    }
    return ret;
    }
    //-----------------------------------------------------------------------------
    function IpToBitstring(mask) {
    var pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
    var str = '';
    pattern.exec(mask);
    str+=DecToBin(RegExp.$1);
    str+=DecToBin(RegExp.$2);
    str+=DecToBin(RegExp.$3);
    str+=DecToBin(RegExp.$4);
    return str;
    }
    //-----------------------------------------------------------------------------
    function valNetmaskId (id) {
    var mask = jslGetValue(id);
    var str = IpToBitstring(mask);
    if (str.match(/^1+0+0$/) == null) return false;
    return true;
    }
    //-----------------------------------------------------------------------------
    function valNetmaskId_0000 (id) {
    var mask = jslGetValue(id);
    var pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
    pattern.exec(mask);
    return RegExp.$1 != 0 || RegExp.$2 != 0 || RegExp.$3 != 0 || RegExp.$4 != 0;
    }
    //-----------------------------------------------------------------------------
    function valNetmaskId_24 (id) {
    var mask = jslGetValue(id);
    var pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
    pattern.exec(mask);
    return RegExp.$4 == 0;
    }
    //-----------------------------------------------------------------------------
    function GetNetBits(addr,mask) {
    var netstr = IpToBitstring(addr);
    var maskstr = IpToBitstring(mask);
    var len = maskstr.indexOf('0');
    return netstr.substr(0,len);
    }
    //-----------------------------------------------------------------------------
    function pppDoValidateIpaddr(addr,netbits) {
    var addrstr = IpToBitstring(addr);
    var netpart = addrstr.substr(0,netbits.length);
    var mypart = addrstr.slice(netbits.length);
    if (netpart!=netbits) return g_ErrIpDiffNet;
    if (mypart.indexOf('1')==-1) return g_ErrIpTheNet;
    if (mypart.indexOf('0')==-1) return g_ErrIpBroadcast;
    return g_ErrIpOk;
    }
    //-----------------------------------------------------------------------------
    function CheckNetworksId(ip1,mask1,ip2,mask2) {
    return CheckNetworks(jslGetValue(ip1), jslGetValue(mask1), jslGetValue(ip2), jslGetValue(mask2));
    }
    //-----------------------------------------------------------------------------
    function CheckNetworks(ip1,mask1,ip2,mask2) {
    var net1 = GetNetBits(ip1,mask1);
    var net2 = GetNetBits(ip2,mask2);
    var len = Math.min(net1.length,net2.length);
    return (net1.substr(0,len)!=net2.substr(0,len));
    }
    //-----------------------------------------------------------------------------
    function DoValidate () {
    var netbits = '';
    var ret = g_ErrIpOk;
    var AlleImNetz = <? if eq $var:isDsl 1 'jslGetChecked("uiViewLanBridge")' 'true' ?>;
    if (AlleImNetz == true) {
    if (valIpadrFormatId("uiViewIpaddr") == false) {alert(g_mldIpaddrFormatPre+"IP-Adresse"+g_mldIpaddrFormatPost); return false;}
    if (valIpadrFormatId("uiViewNetmask") == false) {alert(g_mldIpaddrFormatPre+"Netzmaske"+g_mldNetmaskPost); return false;}
    if (valNetmaskId("uiViewNetmask") == false) {alert(jslGetValue("uiViewNetmask")+g_mldNetmaskPost); return false;}
    if (valNetmaskId_0000("uiViewNetmask") == false) {alert(g_mldNetmask0000); return false;}
    if (valNetmaskId_24("uiViewNetmask") == false) {alert(g_mldNetmask24); return false;}
    } else {
    if (valIpadrFormatId("uiViewIpaddrA") == false) {alert(g_mldIpaddrFormatPre+"IP-Adresse (LAN A)"+g_mldIpaddrFormatPost); return false;}
    if (valIpadrFormatId("uiViewNetmaskA") == false) {alert(g_mldIpaddrFormatPre+"Netzmaske (LAN A)"+g_mldNetmaskPost); return false;}
    if (valNetmaskId("uiViewNetmaskA") == false) {alert(jslGetValue("uiViewNetmaskA")+g_mldNetmaskPost); return false;}
    if (valNetmaskId_0000("uiViewNetmaskA") == false) {alert(g_mldNetmask0000); return false;}
    if (valNetmaskId_24("uiViewNetmaskA") == false) {alert(g_mldNetmask24); return false;}
    if (valIpadrFormatId("uiViewIpaddrB") == false) {alert(g_mldIpaddrFormatPre+"IP-Adresse (LAN B)"+g_mldIpaddrFormatPost); return false;}
    if (valIpadrFormatId("uiViewNetmaskB") == false) {alert(g_mldIpaddrFormatPre+"Netzmaske (LAN B)"+g_mldNetmaskPost); return false;}
    if (valNetmaskId("uiViewNetmaskB") == false) {alert(jslGetValue("uiViewNetmaskB")+g_mldNetmaskPost); return false;}
    if (valNetmaskId_0000("uiViewNetmaskB") == false) {alert(g_mldNetmask0000); return false;}
    if (valNetmaskId_24("uiViewNetmaskB") == false) {alert(g_mldNetmask24); return false;}
    if (valIpadrFormatId("uiViewIpaddrUSB") == false) {alert(g_mldIpaddrFormatPre+"IP-Adresse (USB)"+g_mldIpaddrFormatPost); return false;}
    if (valIpadrFormatId("uiViewNetmaskUSB") == false) {alert(g_mldIpaddrFormatPre+"Netzmaske (USB)"+g_mldNetmaskPost); return false;}
    if (valNetmaskId("uiViewNetmaskUSB") == false) {alert(jslGetValue("uiViewNetmaskUSB")+g_mldNetmaskPost); return false;}
    if (valNetmaskId_0000("uiViewNetmaskUSB") == false) {alert(g_mldNetmask0000); return false;}
    if (valNetmaskId_24("uiViewNetmaskUSB") == false) {alert(g_mldNetmask24); return false;}
    <? if eq $var:isWlan 1 `
    if (valIpadrFormatId("uiViewIpaddrWLAN") == false) {alert(g_mldIpaddrFormatPre+"IP-Adresse (WLAN)"+g_mldIpaddrFormatPost); return false;}
    if (valIpadrFormatId("uiViewNetmaskWLAN") == false) {alert(g_mldIpaddrFormatPre+"Netzmaske (WLAN)"+g_mldNetmaskPost); return false;}
    if (valNetmaskId("uiViewNetmaskWLAN") == false) {alert(jslGetValue("uiViewNetmaskWLAN")+g_mldNetmaskPost); return false;}
    if (valNetmaskId_0000("uiViewNetmaskWLAN") == false) {alert(g_mldNetmask0000); return false;}
    if (valNetmaskId_24("uiViewNetmaskWLAN") == false) {alert(g_mldNetmask24); return false;}
    ` ?>
    if (!CheckNetworksId("uiViewIpaddrA", "uiViewNetmaskA", "uiViewIpaddrB", "uiViewNetmaskB")) {alert(g_mldNetwork); return false;}
    if (!CheckNetworksId("uiViewIpaddrA", "uiViewNetmaskA", "uiViewIpaddrUSB", "uiViewNetmaskUSB")) {alert(g_mldNetwork); return false;}
    if (!CheckNetworksId("uiViewIpaddrB", "uiViewNetmaskB", "uiViewIpaddrUSB", "uiViewNetmaskUSB")) {alert(g_mldNetwork); return false;}
    <? if eq $var:isWlan 1 `
    if (!CheckNetworksId("uiViewIpaddrA", "uiViewNetmaskA", "uiViewIpaddrWLAN", "uiViewNetmaskWLAN")) {alert(g_mldNetwork); return false;}
    if (!CheckNetworksId("uiViewIpaddrB", "uiViewNetmaskB", "uiViewIpaddrWLAN", "uiViewNetmaskWLAN")) {alert(g_mldNetwork); return false;}
    ` ?>
    <? if eq $var:isWlan 1 `
    if (!CheckNetworksId("uiViewIpaddrUSB", "uiViewNetmaskUSB", "uiViewIpaddrWLAN", "uiViewNetmaskWLAN")) {alert(g_mldNetwork); return false;}
    ` ?>
    }
    return true;
    }
    //-----------------------------------------------------------------------------
    function doPopWindow() {
    var params;
    var AlleImNetz = <? if eq $var:isDsl 1 'jslGetChecked("uiViewLanBridge")' 'true' ?>;
    if (AlleImNetz == true) {
    params = "var:oneip=1&var:ipa="+jslGetValue("uiViewIpaddr")+"&var:maska="+jslGetValue("uiViewNetmask")+"&var:dhcpa="+jslGetValue("uiPostDhcp0");
    } else {
    params = "var:oneip=0&var:ipa="+jslGetValue("uiViewIpaddrA")+"&var:maska="+jslGetValue("uiViewNetmaskA")+"&var:dhcpa="+jslGetValue("uiPostDhcp0");
    params += "&var:ipb="+jslGetValue("uiViewIpaddrB")+"&var:maskb="+jslGetValue("uiViewNetmaskB")+"&var:dhcpb="+jslGetValue("uiPostDhcp1");
    params += "&var:ipusb="+jslGetValue("uiViewIpaddrUSB")+"&var:maskusb="+jslGetValue("uiViewNetmaskUSB")+"&var:dhcpusb="+jslGetValue("uiPostDhcpUSB");
    <? if eq $var:isWlan 1 `
    params += "&var:ipwlan="+jslGetValue("uiViewIpaddrWLAN")+"&var:maskwlan="+jslGetValue("uiViewNetmaskWLAN")+"&var:dhcpwlan="+jslGetValue("uiPostDhcpWLAN");
    ` ?>
    }
    var url = "../cgi-bin/webcm?getpage=../html/<?echo $var:lang ?>/system/pp_netipadr.html&"+params;
    var ppWindow = window.open(url, g_secondWindow, "width=450,height=400,statusbar,resizable=yes");
    ppWindow.focus();
    }
    //-----------------------------------------------------------------------------
    </script>
     
  18. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich habe grad Zeit gehabt, mir die Sache etwas eindringlicher zu betrachten.
    Ergebnis bisher: Ich habe den Eindruck, daß der Plausibilitätscheck nicht etwa durch Scripte, sondern durch den ctlmgr erfolgt. Daher ist es nicht trivial :( (außer, man kann diesem per Parameter gewünschtes beibringen)
    Gruß Jens



     
  19. Novize

    Novize Moderator
    Forum-Mitarbeiter

    Registriert seit:
    17 Aug. 2004
    Beiträge:
    20,620
    Zustimmungen:
    25
    Punkte für Erfolge:
    48
    Beruf:
    Jepp!
    Ort:
    NRW
    Ich habe auf meiner F!B noch von einer älteren Firmware her eine Weiterleitung von ext. Port xy auf 192.168.179.1:80. Das funktioniert auch weiterhin!
    Deshalb die Frage: ist es für die neue Firmware nicht einfacher, dieses Portforwarding einfach mit dem FBEditor vorzunehmen, anstatt großartig in irgendwelchen Scripten rumzufummeln? Man kann diesen Port zwar weiterhin nicht von der GUI aus bearbeiten, aber das macht man ja sowieso nicht jeden Tag, oder?
     
  20. JensemannWF

    JensemannWF Mitglied

    Registriert seit:
    22 Juli 2005
    Beiträge:
    262
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Im Prinzip schon richtig; ABER nur wenn man über das GUI die jeweilige Regel aktivieren oder deaktivieren kann, ohne daß es zu Fehlermeldungen kommt, kann man dies auch per Script über http-Post Methode.
    Sinn der Sache ist, daß nur bei Anruf per z.B. Handy in Verbindung mit dem Callmanger (mod4.27a) kurzfristig (30sec) ein Forwarding (auf dropbear) aktiv ist.

    Sonst ist die Box halt schön zu.

    Leider scheint die Prüfung des ctlmgr in der .88 sehr streng zu sein, so daß diese Feature nicht mehr klappt. Daher muss ich mich derzeit mit der .86 vergnügen, bis jemand eine Trick gefunden hat ;)

    Gruß jens