OPNsense
  • Home
  • Help
  • Search
  • Login
  • Register

  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: Patrick M. Hausen) »
  • [SOLVED] dhcp static mappings import über modifizierte backup-datei
« previous next »
  • Print
Pages: [1]

Author Topic: [SOLVED] dhcp static mappings import über modifizierte backup-datei  (Read 2906 times)

migrator

  • Newbie
  • *
  • Posts: 4
  • Karma: 2
    • View Profile
[SOLVED] dhcp static mappings import über modifizierte backup-datei
« on: August 21, 2018, 02:03:04 pm »
Hallo,

ich versuche statische DHCPv4-Einträge zu importieren.
Leider scheint es keine offizielle Lösung zu geben, deswegen habe ich versucht die XML-Datei aus dem Backup um die entsprechenden Einträge zu erweitern und das Backup dann wieder einzulesen.
Ich lese die Einträge für <ipaddr>,  <mac>, <decr> und <hostname> per Script aus einem isc-dhcp-server aus und erzeuge damit den xml-code, den ich dann in die entsprechende Section der Backup-Datei hineinkopiere.
Wenn ich über die OPNsense-Gui Einträge  unter DHCP Static Mappings anlege, sehen diese im Backup identisch und i.A. folgendermaßen aus ...
Code: [Select]
  <dhcpd>
    <opt3>
      <enable>1</enable>
      <numberoptions/>
      <range>
        <from>192.168.110.50</from>
        <to>192.168.110.55</to>
      </range>
      <staticmap>
        <mac>00:25:90:cd:0d:98</mac>
        <ipaddr>192.168.110.100</ipaddr>
        <hostname>110-100</hostname>
        <descr>Backup</descr>
      </staticmap>
    </opt3>
    <opt7>
      <enable>1</enable>
      <numberoptions/>
      <range>
        <from>192.168.245.46</from>
        <to>192.168.245.56</to>
      </range>
      <staticmap>
        <mac>c8:5b:76:4f:ae:a0</mac>
        <ipaddr>192.168.245.34</ipaddr>
        <hostname>245-34</hostname>
        <descr> laptop 28.11.2016</descr>
        <mac>c8:5b:76:4f:a4:f3</mac>
        <ipaddr>192.168.245.35</ipaddr>
        <hostname>245-35</hostname>
        <descr> laptop 28.11.2016</descr>
        <mac>50:7B:9D:E4:7B:F0</mac>
        <ipaddr>192.168.245.36</ipaddr>
        <hostname>245-36</hostname>
        <descr> laptop 20.12.2016</descr>
      </staticmap>
    </opt7>
Nach Einlesen des Backup bleiben von Hand eingegebene Einträge bestehen, für die modifizierten hingegen wird eine Zeile angezeigt mit jeweils einer Meldung pro Spalte:
Code: [Select]
Warning: htmlspecialchars() expects parameter 1 to be string, array given in /usr/local/www/services_dhcp.php on line 1121 / 1124 /1127  /1130.
Den entsprechenden Abschnitt habe ich mir angesehen, sehe aber keine Lösung, übersehe ich etwas?
Ist das Backup evtl. geschützt (bspw. über eine Checksum) und nicht modifizierbar?
Hat jemand schon mal etwas ähnliches probiert oder kennt eine andere Lösung für den DHCP-Import?

Danke fürs lesen und noch mehr für Hilfe
« Last Edit: August 28, 2018, 08:12:04 am by migrator »
Logged

migrator

  • Newbie
  • *
  • Posts: 4
  • Karma: 2
    • View Profile
[SOLVED] dhcp static mappings import über modifizierte backup-datei
« Reply #1 on: August 28, 2018, 08:11:29 am »
Es funktioniert nun. ich hatte die <staticmaps>-Tags für jeden Host über sehen  :o
Falls jemand auch mittles Skript statische Hosts aus einem isc-dhcp-server auslesen möchte, hier mein Skript dazu ...

Code: [Select]
#!/bin/bash

# read active ip-addr from isc-dhcp-server and write xml-structure for opnsense
# etries in dhcpd.conf looks like:
# host 110-100 { hardware ethernet 00:25:90:cd:0d:98; fixed-address 192.168.110.100; } # my comment

dhcpin=/etc/dhcp/dhcpd.conf
dhcpout=$(hostname)-dhcp-4-opnsense.xml

grep '^host' $dhcpin | while read line
do
echo "      <staticmap>" >> $dhcpout
mac=$(echo $line | cut -d '{' -f 2 | cut -d ' ' -f 4 | cut -d';' -f 1)
echo "        <mac>$mac</mac>" >> $dhcpout
ip=$(echo $line | cut -d ';' -f 2 | cut -d ' ' -f 3)
echo "        <ipaddr>$ip</ipaddr>" >> $dhcpout
hn=$(echo $line | cut -d ' ' -f 2)
echo "        <hostname>$hn</hostname>" >> $dhcpout
beschr=$(echo $line | cut -d '#' -f 2)
echo "        <descr>$beschr</descr>" >> $dhcpout
echo "      </staticmap>" >> $dhcpout
done

Den ausgegeben Code habe ich dann in die Backupdatei von OPNsense an den entsprechenden Stellen reinkopiert - es hilft ein paar Einträge von Hand anzulegen um das Muster zu versehen. danach habe ich das Backup wieder importiert und mir eine Menge Klickerei gespart.

Cheers
Logged

userbenutzer

  • Newbie
  • *
  • Posts: 18
  • Karma: 0
    • View Profile
Re: [SOLVED] dhcp static mappings import über modifizierte backup-datei
« Reply #2 on: June 27, 2023, 07:55:22 pm »
Hi,

funktionierte mit ipfire (eigentlich auch isc-dhcp-server) nicht.
Hier gab es aber die Datei fixleases und wir konnten das Skript entsprechend umbauen.

Code: [Select]
#!/bin/bash

# read active fixleases from /var/ipfire/dhcp/fixleases and write xml-structure for opnsense
# entries in fixleases look like:
# aa:00:aa:00:aa:00,192.168.0.31,on,,,,edv-pc20

dhcpin=/var/ipfire/dhcp/fixleases
dhcpout=$(hostname)-dhcp-4-opnsense.xml

cat $dhcpin | while read line
do
echo "      <staticmap>" >> $dhcpout
mac=$(echo $line | cut -d ',' -f 1)
echo "        <mac>$mac</mac>" >> $dhcpout
ip=$(echo $line | cut -d ',' -f 2)
echo "        <ipaddr>$ip</ipaddr>" >> $dhcpout
descr=$(echo $line | cut -d ',' -f 7)
echo "        <descr>$descr</descr>" >> $dhcpout
echo "      </staticmap>" >> $dhcpout
done


Vielen Dank für die Vorarbeit. Ersparte eine Menge Handarbeit =)
Logged

  • Print
Pages: [1]
« previous next »
  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: Patrick M. Hausen) »
  • [SOLVED] dhcp static mappings import über modifizierte backup-datei
 

OPNsense is an OSS project © Deciso B.V. 2015 - 2024 All rights reserved
  • SMF 2.0.19 | SMF © 2021, Simple Machines
    Privacy Policy
    | XHTML | RSS | WAP2