Не запускается 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
Сервер должен сразу запуститься, но нам предстоит настроить его под свои нужды.
Открываем и редактируем файл /etc/default/isc-dgcp-server. В нем нужно указать сетевой интерфейс, который будет использоваться для раздачи IP-адресов. В моем случае один и тот же интерфейс смотрит как в локальную сеть, так на шлюз (который в той же локальной сети), поэтому я указываю его.
В большинстве случаев я предпочитаю сохранять оригинальные конфигурационные файлы, но в данном случае это лишнее, так как мы изменим в нем всего один параметр.
Параметру INTERFACES присваиваем значение ethXN, где ethXN - адаптер для локальной сети. Получиться должно примерно следующее:
Узнать, какой интерфейс в Вашем случае используется для локальной сети можно выполнив:
Теперь займемся редактированием основных настроек 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:
Теперь перезапускаем 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 адрес и все остальные настройки:
Спасибо за внимание!
Если статья показалась полезной, поделитесь ей в соц сетях, кнопки которых расположены ниже
Я следую этому руководству, чтобы установить 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 — перезапуск сервера;
Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии.
Читайте также: