Обоорудование для провайдеров

Автор Тема: Настройка QTECH QSW-2900 dhcp relay option 82  (Прочитано 1863 раз)

SNEG

  • Администратор
  • Прохожий
  • ********
  • Сообщений: 10
    • Просмотр профиля
    • http://telekom.org.ru
Задача: настроить на коммутаторе QTECH QSW-2900 dhcp relay с включением в него option 82. На основании значения option 82 выдавать абонентам ip адреса.



Оборудование:

   1. DHCP-сервер 192.168.200.11/24
   2. Коммутатор L2 ( QTECH QSW-2900 ) в роли агента DHCP Relay
      - IP 10.14.0.253/25
      - Vlan: 900
   3. DHCP – клиент, подсоединённые к 1-му порту коммутатора

Настройка коммутатора QTECH QSW-2900:

Создадим vlan 900 назначим его на порт 1/1, как тегированный, а на абонентский порт 0/1 как акцесный. Уберем vlan 1 с этих портов.
Цитировать
QTECH_2900> en
QTECH_2900# conf t
QTECH_2900(config)# vlan 900
QTECH_2900(config-if-vlan)# exit
QTECH_2900(config)# interface ethernet 1/1
QTECH_2900(config-if-ethernet-1/1)# switchport mode trunk
QTECH_2900(config-if-ethernet-1/1)# switchport trunk allowed vlan 900
QTECH_2900(config-if-ethernet-1/1)# switchport trunk native vlan 900
QTECH_2900(config-if-ethernet-1/1)# exit
QTECH_2900(config)# interface ethernet 0/1
QTECH_2900(config-if-ethernet-0/1)# switchport mode access
QTECH_2900(config-if-ethernet-0/1)# switchport access vlan 900
QTECH_2900(config-if-ethernet-0/1)# exit
QTECH_2900(config)# vlan 1
QTECH(config-if-vlan)# no switchport ethernet 0/1 ethernet 1/1
QTECH(config-if-vlan)# exit
Создаем ip интерфейс 10.14.0.253/25, пропишем шлюз по умолчанию 10.14.0.254
Цитировать
QTECH_2900(config)# ipaddress vlan 900
QTECH_2900(config)# ipaddress 10.14.0.253 255.255.255.128 10.14.0.254
QTECH_2900(config)# no ipaddress vlan 1
Выставим в ручную скорость на порту 1/1
Цитировать
QTECH_2900(config)# interface range ethernet 1/1
QTECH_2900(config-if-ethernet-1/1)# speed 1000
QTECH_2900(config-if-ethernet-1/1)# exit

Теперь переходим к настройке dhcp-relay и option 82 на qsw-2900
Включаем dhcp-relay
Цитировать
QTECH_2900(config)# dhcp-relay

Включаем и настраиваем option 82
Цитировать
QTECH_2900(config)# dhcp option82
QTECH_2900(config)# dhcp option82 format normal
QTECH_2900(config)# dhcp option82 remote-id string qtech
QTECH_2900(config)# dhcp max-hops 16

Немного поясню:
dhcp option82 – включили option 82
dhcp option82 format normal – задали формат, возможны 2 варианта verbose и normal
dhcp option82 remote-id string qtech – указали идентификатор remote-id qtech, является строкой, и может принимать любые строковые значения.
dhcp max-hops 16 – установили максимальное число хопов до dhcp сервера.

Но на этом еще не все, продолжим.
Укажем ip-адрес основного dhcp сервера и резервного, создадим ip интерфейс для dhcp релеинга, без этого работать не будет.
Цитировать
QTECH_2900(config)# vlan 900
QTECH_2900(config-if-vlan)# dhcpserver ip 192.168.200.11
QTECH_2900(config-if-vlan)# dhcpserver backupip 192.168.200.10
QTECH_2900(config-if-vlan)# interface ip 10.14.0.253 255.255.255.128 10.14.0.254
QTECH_2900(config-if-vlan)# exit

Подключим к 1 порту абонента и проверим, приходит ли запрос.
Цитировать
[root@dhcp etc ]# tshark -V net «10.14.0.128/25″
Capturing on bge0
Frame 1 (362 bytes on wire, 362 bytes captured)
…..
Option: (t=82,l=17) Agent Information Option
Option: (82) Agent Information Option
Length: 17
Value: 0106000403840002020700057174656368
Agent Circuit ID: 000403840001
Agent Remote ID: 00057174656368
End Option
Padding

Все нормально, приступаем к настройке dhcp, в качестве dhcp сервера был выбран ISC DHCP

В следующем примере будут соответствовать все запросы пришедшие из vlan 900:
Цитировать
class "vlan900"
{
match if ( binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2))="900");
}

Пул для class "vlan900":
Цитировать
pool {
range 10.14.0.136;
allow members of "vlan900";
}
В следующем примере будет проверяться соответствие номера vlan и номера порта коммутатора:
Цитировать
class "vlan900:p1" {
match if (
binary-to-ascii (10, 16, «», substring( option agent.circuit-id, 2, 2))="900"
and binary-to-ascii(10, 8, ",", suffix( option agent.circuit-id, 1)) = "1"
);
}
Пул для class "vlan900:p1":
Цитировать
pool {
range 10.14.0.136;
allow members of "vlan900:p1";
}
Пример, в котором проверяется remote-id, который мы указали (qtech), номер vlan и номер порта:
Цитировать
class "vlan900:p1:qtech" {
match if (
binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2))="900"
and binary-to-ascii(10, 8, ",", suffix( option agent.circuit-id, 1)) = "1"
and substring(option agent.remote-id, 2, 15) = "qtech"
);
}

Пул для class "vlan900:p1:qtech":
Цитировать
pool {
range 10.14.0.136;
allow members of "vlan900:p1:qtech";
}
В заключении, рассмотрим пример, в котором проверяются ip-адрес коммутатора, remote-id, номер vlan и номер порта:
Цитировать
class "10.14.0.253:vlan900:p1:qtech" {
match if (
binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2))="900"
and binary-to-ascii(10, 8, ",", suffix( option agent.circuit-id, 1)) = "1"
and substring(option agent.remote-id, 2, 15) = "qtech"
and binary-to-ascii(10, 8, ".", packet(24, 4)) = "10.14.0.253"
);
}
Пул для class "10.14.0.253:vlan900:p1:qtech":
Цитировать
pool {
range 10.14.0.136;
allow members of "10.14.0.253:vlan900:p1:qtech";
}
« Последнее редактирование: 01.01.1970, 03:00 от Guest »