Dhcp сервер linux centos

Router by Centos. Этап первый DHCP-сервер

Хочу создать ряд постов на тему настройки роутера на базе серверной CentOS при наличии пяти сетевых карт, трех провайдеров и двух подсетей, а также PXE boot загрузчика и фаервола. В этой статье будет рассмотрено установка и базовая настройка DHCP сервера. В статье не будет чего то особенного кроме настройки вывода логов в отдельный файл.

Установка DHCP — сервера CentOS

Для того что бы установить DHCP-сервер на CentOS достаточно под root or sudo выполнить следующие команды:

yum upgrade -y yum install dhcp -y 

Настройка dhcpd

После установки следует шаг настройки параметров демона для запуска DHCD сервера. Его настройка осуществляется вводом параметров в файл /etc/dhcpd/dhcpd.conf. Если этого файла нет значит первый пункт не был выполнен и dhcp-сервер не был установлен. Так как у нас будет две подсети и сетевой карты для них тоже две, мы будем использовать настройки для двух подсетей. Наш файл будет выглядеть следующим образом:

default-lease-time 32400; max-lease-time 36000; log-facility local5; subnet 192.168.1.0 netmask 255.255.255.0 < range 192.168.1.20 192.168.1.250; option routers 192.168.1.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.254; option domain-name "exemple.com"; option domain-name-servers 192.168.1.1; option time-offset -10800; >subnet 192.168.2.0 netmask 255.255.255.0

В этом конфиге мы создаем две подсети (192.168.1.0 и 192.168.2.0), думаю объяснять что делают параметры этих подсетей ненужно, остаются всего три строки:

  • default-lease-time 32400; — минимальное время выдачи ip адреса
  • max-lease-time 36000; — максимальное время выдачи ip адреса
  • log-facility local5; — параметр необходимый для создания log-файла

Настройка параметров сетевых карт

Когда пары DHCP-сервера заданы, под него необходимо настроить наши сетевые карты, которые будут раздавать адресе. В CentOS настройки интерфейсов сетевых карт хранятся в папке /etc/sysconfig/network-scripts/ в трех файлах:

  • ifcfg-interface — основной фаил настроек
  • route-interface — вспомагательный файл натройки путей для rt_tables
  • rule-interface — вспомагательный файл натройки правил для rt_tables
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.1 NETMASK=255.255.255.0 DEFROUTE=no IPV4_FAILURE_FATAL=no NAME=eth1 DEVICE=eth1 HWADDR=[MAC ADDRES OF DEVICE] ONBOOT=yes 
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.2.1 NETMASK=255.255.255.0 DEFROUTE=no IPV4_FAILURE_FATAL=no NAME=eth2 DEVICE=eth2 HWADDR=[MAC ADDRES OF DEVICE] ONBOOT=yes 

Пункт с мак адресом устройства нужен для того что бы в случаи добавления новой сетевой карты ваша карточка не сменила имя, так как в новых правилах RedHat имя сетевых карт задается согласно номеру активного слота, по типу enpNs0, где N- это номер карты +3 если она не встроенная, точных правил я не знаю и так как не захотел вдаваться в их подробности, но практика показывает именно тот сдвиг названия что я описал.

Читайте также:  Hp laserjet 1020 драйвер linux mint

Настройка log файла

По умолчанию dhcpd пишет два основных log файла, /var/lib/dhcpd/dhcpd.leases — список выданных адресов и /var/log/messages — ошибки и все остальное, проблема в том что в /var/log/messages хранятся логи не только dhcpd но и все остальные, что делает поиск проблем очень сложной задачей. Для того что бы нам перенаправить поток логов в нужный файл и не зацепить лишнего мы используем параметр log-facility который указывали в настройках DHCP-сервера.

Создать папку в которой будут храниться наши лог-файлы:

Создать файл logrotate дабы все не хранилось в одном файле и периодически очищалось, для этого в папке /etc/logrotate.d/ создаем файл dhcpd в котором следующее содержимое

/var/log/dhcp/dhcpd.log < rotate 4 missingok daily sharedscripts create 0644 root root postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2> /dev/null || true endscript > 

Ну и последнее наше действие в файле /etc/rsyslog.conf добавляем параметр с комментарием, который и будет перенаправлять все наши логи в нужный нам файл.

# DHCPD Log file local5.* /var/log/dhcp/dhcpd.log 

В данном случае local5 служит в качестве маркера, по которому можно направить поток логов в нужное русло, всего таких маркеров 7 и если это занять вы будете использовать любой из local1-7.

После того как все параметры заданы и все файлы заполнены нужной информацией, можно запустить DHCP-сервер, поставить его на автозапуск при включении и проверить все ли у нас работает правильно

systemctl start dhcpd systemctl enable dhcpd 

Источник

Настройка DHCP сервера на CentOS или Ubuntu

img

Привет! Сегодня мы хотим рассказать про то, как настроить DHCP-сервер и клиент в Linux CentOS и Linux Ubuntu. Поехали!

DHCP CentOS Ubuntu

Установка DHCP-сервера в CentOS и Ubuntu

Пакет DHCP-сервера доступен в официальных репозиториях основных дистрибутивов Linux, его установка довольно проста, просто выполните следующую команду:

# yum install dhcp #CentOS $ sudo apt install isc-dhcp-server #Ubuntu

После завершения установки настройте интерфейс, на котором вы хотите, чтобы демон DHCP обслуживал запросы, в файле конфигурации /etc/default/isc-dhcp-server или /etc/sysconfig/dhcpd.

# vim /etc/sysconfig/dhcpd #CentOS $ sudo vim /etc/default/isc-dhcp-server #Ubuntu

Например, если вы хотите, чтобы демон DHCPD прослушивал eth0, установите его с помощью следующей настройки.

Читайте также:  What is better linux mint or ubuntu

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

Основной файл конфигурации DHCP находится по адресу /etc/dhcp/dhcpd.conf, который должен содержать настройки того, что делать, где делать и все сетевые параметры, предоставляемые клиентам.

Этот файл в основном состоит из списка операторов, сгруппированных в две широкие категории:

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

Теперь откройте и отредактируйте файл конфигурации для настройки вашего DHCP-сервера.

------------ CentOS ------------ # cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf # vi /etc/dhcp/dhcpd.conf ------------ Ubuntu ------------ $ sudo vim /etc/dhcp/dhcpd.conf

Начните с определения глобальных параметров, которые являются общими для всех поддерживаемых сетей, в верхней части файла. Они будут применяться ко всем объявлениям:

option domain-name "merionet.ru"; option domain-name-servers ns1.merionet.ru, ns2.merionet.ru; default-lease-time 3600; max-lease-time 7200; authoritative;

Затем вам необходимо определить диапазон для внутренней подсети и дополнительные настройки:

subnet 192.168.1.0 netmask 255.255.255.0

  • subnet – сеть, в которой будут работать настройки;
  • option routers – шлюз по-умолчанию;
  • option subnet-mask – маска подсети;
  • range – диапазон IP-адресов;
  • option domain-name-servers – DNS-сервера;
  • option domain-name – суффикс доменного имени;
  • option broadcast-address — адрес сети для широковещательных запросов;
  • default-lease-time, max-lease-time — время и максимальное время в секундах, на которое DHCP-клиент получит адрес;

Обратите внимание, что хосты, которым требуются специальные параметры конфигурации, могут быть перечислены в инструкциях хоста в cправке.

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

------------ CentOS ------------ # systemctl start dhcpd # systemctl enable dhcpd # systemctl enable dhcpd ------------ Ubuntu ------------ $ sudo systemctl start isc-dhcp-server $ sudo systemctl enable isc-dhcp-server $ sudo systemctl enable isc-dhcp-server

Затем разрешите выполнение запросов к демону DHCP в брандмауэре, который прослушивает порт 67/UDP, запустив его.

------------ CentOS ------------ # firewall-cmd --zone=public --permanent --add-service=dhcp # firewall-cmd --reload #------------ Ubuntu ------------ $ sudo ufw allow 67/udp $ sudo ufw reload
Настройка клиентов DHCP

Наконец, вам нужно проверить, нормально ли работает сервер DHCP. Войдите на несколько клиентских компьютеров в сети и настройте их на автоматическое получение IP-адресов с сервера.

Читайте также:  Уязвимости операционной системы linux

Измените соответствующий файл конфигурации для интерфейса, на котором клиенты будут автоматически получать IP-адреса.

Настройка клиента DHCP на CentOS

В CentOS конфигурационные файлы интерфейса находились в /etc/sysconfig/network-scripts/.

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

Добавьте следующие параметры:

DEVICE=eth0 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=yes

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

# systemctl restart network
Настройка DHCP-клиента в Ubuntu

В Ubuntu 16.04 вы можете настроить интерфейс в файле конфигурации /etc/network/interfaces.

$ sudo vi /etc/network/interfaces
auto eth0 iface eth0 inet dhcp

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

$ sudo systemctl restart networking

В Ubuntu 18.04 сетевое управление контролируется программой Netplan. Вам нужно отредактировать соответствующий файл, например, в каталоге /etc/netplan/

$ sudo vim /etc/netplan/01-netcfg.yaml

Затем включите dhcp4 под конкретным интерфейсом, например, под ethernet, ens0, и закомментируйте статические настройки, связанные с IP:

network: version: 2 renderer: networkd ethernets: ens0: dhcp4: yes

Сохраните изменения и выполните следующую команду, чтобы применить изменения.

Для получения дополнительной информации смотрите справочные страницы dhcpd и dhcpd.conf.

Готово! В этой статье мы рассмотрели, как настроить DHCP-сервер в дистрибутивах CentOS и Ubuntu Linux.

Источник

Оцените статью
Adblock
detector