sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #96702
Re: Konvertering af windows 2000 dhcp-server til linux
Brian Møller wrote:
Er der nogen der har en guide / tool der kan hjælpe mig igennem
dette. Selve subnet-oprettelsen tager ikke lang tid, hvis det skal
gøres i hånden; men det er alle de reservationer der vil slå
projektet ihjel.
Jeg kender ikke windows 2000, men er det ikke muligt at eksportere
konfigurationsfilen fra dhcp-serveren og så jave den gennem et
perl-script, som laver konfigurationsfilen for dhcpd?
Det ender det nok med.
Nu fandt jeg fra andet sted ud af at man med netsh kommandoen:
netsh dhcp dump > c:\dhcp\test.dmp
kan eksportere hele config'en. Det ser sådan her ud:
Dhcp Server 10.20.0.5 add scope 10.20.16.0 255.255.255.0 "10.20.16.0"
"Description"
Dhcp Server 10.20.0.5 Scope 10.20.16.0 set state 1
Dhcp Server 10.20.0.5 Scope 10.20.16.0 Add iprange 10.20.16.11
10.20.16.200
Dhcp Server 10.20.0.5 Scope 10.20.16.0 set optionvalue 3 IPADDRESS
"10.20.16.1"
Dhcp Server 10.20.0.5 Scope 10.20.16.0 Add reservedip 10.20.16.11
000973d95c1f "PUBPC33." "000973d95c1f" "DHCP"
Dhcp Server 10.20.0.5 Scope 10.20.16.0 Add reservedip 10.20.16.12
000973bd5c1f "PUBPC34." "000973bd5c1f" "DHCP"
Det skal jeg så bare lige have parset til noget som for mit
vedkommende er brugbart. Ulempen er så bare at det er jeg ikke helt
stærk i; men jeg ved hvordan det skal se ud.
/Brian
Hej Brian
Jeg har lavet et eksempel på hvordan det ca. kan gøres
på din linux box gem i en fil alle linjer fra din windows box dhcp der
ser sådan her ud:
Dhcp Server 10.20.0.5 Scope 10.20.16.0 Add reservedip 10.20.16.11
000973d95c1f "PUBPC33." "000973d95c1f" "DHCP"
Dhcp Server 10.20.0.5 Scope 10.20.16.0 Add reservedip 10.20.16.12
000973bd5c1f "PUBPC34." "000973bd5c1f" "DHCP"
lav et så kan du nu bruge dette script (gem fx som: w2l-dhcp.sh dernæst
chmod 755 w2l-dhcp.sh ) til at lave det om til dette linux dhcpd.conf
format:
#-------------------
cat $1 | while read line; do
IP=`echo $line |awk {'print $8'}`
HOST=`echo $line |awk {'print $10'} |sed -e 's/"//g'| sed -e
's/\.//'` # sed fjerner " og . fra navnet
MAC=`echo $line |awk {'print $9'} | awk 'BEGIN{FS=""}{print
$1$2":"$3$4":"$5$6":"$7$8":"$9$10":"$11$12'}`
echo -e "host $HOST { \n hardware ethernet $MAC; \n fixed-address $IP;
\n } "
done
#-----------
kør sciptet sådan:
./w2l-dhcp.sh FIL_NAVN_PÅ_WIN_DHCP_FIL > ny_dhcp_fil.txt
så har du alle dine ip/mac/hostname oplysninger i filen "ny_dhcp_fil.txt"
Dette kan sikker gøres meget næmmere i perl, men dette her over virker
også :-)
/Frank
References