Пример настройки DHCP-сервера на шлюзе «С-Терра Шлюз»

Скачать в формате PDF

 

Настоящий документ содержит описание способа совместного использования Продуктов компании ООО «С-Терра СиЭсПи» и Продуктов третьих производителей.

ООО «С-Терра СиЭсПи» осуществляет сопровождение настоящего сценария в части настроек Продуктов Компании. Упоминание наименований, продуктов, торговых марок третьих организаций исключительно неформально и не является поддержкой, рекомендацией либо рекламой. ООО «С-Терра СиЭсПи» не несет какой-либо ответственности в отношении работоспособности и использования этих Продуктов. Документ имеет статус вспомогательного материала, который может быть использован технологическими партнерами, компаниями-интеграторами, при разработке собственных решений.

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

Описание стенда

В данном документе рассматривается настройка DHCP-сервера на шлюзе безопасности «С-Терра Шлюз».

Построение защищенного IPsec туннеля в данном документе рассматриваться не будет.

Схема стенда (Рисунок 1):

Рисунок 1

Настройка стенда

Настройка шлюза безопасности GW1

1.    Измените файл конфигурации /etc/dhcp/dhcpd.conf.

root@GW1:~# vi /etc/dhcp/dhcpd.conf

# Sample configuration file for ISC dhcpd for Debian

 

server-name GW1;

log-facility local7;

ddns-update-style none;

subnet 192.168.1.0 netmask 255.255.255.0 {

       option routers 192.168.1.1;

       option subnet-mask 255.255.255.0;

       option domain-name-servers 192.168.1.1;

       range 192.168.1.10 192.168.1.254;

       default-lease-time 21600;

       max-lease-time 28800;

       host server {

              hardware ethernet 00:0c:29:9b:f6:44;

              fixed-address 192.168.1.5; }

}

где:

·         server-name <имя> – имя сервера;

·         log-facility <уровень> – уровень лога syslog; при указании local7-уровня, файлы логов будут писаться в файл /var/log/cspvpngate.log;

·         ddns-update-style  none; – отключение поддержки DDNS;

·         subnet <IP-адрес> netmask <маска> { – описание параметров сети, для которой будут раздаваться IP-адреса;

·         option routers <IP-адрес> – IP-адрес шлюза по умолчанию;

·         option subnet-mask <маска> – маска сети;

·         option domain-name-servers <IP-адрес> – DNS сервер по умолчанию;

·         range <диапазон IP-адресов> – диапазон IP-адресов, который будет раздаваться клиентам;

·         default-lease-time <время> – время аренды IP-адресов (в секундах);

·         max-lease-time <время> – максимальное время аренды;

·         host <имя хоста> { hardware ethernet <MAC-адрес>; fixed-address <IP-адрес>; } – хосту с соответствующим MAC-адресом статически привязать IP-адрес.

2.    Для настройки интерфейса, на котором будут раздаваться IP-адреса, отредактируйте файл /etc/default/isc-dhcp-server. В переменной INTERFACES пропишите необходимый интерфейс:

root@GW1:~# vi /etc/default/isc-dhcp-server

INTERFACES="eth0"

Если необходимо задать несколько интерфейсов пропишите их через пробел (в данном документе используется только один интерфейс):

INTERFACES="eth0 eth3"

3.    Задайте через cs_console IP-адреса для интерфейсов из п.2. IP-адреса должны соответствовать настроенным в п.1.

4.    Запустите демон:

root@GW1:~# service isc-dhcp-server start

Starting ISC DHCP server: dhcpd.

·         Для того чтобы демон при перезагрузке стартовал автоматически, выполните команду:

root@GW1:~# update-rc.d isc-dhcp-server enable

update-rc.d: using dependency based boot sequencing

В приложении представлены тексты конфигураций dhcpd.conf и isc-dhcp-server для шлюза GW1.


 

Проверка работоспособности стенда

На устройстве Host1 проверьте полученные по DHCP настройки:

root@Host1:~#  cat /var/lib/dhcp/dhclient.leases

lease {

  interface "eth0";

  fixed-address 192.168.1.10;

  server-name "GW1";

  option subnet-mask 255.255.255.0;

  option routers 192.168.1.1;

  option dhcp-lease-time 21600;

  option dhcp-message-type 5;

  option domain-name-servers 192.168.1.1;

  option dhcp-server-identifier 192.168.1.1;

  renew 4 2017/07/06 16:28:13;

  rebind 4 2017/07/06 19:22:34;

  expire 4 2017/07/06 20:07:34;

}

Устройству Host1 выдан IP-адрес из заданного диапазона.

На устройстве Host2 проверьте полученные по DHCP настройки:

root@Host2:~#  cat /var/lib/dhcp/dhclient.leases

lease {

  interface "eth0";

  fixed-address 192.168.1.5;

  server-name "GW1";

  option subnet-mask 255.255.255.0;

  option routers 192.168.1.1;

  option dhcp-lease-time 21600;

  option dhcp-message-type 5;

  option domain-name-servers 192.168.1.1;

  option dhcp-server-identifier 192.168.1.1;

  renew 4 2017/07/06 16:41:12;

  rebind 4 2017/07/06 19:23:12;

  expire 4 2017/07/06 20:08:12;

}

Устройству Host2 был назначен фиксированный адрес по MAC-адресу интерфейса.


 

Приложение

Текст конфигурации /etc/dhcp/dhcpd.conf для шлюза GW1

# Sample configuration file for ISC dhcpd for Debian

 

server-name GW1;

log-facility local7;

ddns-update-style none;

subnet 192.168.1.0 netmask 255.255.255.0 {

       option routers 192.168.1.1;

       option subnet-mask 255.255.255.0;

       option domain-name-servers 192.168.1.1;

       range 192.168.1.10 192.168.1.254;

       default-lease-time 21600;

       max-lease-time 28800;

       host server {

              hardware ethernet 00:0c:29:9b:f6:44;

              fixed-address 192.168.1.5; }

}

Текст конфигурации /etc/default/isc-dhcp-server для шлюза GW1

# Defaults for isc-dhcp-server initscript

# sourced by /etc/init.d/isc-dhcp-server

# installed at /etc/default/isc-dhcp-server by the maintainer scripts

 

#

# This is a POSIX shell fragment

#

 

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).

#DHCPD_CONF=/etc/dhcp/dhcpd.conf

 

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).

#DHCPD_PID=/var/run/dhcpd.pid

 

# Additional options to start dhcpd with.

#      Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead

#OPTIONS=""

 

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?

#      Separate multiple interfaces with spaces, e.g. "eth0 eth1".

INTERFACES="eth0"