Для начала я снял дамп настроек DHCP-сервера в Windows:
netsh dhcp server \\11.11.11.1 dump > dump.txtПотом я перенёс этот файл в Linux, сменил его кодировку и после получаса мучений, наваял такой конвейер (для того, чтобы увидеть целиком, придётся, видимо, скопировать его и вставить в текстовый редактор):
grep "Dhcp Server" dump.txt | \
cut - -f8,9,10 -d" " | \
grep domain | \
cut -d. -f1-4 | \
sed -e 's/\"//g' - | \
sed -e 's/\(.*\) \(.*\) \(.*\)/\2 \1 \3/g' - | \
sed - -e 's/^\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/\1\2:\3\4:\5\6:\7\8:\9/g' | \
sed - -e 's/:\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/:\1\2:\3\4/g' | \
sed -e 's/\(.*\) \(.*\) \(.*\)/\thost \3 {\n\t\thardware ethernet \1;\n\t\tfixed-address \2;\n\t}/g' - \
> hosts.txtЭта строчка находит в файле dump.txt строки вида:Dhcp Server 11.11.11.1 Scope 11.0.0.0 Add reservedip 11.11.11.11 00AABBCCDDEE "computer.domain" "" "DHCP"И переделывает их в строки вида:
host computer {
hardware ethernet 00:AA:BB:CC:DD:EE;
fixed-address 11.11.11.11;
}Которые записывает в текстовый файл hosts.txt.
Комментариев нет:
Отправить комментарий