среда, 16 июня 2010 г.

Установка и настройка DHCP сервера

DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической конфигурации узла) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.

Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Системный администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок.

Итак имеется сервер с двумя сетевыми картами
1. eth0 ("смотрит" в локальную сеть)
2. eth1 ("смотрит" в интернет)

Для начала, нужно отредактировать файл /etc/network/interfaces и прописать в него необходимые настройки

sudo nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# смотрим в локальную сеть
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

# смотрим на провайдера
auto eth1
iface eth1 inet static
address 200.200.200.126
netmask 255.255.255.252
gateway 200.200.200.125
hwaddress ether 00:14:38:C8:4A:54

Кстати, обратите внимание, у моего провайдера жестко привязан ip адрес к mac-адресу моей сетевой карты. В связи с тем, что сетевая карта давно поменяна на другую, строкой hwaddress ether 00:14:38:C8:4A:54 я "привязал" нужный mac-адрес для моего провайдера.

После этого приступим к установке самого сервера DHCP

sudo apt-get install dhcp3-server

DHCP сервер после установки, попытается тут же запустить себя, но, в связи с тем, что конфигурационный файл еще пустой, сервер выдаст ошибку. Паниковать не нужно. Отредактируем конфигурационный файл, предварительно сохранив его оригинал.

sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.original
sudo nano /etc/dhcp3/dhcpd.conf

После чего прописываем нужную конфигурацию

# server linux # cat /etc/dhcp/dhcpd.conf
# 67 - слушает dhcp сервер
# 68 - слушает dhcp клиент
ddns-update-style none;

# Подсеть 192.168.1.0, маска сети 255.255.255.0
subnet 192.168.1.0 netmask 255.255.255.0 {
# маршрутизатор по умолчанию
option routers 192.168.1.1;

# маска подсети 255.255.255.0
option subnet-mask 255.255.255.0;

# задание широковещательного адреса
option broadcast-address 192.168.1.255;

# адрес DNS сервера, который будут использовать клиенты
option domain-name-servers 192.168.1.1;

# диапазон адресов для клиентов с 10 по 249
# 192.168.1.10-192.168.1.249
range 192.168.1.10 192.168.1.249;

# сказать клиентам, чтобы отдали адрес через 43200 секунд (12 часов)
# после получения адреса
default-lease-time 43200;

# забрать адрес самому через 604800 секунд (7 дней)
max-lease-time 604800;

# можно "привязать" MAC - IP адресам

#Иванов
host host01 {
fixed-address 192.168.1.23;
hardware ethernet 00:2С:9Ф:14:СС:EB;
}

#Петров
host host02 {
fixed-address 192.168.1.17;
hardware ethernet 00:1B:54:C7:81:2A;
}

}

Теперь необходимо указать, на каком сетевом интерфейсе необходимо раздавать адреса клиентам. Для этого прописываем необходимые настройки в файл /etc/default/dhcp3-server

sudo nano /etc/default/dhcp3-server

где прописываем нужный нам сетевой интерфейс eth0

INTERFACES="eth0"

После чего перезапускаем наш сервер DHCP следующей командой

sudo service dhcp3-server restart

Кстати, в своих настройках я указал свой (локальный) адрес DNS сервера т.к. я его установил. Как устанавливать сервер DNS можете почитать здесь. Но а если у вас не установлен свой DNS сервер, то в файле /etc/dhcp3/dhcpd.conf необходимо указать адрес DNS сервера своего провайдера, например

option domain-name-servers 100.100.100.100





Комментариев нет:

Отправить комментарий