В этой статье мы расскажем, как установить и настроить dhcp на Ubuntu 18.04.
Мы собираемся установить isc-dhcp-сервер, установить диапазон IP, который будет использовать DHCP-сервер для предоставления IP-адресов клиентам и назначения фиксированного IP-адреса клиенту с определенным MAC-адресом.
Как установить DHCP-сервер
Прежде всего, вам необходимо установить DHCP-сервер, который вы можете сделать, выполнив следующую команду:
sudo apt install isc-dhcp-server
Как настроить DHCP-сервер
По завершении установки вам необходимо назначить сетевые интерфейсы, на которых будет обслуживаться сервер DHCP.
Для этого отредактируйте файл конфигурации по умолчанию DHCP-сервера через любой текстовый редактор (я использовал vim для этой цели):
sudo vim /etc/default/isc-dhcp-server
В файле конфигурации по умолчанию отредактируйте значение INTERFACESv4 и запишите тот, который вы хотите, чтобы сервер DHCP выполнял запросы.
INTERFACESv4="eth0"
В файле конфигурации по умолчанию отредактируйте значение INTERFACESv4 и запишите тот, который вы хотите, чтобы сервер DHCP выполнял запросы.
INTERFACESv4=”eth0 eth1″
Как только интерфейс (ы) назначены (будут), вы можете перейти к настройке сервера DHCP.
Чтобы настроить DHCP-сервер, отредактируйте файл /etc/dhcp/dhcpd.conf через любой текстовый редактор.
Для этого введите команду ниже:
sudo vim /etc/dhcp/dhcpd.conf
Измените имя домена и сервер доменных имен (DNS) в соответствии с вашими данными в разделе, указанном ниже:
# option definitions common to all supported networks... option domain-name "your_domain.com"; option domain-name-servers ns1.your_domain.com, ns2.your_domain.com;
Если этот DHCP-сервер является официальным сервером DHCP для локальной сети, авторизационная директива должна быть раскоментирована.
authoritative;
Для внутренней конфигурации подсети найдите раздел с «”A slightly different configuration for an internal subnet».
раскомментируйте все строки в разделе и измените значения в соответствии с вашими потребностями.
Например:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.150 192.168.0.170; option domain-name-servers ns1.your_domain.com; option domain-name "local.your_domain.com"; option subnet-mask 255.255.255.0; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 600; max-lease-time 7200; }
В этой конфигурации мы упомянули локальное доменное имя, DNS, диапазон IP, от которого IP-адреса будут назначены клиентам, по умолчанию и максимальное время аренды.
Перезагрузите сервер DHCP, и он начнет работу в соответствии с вашей конфигурацией.
Для перезагрузки введите:
systemctl restart isc-dhcp-server
Назначить фиксированный IP-адрес клиенту с определенным MAC-адресом
Если вы хотите назначить определенный IP-адрес конкретному клиенту, вы можете использовать MAC-адрес клиента для достижения этой цели.
Это означает, что фиксированный IP-адрес будет назначен клиенту, MAC-адрес которого настроен в файле конфигурации, и он не будет назначен другому клиенту.
Чтобы проверить MAC-адрес на компьютере, выполните следующие действия:
ip a
Результат будет выглядеть следующим образом:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff inet 192.168.0.125/24 brd 192.168.0.255 scope global dynamic eth0 valid_lft 73924sec preferred_lft 73924sec inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 598sec preferred_lft 298sec inet6 fe80::f03c:91ff:fe62:5d78/64 scope link valid_lft forever preferred_lft forever
Жирной частью является MAC-адрес упомянутого сетевого адаптера.
Чтобы назначить фиксированный IP-адрес конкретному MAC-адресу, отредактируйте файл vim /etc/dhcp/dhcpd.conf и добавьте следующий раздел (вы должны добавить разные разделы для разных клиентов):
host fixed-ip-client { hardware ethernet 00:0c:29:39:c7:81; fixed-address 192.168.0.220; }
Как вы можете заметить, мы дали IP-адрес клиенту из диапазона, который мы настроили для использования DHCP-сервера.
Если вы используете IP-адрес в пределах диапазона IP, DHCP-сервер пропустит этот IP-адрес для аренды клиентов динамически, и ваш IP-диапазон фактически будет уменьшен на один IP-адрес.
После внесения изменений в файл конфигурации сохраните его и перезапустите DHCP-сервер, чтобы применить изменения.
Для перезапуска введите следующую команду:
systemctl restart isc-dhcp-server
Конфигурация на стороне клиента
На клиентском компьютере вам просто нужно перезапустить сетевую службу, чтобы применить изменения и получить IP-адрес с нового DHCP-сервера, поскольку мы установили isc-dhcp-сервер как авторитетный.
Таким образом, это будет сервер dhcp по умолчанию вашей подсети.
Чтобы перезапустить сетевую службу на компьютере Ubuntu 18, вы можете выполнить одну из следующих команд:
sudo systemctl restart NetworkManager.service
или
sudo service network-manager restart
После перезагрузки сетевой службы, если вы проверите конфигурацию сети с помощью команды ifconfig, вы увидите вывод, как показано ниже:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff inet 192.168.0.220/24 brd 192.168.0.255 scope global dynamic eth0 valid_lft 73924sec preferred_lft 73924sec inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 598sec preferred_lft 298sec inet6 fe80::f03c:91ff:fe62:5d78/64 scope link valid_lft forever preferred_lft forever
Этот точный вывод выполняется с клиентской машины, которую мы настроили на получение фиксированного IP-адреса.
Как видно из вывода, он получил 192.168.0.220 IP-адрес, который мы установили в файле /etc/dhcp/dhcpd.conf на сервере dhcp.
Установка и настройка сервера DHCP не займет у вас нескольких минут, если вы обратитесь к этому руководству.
Настройка админов сети сервера DHCP позволяет сэкономить много времени, которое они будут тратить на настройку компьютеров клиентов по одному.