dhcpd не запускается на eth1

10

У меня проблемы с настройкой и запуском ISC DHCP-сервера на моей машине. Я использую Ubuntu 11.10 для настольных компьютеров. Я установил ISC DHCP, запустив

$ sudo apt-get install dhcp3-server

Моя машина имеет две сетевые карты:

eth0 , который подключен к маршрутизатору для доступа в Интернет, имеет IP-адрес 192.168.2.2. eth1 , где я хочу, чтобы dhcpd обслуживал запросы для подсети.

Я изменил, /etc/default/isc-dhcp-serverчтобы указать на eth1:

$ cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript
INTERFACES="eth1"

Я настроил dhcpd для простой подсети:

$ cat /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  interface eth1;
  range 192.168.0.50 192.168.0.100;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
}

При такой конфигурации dhcpd не запускается для меня:

$ sudo /etc/init.d/isc-dhcp-server start
* Starting ISC DHCP server dhcpd
* check syslog for diagnostics.               [fail]

$ tail /var/log/syslog
Aug 15 15:29:45 eptc4 dhcpd: No subnet declaration for eth1 (no IPv4 addresses).
Aug 15 15:29:45 eptc4 dhcpd: ** Ignoring requests on eth1.  If this is not what
Aug 15 15:29:45 eptc4 dhcpd:    you want, please write a subnet declaration
Aug 15 15:29:45 eptc4 dhcpd:    in your dhcpd.conf file for the network segment
Aug 15 15:29:45 eptc4 dhcpd:    to which interface eth1 is attached. **
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: Not configured to listen on any interfaces!

Я пропускаю шаг? Я не понимаю, почему dhcpd жалуется, что он не настроен на прослушивание на любых интерфейсах.

Это моя первая настройка DHCP. Я провел три дня, читая руководства и форумы, и думаю, что все сделал правильно, но продолжаю получать ту же ошибку. Любые советы, чтобы получить меня на правильном пути, с благодарностью!

Вивек
источник

Ответы:

6

Вкратце: вам нужно настроить адрес интерфейса, eth1прежде чем DHCP сможет обслуживать запросы от него.

Более длинная история: сервер DHCP прочитает файл конфигурации, а затем сопоставит subnetобъявления с IP-адресами, назначенными в настоящее время интерфейсам. Только интерфейсы, IP-адрес которых соответствует subnetобъявлению, будут обслуживать запросы для этой подсети. Следовательно, вам нужно настроить eth1адрес в диапазоне 192.168.0.0/24, если вы хотите, чтобы сервер ISC DHCP обслуживал запросы для 192.168.0.0/24 от него.

Риккардо Мурри
источник
Спасибо, Риккардо! Я обновил / etc / network / interfaces, запустил ifup eth1 и успешно перезапустил dhcpd. Я знал, что пропустил какой-то шаг, но недостаточно понимал процесс, чтобы точно знать, что это было. Ваш ответ практичен и проницателен.
Вивек
2

Ниже работал для меня в Ubuntu 12.04

apt-get remove --purge dhcp3-server
sudo apt-get install isc-dhcp-server

Перейдите в / etc / dhcp. создайте новый файл "dhcp.conf". Перед этим сохраните резервную копию существующего файла "dhcp.conf".

Добавьте следующие детали в новый файл dhcp.conf

# Sample /etc/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.100;
    range 192.168.1.150 192.168.1.200;
} 

Теперь перейдите /etc/defaults/isc-dhcp-serverи добавьте имя вашего интерфейса в файлisc-dhcp-server

Измените /etc/network/interfacesфайл со статическими данными вашего сервера, как показано ниже

auto eth1
iface inet eth1 static
    address 192.168.1.149
    netmask 255.255.255.0
    gateway 192.168.1.255
    dns-nameservers 192.168.1.1

После этого запуска sudo /etc/init.d/isc-dhcp-server restartиsudo /etc/init.d/networking restart

Примечание: не забудьте установить клиент dhcp в вашей клиентской системе. Также после установки dhcp-сервера в вашей серверной системе удалите систему из внешней сети, чтобы она не повредила другим устройствам, уже находящимся в сети, кроме конкретного интересующего вас клиента.

Теперь, если вы подключите своего клиента к той же сети, где расположен ваш сервер, клиент получит IP-адрес в указанном диапазоне

LAMOHAN
источник
0

Другой способ запустить dhcp-сервер возможен с помощью служебной утилиты.

Например:

# sudo service isc-dhcp-server start
Александр Бородуля
источник