Сетевые настройки
Сетевые интерфейсы
DHCP-сервер должен иметь интерфейсы в трех подсетях:
- внутренняя операторская подсеть (inner operator) – используется для связи с внутренней сетью оператора. В этой сети администраторы и операторы подключаются к GUI EMS, осуществляется связь с SMS gateway и сервисами оператора через NorthboundInterface. Интерфейс в этой подсети является виртуальным (используется механизм keepalived);
- внешняя операторская подсеть (outer operator) – используется для связи с точками доступа и другим сетевым оборудованием. Имеет жесткие политики безопасности. Интерфейс в этой подсети является виртуальным (используется механизм keepalived);
- внешняя подсеть для приема DHCP запросов от Relay-агентов на конечном операторском оборудовании.
Описанные варианты конфигурации приведены для типовых схем организации связи, однако, они могут отличаться от конфигурации, необходимой для Вашей сети!
auto eth1.102 # Интерфейс во внешней операторской сети обмена
iface eth1.102 inet static
address 192.168.114.8
netmask 255.255.255.192
network 192.168.114.0
vlan_raw_device eth1
auto eth1.100 # Интерфейс во внутренней операторской сети обмена
iface eth1.100 inet static
address 172.17.209.9
netmask 255.255.255.192
network 172.17.209.0
vlan_raw_device eth1
auto eth1.101 # Интерфейс для раздачи предварительных IP на точки доступа
iface eth1.101 inet static
address 10.203.5.7
netmask 255.255.255.192
network 10.203.5.0
vlan_raw_device eth1
Маршрутизация
Сервер DHCP должен иметь доступ к подсетям:
10.203.32.0 – для раздачи первичных IP-адресов на точки доступа;
192.168.200.0 – для раздачи management IP-адресов на точки доступа;
100.65.64.0– для раздачи IP-адресов клиентским устройствам.
Пример конфигурирования маршрутов в файле /etc/network/interfaces.
up ip route add 100.65.64.0/22 via 192.168.114.10
up ip route add 192.168.200.0/22 via 192.168.114.10
up ip route add 10.203.32.0/19 via 10.203.5.1
Конфигурация ПО сервера DHCP
isc-dhcp-server
Описание
Выдача IP-адресов 3 категорий:
первичные IP-адреса точек доступа, которые используется ими для поднятия туннелей. В Опции 43 подопциях 11 и 12 передаются IP-адреса ESR-1000 в кодировке HEX, до которых точка поднимает туннели.
management IP-адреса точек доступа для управления из SoftWLC. В Опции 43 подопции 10 передается IP SoftWLC (EMS) в кодировке ASCII.
IP-адреса Wi-Fi абонентов, подключающихся к точкам доступа.
Выбор того или иного пула адресов осуществляется на основе анализа “giaddr field” и Опции 60 приходящего DHCP-запроса.
Способ запуска/остановки
Для остановки сервиса используется команда:
service isc-dhcp-server stop
Для запуска сервиса после остановки используется команда:
service isc-dhcp-server start
Для проверки — запущен ли сервис в данный момент или нет, используется команда:
service isc-dhcp-server status
В ответ последует сообщение:
* isc-dhcp-server is running
в случае если сервис запущен,
или
* isc-dhcp-server is not running
в случае если сервис не запущен.
Конфигурация
/etc/default/isc-dhcp-server – настройка используемых сетевых интерфейсов.
INTERFACES="eth1.101 eth1.102"
/etc/dhcp/dhcpd.conf – конфигурация пула адресов DHCP-сервера.
Пример конфигурации:
default-lease-time 60;
max-lease-time 120;
log-facility local7;
class "ELTEX-DEVICES" {
match if (
(substring (option vendor-class-identifier, 0, 14) = "ELTEX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTEX_WOP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTX_WOP-12AC")
);
}
subnet 192.168.114.64 netmask 255.255.255.192 {}
subnet 10.203.5.64 netmask 255.255.255.192 {}
#first IP подсеть для выдачи первичных адресов для точек доступа
subnet 10.203.32.0 netmask 255.255.254.0 {
pool {
option routers 10.203.32.2;
range 10.203.32.130 10.203.32.230;
failover peer "dhcp-failover";
option vendor-encapsulated-options 0B:0c:31:30:2E:32:30:33:2E:35:2E:31:31:32:0C:0C:31:30:2E:32:30:33:2E:35:2E:31:31:33;
allow members of "ELTEX-DEVICES";
}
}
#managed IP сеть для выдачи вторичных адресов на точках доступа
subnet 192.168.200.0 netmask 255.255.252.0 {
pool {
option routers 192.168.200.5;
range 192.168.200.120 192.168.200.164;
failover peer "dhcp-failover";
option vendor-encapsulated-options A:F:31:39:32:2E:31:36:38:2E:31:31:34:2E:31:30:34;
allow members of "ELTEX-DEVICES";
}
}
#User IP подсеть пользователей (клиентов)
subnet 200.65.64.0 netmask 255.255.240.0 {
pool {
option routers 200.65.64.5;
range 200.65.64.200 200.65.64.250;
failover peer "dhcp-failover";
option domain-name-servers 172.16.0.1, 8.8.8.8;
}
}
Конфигурирование статических адресов точек доступа
Если необходимо использовать заранее определенные IP-адреса точек доступа в управляющей сети (вторичные адреса), в конфигурацию можно включить список статических хостов. Чтобы не загружать этим списком файл /etc/dhcp/dhcpd.conf, рекомендуем воспользоваться следующим способом:
1. Создать файл со списком, который может находиться в любом каталоге, например /var/lib/dhcp/touch /var/lib/dhcp/hosts.
2. Внести записи в файл.
Формат записи
host wep_01 { hardware ethernet a8:f9:4b:b0:00:00; fixed-address 192.168.1.1; }
Где,
host wep_01 – имя хоста.
hardware ethernet a8:f9:4b:b0:00:01 – MAC-адрес устройства. Обратите внимание, что для получения вторичного адреса точка использует MAC на единицу больший, чем при получении первичного адреса.
fixed-address 192.168.200.133 – IP-адрес устройства.
3. В пул адресов точек доступа необходимо добавить строку:
include "/var/lib/dhcp/hosts";
4. Для того чтобы DHCP-сервер мог прочитать файл, необходимо установить принадлежность chown dhcpd:dhcpd /var/lib/dhcp/static/hosts.
5. Разрешить чтение этого файла в apparmor – добавить строку (строка заканчивается запятой):
/var/lib/dhcp/hosts r,
в файл /etc/apparmor.d/usr.sbin.dhcpd.
6. Перезапустить сервисы
service apparmor restart
service isc-dhcp-server restart
Пример конфигурации пула:
subnet 192.168.200.0 netmask 255.255.252.0 {
pool {
option routers 192.168.200.5;
range 192.168.200.120 192.168.200.164;
option vendor-encapsulated-options A:F:31:39:32:2E:31:36:38:2E:31:31:34:2E:31:30:34;
include "/var/lib/dhcp/hosts";
}
}
Списки должны быть созданы на обоих серверах и поддерживаться в актуальном состоянии. После изменения содержимого списков необходимо перезапустить серверы.
Использование опции 82
При необходимости использования опции 82 новые классы создаются следующим образом:
class "NEW_class" {
match if (
(option agent.circuit-id = "E320-1-210:GigabitEthernet 1/0/2.25030007:2503-7")
and
(
(substring (option vendor-class-identifier, 0, 14) = "ELTEX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTEX_WOP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14) = "ELTX_WOP-12AC")
)
);
}
Созданный класс требуется указать в пуле, например:
subnet 192.168.200.0 netmask 255.255.252.0 {
pool {
option routers 192.168.200.5;
range 192.168.200.120 192.168.200.164;
option vendor-encapsulated-options A:F:31:39:32:2E:31:36:38:2E:31:31:34:2E:31:30:34;
allow members of “NEW_class”;
}
}
После этого адреса из данного пула будут выдаваться только устройствам, входящим в этот класс.
Резервирование DHCP-серверов
Используемые механизмы резервирования
Резервирование DHCP серверов выполняется при помощи протокола Failover.
Настройка
В файле конфигурации /etc/dhcp/dhcpd.conf необходимо добавить описание
На первом сервере:
failover peer "dhcp-failover" {
primary; # declare this to be the secondary
address 192.168.114.8;
port 647;
peer address 192.168.114.9;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
auto-partner-down 180;
mclt 1800;
split 128;
}
На втором сервере:
failover peer "dhcp-failover" {
secondary; # declare this to be the primary server
address 192.168.114.9;
port 647;
peer address 192.168.114.8;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
auto-partner-down 60;
}
В резервируемых пулах (подсеть 192.168.200.0) добавить строку
failover peer "dhcp-failover";