Не запускается dhcp сервер ubuntu

Обновлено: 02.07.2024

Home Статьи Linux для новичков Настройка DHCP-сервера на Ubuntu

Настройка DHCP-сервера на Ubuntu

В этой статье мы рассмотрим установку и начальную настройку DHCP сервера на Ubuntu. В моем случае установка будет производиться на дистрибутив Ubuntu 14.04.3 LTS, однако, подобным образом DHCP можно установить и настроить на любом дистрибутиве. В моем случае сервер существует достаточно давно и в качестве DNS/DHCP на нем был установлен dnsmasq, который не был настроен и никогда не работал. Поскольку на данный момент dnsmasq входит в число неподдерживаемых дистрибутивом пакетов, было принято решение избавиться от него и настроить все несколько иначе. Если у Вас на сервере нет установленного DHCP-сервера, первый шаг можно пропустить.

Удаление dnsmasq

Тут ничего сложного, просто пишем в консоль:

И дожидаемся его полного удаления. После этого в системе, вероятно, остались ненужные более пакеты, от которых зависел dnsmasq, следует удалить и их тоже:

После этого можно приступать к настройке DHCP сервера с нуля.

Установка DHCP сервера isc-dhcp-server

Как обычно, для начала следует обновить установленные в системе пакеты:

sudo apt-get update && sudo apt get upgrade -y

Теперь установим непосредственно сам DHCP сервер:

sudo apt-get install isc-dhcp-server

install dhcp server

Сервер должен сразу запуститься, но нам предстоит настроить его под свои нужды.

Открываем и редактируем файл /etc/default/isc-dgcp-server. В нем нужно указать сетевой интерфейс, который будет использоваться для раздачи IP-адресов. В моем случае один и тот же интерфейс смотрит как в локальную сеть, так на шлюз (который в той же локальной сети), поэтому я указываю его.

В большинстве случаев я предпочитаю сохранять оригинальные конфигурационные файлы, но в данном случае это лишнее, так как мы изменим в нем всего один параметр.

Параметру INTERFACES присваиваем значение ethXN, где ethXN - адаптер для локальной сети. Получиться должно примерно следующее:

interfacesDHCP

Узнать, какой интерфейс в Вашем случае используется для локальной сети можно выполнив:

ifconfig

Теперь займемся редактированием основных настроек DHCP

Откроем для редактирования /etc/dhcp/dhcpd.conf:

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.dist && sudo nano -w /etc/dhcp/dhcpd.conf

Обратите внимание, что сначала мы делаем копию оригинального файла настроек на случай, если что-то пойдет не так. Так как это первый и на данный момент единственный DHCP-сервер в сети, то раскомментируем строку authoritative. Так же в этом файле сразу содержатся строки:

subnet 192.168.0.0 netmask 255.255.255.0 <
range 192.168.0.200 192.168.0.250;
option domain-name "ordaupfin.local";
option domain-name-servers 192.168.0.231, 192.168.0.1;
option routers 192.168.0.231;
option broadcast-address 192.168.0.255;
default-lease-time 604800;
max-lease-time 604800; >

Рассмотрим эту секцию подробнее:

  • Задаем подсеть 192.168.0.0 с маской 255.255.255.0, Вы, естественно, адаптируете все это под свои нужды. Обратите внимание, что все нижеследующие опции включены в секцию этой подсети (заключены в фигурные скобки);
  • Range задает диапазон выдаваемых адресов. В моей сети большинство клиентов имеют статические адреса, поэтому я выделяю небольшой диапазон;
  • option domain-name добавляет имя домена к имени клиента, например подключенному клиенту HOME-PC будет присвоено имя HOME-PC.ordaupfin.local;
  • option domain-name-servers задает адреса DNS серверов, у меня в сети их 2, можно указать внешний DNS, например Google Public DNS A - 8.8.8.8;
  • option routers задает шлюз по-умолчанию;
  • option broadcast-address задает широковещательный адрес подсети;
  • default-lease-time и max-lease-time задают срок аренды по умолчанию и максимальный срок аренды IP-адреса в секундах соответственно. У меня это 7 дней.

Вот как это выглядит в nano:

dhcpdconf

Теперь перезапускаем DHCP сервер командой:

sudo service isc-dhcp-server restart

isc-dhcp-server stop/waiting
isc-dhcp-server start/running, process 30456

Значит, все хорошо и компьютеры в сети могут получать адреса по DHCP. Если демон после правки конфигов не запускается, значит внимательно смотрим конфигурационные файлы на предмет ошибок/опечаток. В этом может помочь syslog, если посмотреть его сразу после неудачной попытки запуска:

Листать лог вверх-вниз можно сочетанием клавиш Shift+PgUp/Shift+PgDwn, выход из просмотра Ctrl+C.

В моем случае все прошло удачно. При включении WiFi и подключении к сети успешно был получен IP адрес и все остальные настройки:

Screenshot 2016-01-22-12-12-57

Спасибо за внимание!

Если статья показалась полезной, поделитесь ей в соц сетях, кнопки которых расположены ниже

Я следую этому руководству, чтобы установить Linux в систему, в которой нет ни устройства чтения компакт-дисков, ни возможностей загрузки через USB. В конце концов, я дошел до того, что мне пришлось установить, isc-dhcp-server и я сделал, вроде.

Apt говорит мне, что есть один частично установленный пакет. Я бегу sudo apt-get install -f и получаю следующее:

Выход из sudo systemctl status isc-dhcp-server :

Выход из sudo journalctl -xn :

Это мой /etc/dhcp/dhcpd.config файл, который является лишь копией примера из учебника, упомянутого выше.

Выход из /var/log/syslog чтения сразу после запуска apt-get install -f

Должен ли я скрыть свой IP-адрес?

Вы делали то, что говорят эти две строки, то есть запускали systemclt и просматривали журнал? Пожалуйста, опубликуйте вывод journalctl -xn сгенерированного (возможно, придется выполнить sudo) при попытке перезапуска apt-get install -f

Кажется, ваша сетевая конфигурация не соответствует объявлению подсети в dhcp.conf. Убедитесь, что у вас настроен IP-адрес из подсети 10.10.1.0/24. Вы можете проверить это используя:

Если вы не видите такой IP-адрес, попробуйте добавить его, например, к eth0:

Если я прав, он должен установить пакет и запустить демон DHCP, и вы можете сохранить этот IP-адрес в / etc / network / interfaces

Примечание: ip a a расшифровывается как ip address add была эта ошибка на моем rasp pi и не удалось запустить службу, оказалось, что IP-адрес не был в ip вывод команды. после добавления IP-адреса все @ Manny265 Ваш комментарий не имеет смысла; причина, по которой вы запускаете DHCP, заключается в том, что он должен автоматически назначать вам IP-адрес.

Ваша проблема здесь:

Я предполагаю, что вы хотите использовать беспроводное подключение к Интернету для других хостов по Ethernet, как показано на диаграмме топологии ниже.

Я предполагаю, что адрес вашего сервера для eth0 10.10.1.1. Проверьте это, запустив ip addr show dev eth0 .

Затем вы должны настроить, /etc/dhcp/dhcpd.conf чтобы раздавать адреса на eth0 интерфейсе. Изначально dhcpd он настроен так, чтобы не отвечать ни на что, поскольку непреднамеренно работающий мошеннический DHCP-сервер может нанести ущерб сети, раздавая адреса любому хосту, который его запрашивает.

В /etc/dhcp/dhcpd.conf , вам понадобится строфа, как показано ниже:

. в дополнение к декларациям , таких как authoritative , domain-name , domain-name-servers , и default-lease-time . (Отрегулируйте при необходимости. Только вы знаете, какие настройки вы хотите для своей сети.)

Кроме того, для Debian вам нужно отредактировать, /etc/default/isc-dhcp-server чтобы установить

так что сервер будет слушать порт Ethernet. (Вы не хотите слушать wlan0 ; ваша беспроводная точка доступа будет отвечать за передачу адресов беспроводным клиентам.)

Есть комп с двумя сетевыми платами,подключенный к интернету через сетевую плату eth1.Через вторую(eth0) хочу подсоединить ноут, чтобы на нем тоже был нэт.На компе debian 6.0 Squeeze,а на ноуте MS windows.Помогите пожалуйста разобраться!

При запуске isc-dhcp-server выдает ошибку: No subnet declaration for eth0 (no IPv4 addresses). ** Ignoring requests on eth0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth0 is attached. ** Not configured to listen on any interfaces!

настройки dhcpd.cong такие:

option time-offset -5;


eth0 поднят? Какой у него IP-адрес?

хм, я напрямую к ноуту подсоединяю

eth0 Link encap:Ethernet HWaddr 00:e0:4c:a4:70:a5 inet6 addr: fe80::2e0:4cff:fea4:70a5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:108 errors:0 dropped:0 overruns:0 frame:0 TX packets:38 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8712 (8.5 KiB) TX bytes:7885 (7.7 KiB) Interrupt:18 Base address:0xa800

eth1 Link encap:Ethernet HWaddr 00:04:61:a4:fb:f7 inet addr:10.21.21.236 Bcast:10.21.255.255 Mask:255.255.0.0 inet6 addr: fe80::204:61ff:fea4:fbf7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:346256 errors:0 dropped:0 overruns:0 frame:0 TX packets:289970 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:336330022 (320.7 MiB) TX bytes:23096759 (22.0 MiB) Interrupt:23 Base address:0xe000


Попробуйте назначить eth0 IP-адрес из той же подсети (192.168.1.0/24).

где и как это сделать.. сори, я новичок в линуксе..


Однократно: ifconfig eth0 up 192.168.1.1/24
С сохранением изменений: отредактировать /etc/network/interfaces (формат у него довольно простой, так что после прочтения man interfaces проблем возникнуть не должно).

да, получилось, спасибо огромное! серв запустился-сейчас буду пытаться сделать, чтобы на ноуте нэт был и т.д.

хотя, что-то с сохранением изменений не получилось=(

я ввел это в /etc/network/interfaces :

iface lo inet loopback

mapping eth0 script /usr/local/sbin/map-scheme

map HOME eth0-home

map WORK eth0-work

iface eth0-home inet static address 192.168.1.20

iface eth0-work inet dhcp

iface eth1 inet dhcp


хм. вот так у меня в файле и выглядит все..
не совсем понимаю: в чем проблема то?
auto lo eth0
allow-hotplug eth1
iface lo inet loopback
mapping eth0
script /usr/local/sbin/map-scheme
map HOME eth0-home
map WORK eth0-work
iface eth0-home inet static
address 192.168.1.20
netmask 255.255.255.0
up flush-mail
iface eth0-work inet dhcp
iface eth1 inet dhcp


Видимо, нужно указать активизируемый по-умолчанию интерфейс.
Попробуйте auto eth0-home

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;
  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

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

В Ubuntu установка и настройка DHCP сервера выполняется всего в несколько шагов, быстро и продуктивно. Для того, чтобы начать использовать сервер нужно установить программное обеспечение на компьютер, делается это при помощи команды:

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку: где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time — максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • optionrouters — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • optiondomain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1
  • /etc/ init . d / isc - dhcp - server start — запуск сервера;
  • /etc/ init . d / isc - dhcp - server stop — остановка сервера;
  • /etc/ init . d / isc - dhcp - server restart — перезапуск сервера;

Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии.

Читайте также: