DHCP (англ. Dynamic Host Configuration Protocol протокол динамической конфигурации узла) это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели “клиент-сервер”. Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к т.н серверу DHCP, и получает от него нужные параметры. Это нам говорит википедия, но я думаю что если Вы зашли сюда, Вы и так знаете что это такое и Вас интересует как установить и настроить DHCP-сервер на Ubuntu.
Для того чтобы Ubuntu выполнял роль DHCP-сервера надо поставить всего один пакет dhcp3-server, ставиться он одной командой
sudo apt-get install dhcp3-server
После того как пакет будет установлен, DHCP-сервер будет работать как демон(т.е. запускаться при старте системы), остановить, перезапустить или запустить его можно командой.
sudo /etc/init.d/dhcp3-server stop/restart/start
Настройка DHCP-сервера осуществляется через конфигурационный файл /etc/dhcp3/dhcpd.conf
Для того чтобы настроить раздачу сетевых параметров dhcpd.conf должен содержать следующий конфиг
default-lease-time 600; max-lease-time 7200; subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; #getway option subnet-mask 255.255.255.0; #маска option domain-name "example.com"; option domain-name-servers 192.168.0.2, 192.168.0.3; #DNS-сервера range 192.168.1.10 192.168.1.100; # Диапазон ip адресов }
Если хотите чтобы DHCP-сервер выдавал ip хосту по мак адресу, конфиг должен быть следующим.
host host1 { option host-name "host1.example.com"; hardware ethernet 00:12:34:56:78:90; #mac-адрес хоста fixed-address 192.168.0.101; #ip для этого хоста }
Вся истории аренды ip адресов пишется в файл /var/lib/dhcp3/dhcpd.leases
Роликовые коньки купить роликовые коньки sportcity74.ru. My safe склад. Складской комплекс мой safe www.skladovka.ru.
Спасибо!
братан, от души! Проблему решил.
Status of DHCP server: dhcpd3 is not running.
usc148@usc148-desktop:~$ sudo /etc/init.d/dhcp3-server start
* Starting DHCP server dhcpd3 * check syslog for diagnostics.
[fail]
в связи с этим вопросы:
где syslog?
где сразу посмотреть косяки?
Спасибо!
Просто и понятно.
Я не уверен (пока только доку читаю, на практике ещё не пробовал), но по здравому рассуждению мне мнится, что слово “restare” во второй цитате команды лучше поменять на “restart” на случай, если кто-то будет невнимательно копипастить.
Или там нет опечатки и действительно должно быть “restare”? Тогда есть смысл акцентировать на этом внимание, потому как без копипаста неопытный народ будет по привычке пытаться набирать “restart”.
Да, конечно же это опечатка. Исправил.
TO: sky16.
/ver/log/syslog
лучше перенастроить syslog что бы от ДХСП сообщения писал в отдельный файл
Поправь, что сначала неплохо бы отредактировать файл /etc/default/dhcp3-server, вписав туда имя интерфейса на котором будет работать DHCP сервер, так же надо учесть что в настройках пула раздаваемых клиентам адресов должна быть та же подсеть что и на интерфейсе указанном в файле, иначе сервер не стартует
А меня интересует такой вопрос: DHCP сервер работает для всех интерфейсов (eth0, wlan0, …) или для какого-то одного???
Такой вопрос у меня возник в связи с тем что он вообще не хочет запускаться когда wi-fi адаптер не подключен ни к какой сети, выдает
* Starting DHCP server dhcpd3
* check syslog for diagnostics.
[fail]
а как только я подключаюсь к сети — все ok
nano /etc/dhcp3/dhcpd.conf только так смог открыть файл настройки
range 192.168.1.10 192.168.1.100; # Диапазон ip адресов
на мой взгляд тут ошибка
если у нас подсеть 0 то почему мы выдаем ип адреса из 1 подсети
исправьте
Дружище, то что нужно! Спасибо!
стоит добавитть в мануал упоминание о:
cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. “eth0 eth1″.
INTERFACES=”eth0″