Настраивать мы будим на сервере Ubuntu 10.04. Способ настройки сервера не изменился со времен Ubuntu 7.XX.Установим необходимый пакет
sudo apt-get install dhcp3-server
После выполнения установки, сервер автоматически НЕ запускается-выдавая ошибку, это нормально!Для примера рассмотрим сеть с диапазоном IP адресов, начиная с 192.168.0.3 по 192.168.0.254 и маской подсети 255.255.255.0.Наш шлюз, для выхода в Интернет занимает IP 192.168.0.1В сети есть DNS сервер находящийся по адресу 192.168.0.2Выдача IP адресов осуществляется на основе MAC адресов сетевых карт.Начнем настройку:
sudo nano /etc/dhcp3/dhcpd.conf
Имя сети, можно оставить как есть, но лучше закомментировать.
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
Если данный DHPC сервер будет единственным в сети, то директиву лучше раскоментировать.
authoritative;
Далее находим диапазон настроек адресов:Снимем комментарии со строчек, которые нам необходимы:
# A slightly different configuration for an internal subnet.subnet 192.168.0.0 netmask 255.255.255.0 { # подсеть и маска
range 192.168.0.5 192.168.0.254; # указываем диапазон IP адресов, которые будут выдаваться клиентам
option domain-name-servers 192.168.0.2; # IP DNS-сервера
option domain-name "internal.example.org"; # можно задать название своей сети
option routers 192.168.0.1; # адрес шлюза или маршрутизатора через который мы выходим в Интернет.
option broadcast-address 192.168.0.255; #широковещательный адрес который находится последним в диапазоне IP данной подсети
default-lease-time 600; # время аренды IP адреса в сек.
max-lease-time 7200; # максимальное время аренды IP адреса
}
Все, теперь запускаем наш сервер:
sudo /etc/init.d/dhcp3-server start
Если запуск прошел без ошибок, то если подключить клиентский компьютер в эту сеть, он получит IP адрес.Рассмотрим вариант, немного сложнее.Предположим, что в качестве маршрутизатора у нас выступает ПК с двумя сетевыми картами eth0-смотрит в локальную сеть, eth1-смотрит в Интернет.Чтобы наш DHCP сервер выдавал IP адреса только клиентам нашей локальной сети, необходимо указать системе, на каком сетевом интерфейсе принимать запросы от клиентов, в нашем случае eth0
sudo nano /etc/default/dhcp3-server
В строке INTERFACES указываем сетевой интерфейс, который смотрит в нашу локальную сеть (eth0)
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".INTERFACES="eth0"
Но и на этом не успокаиваемся.Предположим, нам необходимо закрепить определенный IP адрес, за опеределенный сетевым устройством, например-сетевым принтером.MAC адрес сетевого адаптера позволяет довольно легко идентифицировать нужное нам устройство внутри локальной сети.И так определились-у нас есть принтер (хотя это может быть любое устройство, которое может подключаться к локальной сети) с MAC адресом: 00:00:72:6c:9m:2p, нам необходимо присвоить ему постоянный IP 192.168.0.100Добавляем в самый конец dhcpd.conf
sudo nano /etc/dhcp3/dhcpd.conf
host network-printer {
hardware ethernet 00:00:72:6c:9m:2p; fixed-address 192.168.0.100;
}
Где: hardware Ethernet-аппаратный адрес, он же MAC, fixed-address-IP который должен доставаться именно этому устройству.После этого перезагружаем DHCP сервер чтобы изменения вступили в силу.
sudo /etc/init.d/dhcp3-server restart
В случае если необходимо просмотреть журнал DHCP сервера, идем в /var/log/messagesНастройка DHCP сервера, отнимет у вас не более пяти мин. жизни, но в последствии, сохранит вам-море времени.Вот собственно и все.