[Problem] Paket erstellen für ISC dhcpd - Compileprobleme

Aufname der ISC-DHCP-Lösung von Silanea in den Freetz-Trunk

Hallo Silanea,
hallo Er13,

ich betreibe seit einigen Monaten die Dienste ISC-DNS, ISC-DHCP sowie OpenVPN auf einem Suse Linux Enterprise Server (SLES) und habe den Wunsch diese Dienste auf meine Fritzbox 7390 auszulageren. Es ist mir gelungen, die genannten Pakte in ein Fritzbox-Image zu packen und auf die Fritzbox zu laden. Mein Freetz-Projekt besitzt heute folgenden Stand:

  1. DNS: funktioniert und ist gut steuer- und konfigurierbar
  2. DHCP läuft und ist (für mich) nur mit großen Schwierigkeiten steuer- und konfigurierbar
  3. OpenVPN: in Arbeit

Bei Punkt 2 würde ich zu gerne weiter kommen daher meine Fragen:

@ Silanea
Er13 hatte bereits gefragt:
möchtest Du, dass Dein Paket in Freetz aufgenommen wird?
Auch ich würde mich ausgesprochen über Deine Lösung freuen. Darum: Hast du vor, Dein Lösung in Freetz aufnehmen zu lassen?

@ Er13
Du hattes geschrieben:
Ansonsten kannst Du Dir make/bind/bind.mk anschauen, wie die Build-Probleme dort gelöst sind und die Lösungen in Dein-Paket übernehmen (wovon ich jedoch dringend abraten würde, wenn Du möchtest, dass Dein Paket in den trunk übernommen wird).
Warum spricht ein Transfer der Bind-Lösung auf das DHCP-Problem gegen eine Übernahme in den Trunk?

Beste Grüße

Frank
 
Zuletzt bearbeitet:
Hallo Ralf,

nach dem Laden eines neuen Images muss ich zur Zeit in der Fritzbox per SSH / Telnet folgendes durchführen:

  • Die Resolve-Datei anpassen:

    vi /var/tmp/etc-resolv.conf

    vorher:
    Code:
    nameserver 127.0.0.1
    domain MyFbName
    nachher:
    Code:
    search example.org
    nameserver 127.0.0.1
    Andernfalls kann der DHCP-Server den Host-Namen des Attributs "fixed-address" nicht korrekt auflösen.
    Code:
    host os131-01a {
      option host-name "os131-01";
      fixed-address os131-01a;
      hardware ethernet 00:50:56:b8:4e:df;
    }
  • Die Datei dhcpd.leases neu anlegen:

    Code:
    mkdir /var/db
    touch /var/db/dhcpd.leases
    Sowohl das Verzeichnis als auch die Datei verschwinden nach dem Neuladen bzw. rebooten.

  • den ISC-DHCP-Daemon starten:
    Code:
    /usr/sbin/isc-dhcpd -cf /tmp/flash/dhcp/dhcpd.conf

Für mich ist das alles machbar, aber meine Partnerin wäre damit z.B. nach einem Stromausfall (wie gestern) völlig überfordert.

Wie stelle ich sicher, dass

  • die o.g. Änderungen auch nach dem Neuladen eines Images oder nach einem Reboot erhalten bleiben?
  • der Daemon wieder automatisch startet?

Beste Grüße

Frank
 
Der erste Punkte betrifft wohl generell die Namensauflösung auf der Box.

Das alles kannst Du in ein Skript eintragen und beim Start automatisch ausführen lassen.
 
@RalfFriedl
RalfFriedl schrieb:
Das alles kannst Du in ein Skript eintragen und beim Start automatisch ausführen lassen.
Sowohl die Erstellung eines Skripts als auch der automatisierte Start setzen erhebliche Kenntnisse auf den Gebieten Linux, Software-Entwicklung und nicht zuletzt der Fritzbox- / Freetz-Umgebung voraus.Beim letzten Punkt muss ich passen. Nachdem ich die Beiträge init-Script für isc-dhcpd schreiben - wie?, Erstellen einer GUI für Pakete in Freetz sowie danisahne-mod ..:: Developer ::.. angesehen habe, möchte ich nicht in die Freetz-Script- bzw. Freetz-GUI-Entwicklung einsteigen. Das sprengt mein Zeitbudget. Außerdem wolle ich das ISC-DHCP-Paket nur benutzen - nicht etwa (weiter-) entwickeln. Ich bitte Dich um Verständnis.

@er13
er13 schrieb:
Ist seit r11730 in trunk. Von Silanea gab's leider keine Antwort, von daher in "meiner" Version.
Ohne Deine Version wäre ich gar nicht soweit gekommen. Danke!

Als ich schrieb
freetz4fun schrieb:
Auch ich würde mich ausgesprochen über Deine Lösung freuen.
habe ich (es war schon spät in der Nacht) den Thread hier mit dem Thread (ebenfalls von Silanea) init-Script für isc-dhcpd schreiben - wie? verwechselt. Es ging mir um die Freetz-Verwaltungsumgebung (Start- / Stop-Skripte, Freetz-Web-GUI), welche dem ISC-DHCP-Paket zur Zeit leider noch fehlt. Mit dieser Verwaltungsumgebung würde es auch Freetz-Nutzern ohne tiefere Kenntnisse möglich, das Paket zu verwenden. Da ich selbst aus den o.g. Gründen diese Module nicht herstellen werde, hoffe ich, es findet sich jemand, der Kenntnisse, Zeit und Lust dazu hat.

Ich werde als nächstes das (von mir bereits in der Box installierte) Freetz-OpenVPN-Paket konfigurieren. Mit seinem Web-GUI wird mir das wahrscheinlich in kurzer Zeit gelingen.

Allen nochmals vielen Dank und viel Spaß beim freetzen :)
 
Zuletzt bearbeitet:
Es muss nicht unbedingt ein Skript sein, das über die Web-Oberfläche konfiguriert und gestartet werden kann.

Ein einfacher Schritt wäre, die Anweisungen von #23 in den Autostart (rc.custom) zu schreiben.
Code:
sed -i -e 's/domain MyFbName/search example.org/g' /var/tmp/etc-resolv.conf

mkdir /var/db
touch /var/db/dhcpd.leases

/usr/sbin/isc-dhcpd -cf /tmp/flash/dhcp/dhcpd.conf
 
Danke Ralf!

Dein entscheidender Tipp steht ganz unscheinbar in Klammern: "rc.custom".

Ich bin Freetz-Anfänger und wusste zunächst nicht, wo diese Datei zu finden ist. Auch ein
Code:
find / -name rc.custom
ausgeführt auf der Fritzbox brachte kein Ergebnis. Genauso wenig verrät die Doku unter http://freetz.org/wiki/packages/mo wo diese Datei steht bzw. wie man Zugang zu ihr erhält. Kurzum:

Die Datei "rc.custom" lässt sich über das Freetz-Web-GUI anlegen:

Danach findet man sie unter:
Code:
fritz.box:/var/tmp/flash/mod/rc.custom
Dort kann man sie natürlich auch per "vi" herstellen.

Die Seite Freetz-Web-GUI --> Freetz --> rc.custom besitzt oben in der Kopfzeile unter Hilfe den Link http://freetz.org/wiki/packages/mod#rc_custom. Dort findet man etwas Hintergrundinfo zu rc.custom und anderen Freetz-Dateien. Wie gesagt leider ohne Pfadangabe. (Vielleicht kann das jemand nachtragen?!).

Bei meinen Arbeiten waren mir neben Emacs und Unison noch zwei Skripte hilfreich.

  • Zur Übertragung von der Fritzbox (gw2) zum Fritz-Entwicklungshost (srv1)
    Code:
    #!/bin/sh
    #
    # 2014-03-09 anon:
    #
    #   - erste version.
    #
    # ----------------------------------------------------------------------
    #
    # fritzbox synchronisieren: gw2 --> srv1 .
    #
    DirLst="  \
      /var/media/ftp/uStor01  \
      /var/tmp/flash  \
      /var/tmp/openvpn  \
    "
    
    case "$1" in
      "--dry-run" | "-n")
        DryRun="--dry-run"
        ;;
    
      "")
        DryRun=""
        ;;
    
      *)
        DryRun="--dry-run"
        echo "$0: err: unknown option \"$1\". doing a dry run."
        ;;
    esac
    
    for Dir in ${DirLst}; do
      Src="root@gw2:${Dir}/"
      Dst="/rf/arc/gw2/cur${Dir}"
    
      rsync ${DryRun} --archive --delete -e ssh --progress -v ${Src} ${Dst}
    done
  • Zur Übertragung in der Gegenrichtung
    Code:
      ...
      Src="/rf/arc/gw2/cur${Dir}/"
      Dst="root@gw2:${Dir}"
      ...
Vorbedingung: Auf der Fritzbox wurde OpenSSH sowie rsync per Freetz nachgerüstet.

Zum Schluss noch eine Rückschau:

Der Aufwand für die Einarbeitung in Freetz sowie die Installation und Konfiguration der Freetz-Pakete ISC-DNS, ISC-DHCP und OpenVPN betrug bei mir in Summe ca. 60 Stunden. Ich selbst arbeite seit 24 Jahren mit Linux, besitze also umfangreiche Erfahrung und Kenntnisse. Ich denke, dass sich der Aufwand erheblich verringern ließe, wenn die schon zahlreiche Freetz-Dokumentation stärker strukturiert wäre und vor allem für Einsteiger mehr wichtige Details enthielte. Ich selbst habe mich entschlossen, sowohl meine berufliche als auch private Technische Dokumentation mit DITA und dem DITA-Modul im Werkzeug oXygen XML Editor zu erstellen. Dabei steht bei DITA weniger das XML-basierte Dateiformat im Vordergrund als das Konzept wie man an Technische Dokumentation herangeht. Den Einsatz von DITA in Freetz hielte ich für einen immensen Vorteil. Wenn jemand aus dem Freetz-Team Interesse hat, dann würde ich mich über seine Nachricht (einleitend hier, später in einem eigenen Thread) besonders freuen.

Nochmals herzlichen Dank an alle, die mir so wohlwollend, engagiert und kompetent geholfen haben.

Euer Freetzer Frank (alias Freetz4Fun)

(Das ist ja schon fast eine Alliteration :) )
 
Zuletzt bearbeitet:
Freetz verwendet ein Wiki, jeder kann daran Änderungen machen. Wenn man sich selbst gerade eingelesen hat, weiß man eher, wo es anders besser gewesen wäre.
Die Datei rc.custom ändern die meisten über das Web Interface, ich wüsste im Moment auch nicht sicher in welchem Verzeichnis sie steht.

Und herzlichen Glückwunsch zu 24 Jahre Linux :)
 

Statistik des Forums

Themen
246,750
Beiträge
2,256,839
Mitglieder
374,775
Neuestes Mitglied
bchrist
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.