Angepinnt Komplettlösung für Speedport Hybrid mit nachgelagerter Fritz.box (im Routed Mode)

      Halli, Hallo,

      ich muß jetzt auch mal um Hilfe rufen.
      Ich beiße mich durch die Komplettlösung Version 1.02 mit manueller Installation Variante 2.
      Wahrscheinlich bin ich schon nahe dran, es funktioniert aber nicht.
      Das SPH startet, am Anfang blinkt die Power-LED mal rot. Dann scheint aber alles zu laufen.
      Die FB bekommt die IP 192.168.1.100 wie es sein soll, in der FW.SH ist die auch eingetragen.
      Die FB meint auch Internet zu haben, es gibt aber keine Verbindung.
      Das SPH errreiche ich per SSH, aber nicht über FTP oder per Browser.

      Mir ist die gleiche Sache aufgefallen, wie sie SAM vor einem reichlichen Jahr schon mal angeführt hat.
      Dazu gab es keine Antwort. Im letzten Abschnitt der Befehlsliste stimmt etwas nicht.
      Ich habe die Abarbeitung der Liste parallel per FTP beobachtet.
      Die vier Dateien, die umbenannt werden sollen, sind es schon und die bootstrap_init_usb.sh existiert nicht.
      Weiter oben existieren schon Ordner und Dateien.

      Da ich die Befehlsliste sowieso schon als Textdatei zum Kopieren hatte, habe ich bei den Befehlen, die nicht gingen oder nicht nötig waren einen Kommentar angehangen.

      # USB sauber einrichten
      bsbase="$(ls -d /mnt/*/_bootstrap_ 2>/dev/null)"
      usbname="$(echo $bsbase | cut -d '/' -f 3 2>/dev/null)"
      usbdev="$(mount | grep $usbname | cut -d ' ' -f 1 2>/dev/null)"
      mkdir /tmp/bsmnt
      mount -o exec $usbdev /tmp/bsmnt

      # rootfs vorbereiten
      mkdir /tmp/rmnt
      mount -t jffs2 /dev/mtdblock0 /tmp/rmnt
      mount -o remount,rw /dev/mtdblock0 /tmp/rmnt
      mkdir /tmp/rmnt/opt #existiert schon
      mkdir /tmp/rmnt/opt/bin #existiert schon
      mkdir /tmp/rmnt/usr/local #existiert schon

      # bootstrap
      cp /tmp/bsmnt/_bootstrap_/install/bootstrap /tmp/rmnt/opt/bin/. #existiert schon
      chmod 777 /tmp/rmnt/opt/bin/bootstrap

      # profile
      mv /tmp/rmnt/etc/profile /tmp/rmnt/etc/profile.o #existiert schon überschrieben
      cp /tmp/bsmnt/_bootstrap_/install/profile /tmp/rmnt/etc/profile #existiert schon überschrieben
      chmod 770 /tmp/rmnt/etc/profile

      # Remount /bin vorbereiten
      cd /tmp/bsmnt/_bootstrap_/orig
      cp -R /bin ./bin
      cd /tmp/bsmnt/_bootstrap_/orig/bin
      mv voiper voiper.o #sind alle vier schon umbenannt
      mv siproxd siproxd.o
      mv dhcp6s dhcp6s.o
      mv iptables iptabels.o

      cd /tmp/bsmnt/_bootstrap_
      rm -f bootstrap_init.sh
      cp bootstrap_init_usb.sh bootstrap_init.sh #bootstrap_init_usb.sh #existiert nicht - bootstrap_init.sh gelassen

      Die drei Dateien, die für geänderte IP's bearbeitet werden müssen, finde ich nur unter /tmp/bsmnt/_bootstrap_/ und habe sie auch dort geändert.
      Ein /opt/ Verzeichnis gibt es nur unter /rmnt/

      /opt/bootstrap_init.sh
      /opt/bin/fw.sh
      /opt/http/httpd.conf

      Grüße tholi
      @sebitnt ...sorry, kann ich ebenfalls nicht helfen.

      @tholi ...die Version ist mittlerweile aber ein bisschen "outdated". Die Verwendung der alten 2.0.12 Firmware ist aus meheren Gründen nicht optimal. Ausserdem muss auf jeden Fall die fw.sh angepasst werden. Da sollte auf jeden Fall die Version aus der aktuelleren Version für 4.0.5 verwendet werden, damit die Telefonie sauber funktioniert.

      Ich kann momentan auch nicht schauem,wo der Fehler sein kann, da ich hier nur noch mit 4.0.5 mit entsprechendem Tunning unterwegs bin. Auf jeden Fall würde ich erstmal die fw.sh tauschen und dann schauen, ob ftp& Browser geht.

      das /tmp/bsmnt/_bootstrap_/ entspricht dem /opt/, welches dann später normalerweise im root eingebunden und dann bei einem RW-Mount in /tmp/rmnt/opt/ zu finden ist.

      Grüße

      danXde
      @danXde habe heute die fw.sh getestet, die du hier im August letzten Jahres hoch geladen hast. Das Ergebnis war nicht besser.
      Gerade habe ich mir noch die _bootstrap_405 geholt und ausgepackt. Die fw.sh von dort sieht auch schon wieder an einigen Stellen anders aus.
      Die teste ich übermorgen und wenn das auch nix hilft, gehe ich auch auf die Lötversion.
      Habe den Thread schon mal grob gelesen - könnte auch noch Fragen aufwerfen.

      Gruß
      tholi
      Hi @GeeGee, deine Vorschläge in dem Posting klingen gut.

      Ansonsten bin ich mir nicht sicher, ob es Sinn macht, das Logging komplett in den RAM umzulegen. Wenn man es doch mal wieder braucht, muss man alles wieder umbiegen. In den meisten Skripten habe ich Schalter eingebaut, die das Logging in unterschiedlichen Detailstufen aktivieren, das sollte eigentlich reichen und man kann nach einem Reboot noch mal nachschauen, wo das Problem war...

      Ich habe bisher nach der Reduzierung des Logs noch keinen weiteren Stick verloren. In der Anfangszeit habe ich auch alles geloggt, das war dann auch mal einem Stick zu viel.

      Telnet habe ich aber aus meiner Sicht in der Lösung nicht aktiviert. Das macht man ja nur an, wenn man es beim "Telnet / Bootstrap ab FW-Version 3 - Hardware-Serial-COM" entsprechend aktiviert.

      Grüße

      danXde
      @danXde
      Ich habe folgende Verbesserungsvorschläge an der Komplettlösung, um den USB-Stick schonender zu behalten bzw. das Flash-Wearout zu reduzieren.

      1. Datei _bootstrap_/bootstrap_init.sh
      Abschnitt dibbler-cleanup: komplett auskommentieren.
      Danach einfügen:

      Quellcode

      1. #dibbler-preparation
      2. mkdir /var/dibbler
      3. mkdir /var/log/dibbler


      2. Datei /opt/bin/dhcp6update.sh
      a) "/opt/var/lib/dibbler/" durch "/var/dibbler" ersetzen
      b) "/opt/var/log/dibbler" durch "/var/log/Dibbler" ersetzen

      Quellcode

      1. sed -i -e 's/\/opt\/var\/lib\/dibbler/\/var\/dibbler/g' /opt/bin/dhcp6update.sh
      2. sed -i -e 's/\/opt\/var\/log\/dibbler/\/var\/log\/dibbler/g' /opt/bin/dhcp6update.sh


      3. Datei /opt/bin/dibbler-server-notify.sh
      a) "/opt/var/lib/dibbler/" durch "/var/dibbler" ersetzen
      b) "/opt/var/log/dibbler" durch "/var/log/Dibbler" ersetzen

      Quellcode

      1. sed -i -e 's/\/opt\/var\/log\/dibbler/\/var\/log\/dibbler/g' /opt/bin/dibbler-server-notify.sh
      2. sed -i -e 's/\/opt\/var\/lib\/dibbler/\/var\/dibbler/g' /opt/bin/dibbler-server-notify.sh


      4. Datei: dibbler-server-notify_save.sh
      LOG von 2 auf 1 oder besser gar 0 stellen.

      Im Endeffekt verschiebe ich Dibbler damit vom USB-Stick in das flüchtige RAM. Dorthin könnte bei Bedarf auch geloggt werden, der Speicher ist ja ausreichend groß.

      Weitere Themen:
      1. Dropbear soll tatsächlich konfigurierte IP verwenden
      Darüber hinaus schlage ich vor, das bootstarp_init.sh-script in Bezug auf den Start von Dropbear (SSH-Server) so zu modifizieren, dass nicht statisch die IP 192.168.2.1 verwendet wird, sondern dynamisch die aktuell konfigurierte IP ausgelesen wird.
      Der angepasste Code lautet:

      Quellcode

      1. /opt/sbin/dropbear -R -p `ifconfig br0 | awk '/inet addr/{print substr($2,6)}'`:22 &

      Hat man die IP-Adresse des Speedport Hybrid manuell von 192.168.2.1 auf z.B. 192.168.178.1 geändert, so kann man ohne diese Änderung nicht per SSH zugreifen.


      2. Telnet-Server 10 Minuten nach DSL-Connect deaktivieren

      Ich schlage vor, dass der Telnet-Server (busybox-mips) nach 10 Minuten gekillt wird, da hier ein Login ohne Passwort möglich ist, was ein Sicherheitsproblem darstellt.
      Dazu könnte man ganz ans Ende von bootstrap_init.sh folgendes setzen:

      Quellcode

      1. sleep 600
      2. killall busybox-mips
      3. echo ' busybox-mips killed after 600 seconds.' >> /tmp/bslog

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „GeeGee“ ()

      danXde schrieb:

      @GeeGee ....das Setup ist übrigens auf 192.168.2.x ausgerichtet. Wenn Du den LAN-Bereich änderst, must Du z.B. auch das fw.sh Skriptändern. Ist dann immer die Frage, wo zieht man die Grenze.
      danXde

      Hallo @danXde,
      ein sehr guter Hinweis. Da ich selbst ja gar nicht die "Komplettlösung" einsetze sondern eine abgespeckte Variante, bei der siproxyd etc. weiterleben dürfen, habe ich das nicht bemerkt.
      Vorschlag wäre, das fw.sh-Script wie folgt anzupassen:

      Quellcode

      1. !/bin/sh
      2. # Default = 192.168.2.1
      3. #SPHIP="192.168.2.1"
      4. SPHIP=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}'`
      5. #Default = 192.168.2.0
      6. #SPHLAN="192.168.2.0"
      7. SPHLAN=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}' | cut -d "." -f -3`.0


      Anschließend müsste der Benutzer nur noch die IP der Fritzbox anpassen oder aber man geht auch hier dazu über zu sagen, dass sie die .100 im jeweils aktuellen Netz bekommt, was ich hiermit vorschlage:

      Quellcode

      1. #Default = 192.168.2.2
      2. #FRITZBOXIP="192.168.2.100"
      3. #FRITZBOXIP="192.168.253.21"
      4. FRITZBOXIP=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}' | cut -d "." -f -3`.100


      Lieber @danXde: würdest Du diese Änderungen bitte übernehmen. Wir hätten damit einen flexibleren Code :)
      Hi @GeeGee,

      naja, seitens Telekom ist der SPH ja mehr oder weniger "Aus-Engineert" und End-of-Sale. Jetzt noch megaviel Aufwand reinstecken, zumal am Ende meistens doch viele ein eigenes Setup fahren und somit nicht von der Stange nutzen (bzw. nur als Ausgangsbasis), weiss nicht, ob sich das lohnt. Vor 3 Jahren wäre das richtig cool gewesen und man hätte da die Lösung weiter optimieren können, aber jetzt....

      Ich habe das mal in das Setup eingearbeitet und noch ein wenig mehr. Das Package für Firmware Version 4.0.7 habe ich als Ergänzung "4.07b" hochgeladen.

      Grüße

      danXde

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „danXde“ ()

      Hallo zusammen,

      ich habe ein Problem mit der Anpassung der IP Adresse der Fritzbox.
      Ich verwende eine Fritzbox mit der IP Adresse 192.168.2.1. Diese würde ich nur sehr ungern ändern, da das mit extrem viel Aufwand verbunden wäre. Und für WAN sollte sie die Adresse 192.168.1.100 haben.
      Mein SPH sollte die IP Adresse 192.168.1.1 haben.

      Ich habe die Schritte wie in "Telnet / Bootstrap ab FW-Version 3 - Hardware-Serial-COM" durchgeführt und auch die Schritte von der Anleitung aus "Komplettlösung für Speedport Hybrid mit nachgelagerter Fritz.box (im Routed Mode) für die Firmware V 4.0.7".

      Danach habe ich die fw.sh in dem Ordner bin wie folgt abgeändert.

      #!/bin/sh

      # Default = 192.168.1.1
      #SPHIP="192.168.1.1"
      SPHIP=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}'`

      #Default = 192.168.1.0
      #SPHLAN="192.168.1.0"
      SPHLAN=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}' | cut -d "." -f -3`.0

      #Default = 192.168.1.2
      #FRITZBOXIP="192.168.1.100"
      FRITZBOXIP=`ifconfig br0 | awk '/inet addr/{print substr($2,6)}' | cut -d "." -f -3`.100

      # ipt iptables --list-rules
      ipt iptables --flush
      ipt iptables --delete-chain
      ipt iptables -P INPUT DROP
      ipt iptables -P FORWARD ACCEPT
      ipt iptables -P OUTPUT ACCEPT
      ipt iptables -A INPUT -i lo -j ACCEPT
      #
      #
      # Telekom VoIP
      #
      ipt iptables -A FORWARD -s 217.0.0.0/20 -d $FRITZBOXIP/32 -i ppp256 -p udp -m udp --dport 5060 -j ACCEPT
      ipt iptables -A FORWARD -s 217.0.128.0/20 -d $FRITZBOXIP/32 -i ppp256 -p udp -m udp --dport 5060 -j ACCEPT
      ipt iptables -A FORWARD -s 217.0.0.0/16 -d $FRITZBOXIP/32 -i ppp256 -p udp -m multiport --dport 7078:7109 -j ACCEPT
      #
      # Telekom VoIP
      #
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.16.0/19 -p udp -m udp --dport 5060 -j MARK --set-xmark 0x10000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.16.0/19 -p udp -m udp --sport 5060 -j MARK --set-xmark 0x10000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.128.0/19 -p udp -m udp --dport 5060 -j MARK --set-xmark 0x10000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.128.0/19 -p udp -m udp --sport 5060 -j MARK --set-xmark 0x10000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.0.0/19 -p udp -m udp --dport 3478 -j MARK --set-xmark 0x20000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.0.0/19 -p udp -m udp --sport 3478 -j MARK --set-xmark 0x20000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.0.0/19 -p udp -m multiport --dport 7078:7109 -j MARK --set-xmark 0x20000000/0xf0000000
      ipt iptables -t mangle -A FWD_FILTER_LIST -d 217.0.0.0/19 -p udp -m multiport --sport 7078:7109 -j MARK --set-xmark 0x20000000/0xf0000000
      #




      Ebenfalls habe ich die Datei bootstrap_init.sh wie folgt abgeändert.


      #!/bin/sh

      PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin
      export PATH
      echo ' bootstrap_init.sh PATH: ${PATH}' >> /tmp/bslog

      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lib
      export LD_LIBRARY_PATH
      echo ' bootstrap_init.sh LD_LIBARY_PATH: ${LD_LIBRARY_PATH}' >> /tmp/bslog

      mount -o bind /opt/orig/bin /bin
      echo ' bootstrap_init.sh remount /opt/orig/bin /bin...' >> /tmp/bslog

      mkdir -p /dev/pts
      mount devpts /dev/pts -t devpts
      echo ' bootstrap_init.sh mount /dev/pts ...' >> /tmp/bslog

      # dibbler-cleanup
      #rm /opt/var/lib/dibbler/server.pid
      #rm /opt/var/lib/dibbler/undo_ipv6_fwl.sh
      #rm /opt/var/lib/dibbler/undo_ipv6_route.sh
      #rm /opt/var/log/dibbler/dhcp6update.log
      #rm /opt/var/log/dibbler/dibbler-server-notify.log
      #rm /opt/var/log/dibbler/dibbler-server.log
      #echo ' bootstrap_init.sh dibbler cleanup....' >> /tmp/bslog

      #dibbler-preparation
      cp -r /opt/var_org/dibbler /var/dibbler
      mkdir /var/log/dibbler
      echo ' bootstrap_init.sh dibbler preparation....' >> /tmp/bslog

      killall -9 dhcp6s
      killall -9 voiper
      killall -9 siproxd
      killall -9 siproxd_ipv6
      echo ' bootstrap_init.sh killall sipproxd,voiper, dhcp6s....' >> /tmp/bslog

      #wait for dsl
      while [ $(date | cut -d ' ' -f 7) = 1970 ]; do sleep 1 ; done

      #/opt/sbin/dropbear -R -p 192.168.1.1:22 &
      /opt/sbin/dropbear -R -p `ifconfig br0 | awk '/inet addr/{print substr($2,6)}'`:22 &
      echo ' bootstrap_init.sh dropbear started ...' >> /tmp/bslog

      #/opt/bin/leddaemon.sh &
      #echo ' bootstrap_init.sh leddaemon.sh started ...' >> /tmp/bslog

      # vnstat
      #cp -r /opt/var_org/vnstat /var/vnstat
      #/opt/sbin/vnstatd -d &
      #echo ' bootstrap_init.sh vnstatd started ...' >> /tmp/bslog

      #/opt/bin/busybox-mips httpd -p 8080 -h /opt/http/www -c /opt/http/httpd.conf &
      #echo ' bootstrap_init.sh httpd 8080 started ...' >> /tmp/bslog

      /opt/bin/fw.sh
      echo ' bootstrap_init.sh fw.sh executed ...' >> /tmp/bslog

      #/opt/bin/route.sh
      #echo ' bootstrap_init.sh route.sh executed ...' >> /tmp/bslog

      /opt/bin/crond -c /opt/etc/cron.d &
      echo ' bootstrap_init.sh crond started ...' >> /tmp/bslog

      /opt/bin/fw6.sh
      echo ' bootstrap_init.sh fw6.sh executed ...' >> /tmp/bslog


      Wenn ich die Geräte jetzt Starte steht bei der Fritzbox die richtige Adresse im WAN Bereich und der SPH hat auch die richtige Adresse. Dann habe ich bei der Fritzbox für wenige Sekunden eine Internetverbindung und danach bricht diese wieder ab.
      Die Fritzbox ist bei dem SPH auf dem LAN Port 1 angeschlossen.

      Könntet ihr mir bitte erklären, wo ich einen Fehler mache?

      Vielen Dank!
      Vielen Dank für deine Unterstützung.

      Hier die Ergebnisse:
      1. Die IP Adresse antwortet. Ich kann auch auf die Benutzeroberfläche des SPH zugreifen.
      2. Die IP Adresse antwortet nicht.
      3. Das Funktioniert nicht. Ich habe es sowohl an Port 1 oder 2 an dem SPH versucht. Die IP Adresse des Laptops war nicht in der fw.sh Datei eingetragen.

      Hier noch ein paar weitere Angaben, die mir eingefallen sind:
      1. In der Firtzbox heißt es unter dem Online-Monitor „verbunden seit 01.01.1970“
      2. Der SPH zeigt auch an, dass die DSL-Verbindung aktiv ist und auch synchron.
      2. Ich habe die Einstellung nur in den oben genannten Dateien angepasst. Ich habe auch schon einmal was davon gelesen, dass man die Einstellung direkt in einem „opt“ Verzeichnis ändern kann. Das habe ich nicht gemacht. Ich habe den Router bei jeder Anpassung der Einstellungen neugestartet. Somit sollte das kein Problem sein.
      3. Beim SPH in der Benutzeroberfläche steht bei Telefon "Telefon nicht nutzbar" daraus schließe ich auch, dass die richtige Software geladen wurde.

      Viele Grüße

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Markus_Markus“ ()

      Hi @Markus_Markus, kann es sein, das Du am SPH das DHCP deakiviert hast? Das solltest Du aktiviert lassen. Der PC muss sich ja seine IP-Einstellungen holen können. Dann bitte noch mal 3. ausführen - Mit dem PC/Laptop hinter dem SPH (direkt angeschlossen LAN/WLAN) im Internet surfen. ...das sollte auf jeden Fall gehen.

      Wenn der SPH mit Stick gebootet ist und Du per ssh eingeloggt bist, kannst Du alles was im _bootstrap_ sich befindet, dann unter /opt finden und auch direkt mit z.b. vi /opt/bin/fw.sh editieren.

      Grüße

      danXde

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „danXde“ ()

      Entschuldige den Tippfehler. Der Bereich ist von 192.168.1.100 bis 192.168.1.199. Der PC hat die IP Adresse 192.168.1.101.

      Würde es in der Fehlerfindung helfen, wenn ich den IP Adressenbereich des SPH auf den Standard von dir 192.168.2.1 anpassen und es dann nur mit dem Laptop versuche? Sprich die Standardkonfiguartion verwende.