У нас есть смесь систем, которые являются либо статическими IP-адресами, либо резервированием DHCP. (Мы не раздаем никаких адресов, кроме зарезервированных). Некоторые серверы имеют несколько сетевых адаптеров и плат МОТ. Становится раздражающим сканирование подсети в поисках свободных IP-адресов, которые можно использовать, особенно потому, что сервер может быть отключен на несколько минут, когда я выполняю сканирование. О любом листинге, кажется, быстро забывают ..
Я хочу создать резервирование для каждого IP-адреса в моих подсетях. Это значительно упростило бы управление / просмотр. (а затем посмотрите, как настроить DHCP для обновления DNS)
Я выполнил следующую команду:
sudo arp-scan -I eth0 10.10.10.0/24
И иметь список всех IP-адресов и Mac-адресов. Я также собираюсь получить список всех имен хостов / DNS. (и если у них нет имени хоста, я назову его октетом ip-last, поэтому для 10.10.10.100 «ip-100».). Это легко сделать с помощью некоторой работы в Open Office Calcl.
Есть ли способ автоматически добавлять резервирования в файл dhcpd.conf?
Я действительно не хочу вручную редактировать это, так как существует сотни (несколько подсетей).
есть ли простой способ вызвать команду для создания бронирования или импортировать список из CSV? Я мог найти много способов сделать это с помощью Windows DHCP, используя Net Sh, но не с моим DHCP-сервером на базе CentOS.
Я бы предпочел использовать существующий способ, чем написать свой собственный инструмент.
TL: DR - Мне нужен способ изменить DHCPd Cento из командной строки, как в Windows с помощью Netsh
Если вы что-то делаете с OMshell, по совету Иэна, имейте в виду, что эти изменения временны. Если вы создадите новый объект аренды для данного MAC-адреса через OMAPI, этот объект будет потерян при следующем перезапуске сервера.
Вам нужно сделать и то, и другое - OMAPI для немедленного добавления резервирования к работающему серверу и сценарий, который обновляет dhcpd.conf для потомков.
Посмотри на omshell он может делать то, что вы хотите. Он позволяет вам создавать новые объекты хоста, которые резервируют IP-адрес для определенного MAC-адреса.
Чтобы заставить omapi прослушивать ваш dhcp-сервер
создать ключ для безопасного доступа
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
который генерирует такие файлы, как
Komapi_key.+157+24472.key
Komapi_key.+157+24472.private
Я использовал содержимое строки Key: из личного файла
fzg+LkcuXNcnFL1GqwuGv/OafeWEszUjn3dZV0FJkXyPyrOSjqNUKII0NSqEWN8W9/BEakGf9aa/GSV44C0zNQ==
Отредактируйте файл yout dhcp.conf и добавьте
omapi-port 9999;
key omapi_key {
algorithm HMAC-MD5;
secret fzg+LkcuXNcnFL1GqwuGv/OafeWEszUjn3dZV0FJkXyPyrOSjqNUKII0NSqEWN8W9/BEakGf9aa/GSV44C0zNQ==;
}; omapi-key omapi_key;
используя ключ, сгенерированный выше.
Запустить dhcpd
/usr/sbin/dhcpd
теперь вы можете использовать omshell для добавления хостов
/usr/bin/omshell
> port 9999
> server 192.168.200.207
> key omapikey fzg+LkcuXNcnFL1GqwuGv/OafeWEszUjn3dZV0FJkXyPyrOSjqNUKII0NSqEWN8W9/BEakGf9aa/GSV44C0zNQ==
> connect
obj: <null>
> new host
obj: host
Теперь вы можете добавлять записи о хостах, как описано на странице руководства.
Я полагаю, вы используете ISC DHCPd. В этом случае просто добавьте
host client_name {
hardware ethernet 00:00:de:ad:be:ef;
fixed-address 10.10.10.100;
}
в вашу область видимости в /etc/dhcpd.conf.
Конечно, вы не будете «редактировать» это вручную, а скорее создадите короткий сценарий, который будет выдавать необходимые определения хоста для каждой области. Что-то вроде этого подойдет:
#!/bin/bash
function hostdef {
echo host $1 {
echo -e \\thardware ethernet $2\;
echo -e \\tfixed-address $3\;
echo }
echo
}
cat $1 | while read name mac ip; do hostdef $name $mac $ip; done
вызывая его с помощью плоского файла с таким содержимым:
ip-100 00:00:de:ad:be:ef 10.10.10.100
ip-101 00:00:0b:ad:be:ef 10.10.10.101
ip-102 00:00:0b:ad:de:ed 10.10.10.102
ip-103 00:00:de:af:be:ef 10.10.10.103
генерирует необходимые строки для вставки в ваш файл конфигурации или записывает вывод в отдельный файл, который вы должны включить в конфигурацию dhcpd.conf следующим образом:
include "/etc/dhcpd-reservations-10-10-10.conf";