Pull to refresh

Настройка свитчей уровня доступа в сети провайдера

Reading time 4 min
Views 246K
В статье я расскажу о том, как мы (небольшой региональный провайдер) настраиваем коммутаторы уровня доступа.

В начале, кратко пробежимся по тому, что такое иерархическая модель построения сети, какие функции рекомендуют вешать на каждый ее уровень и как именно устроена сеть, на примере которой я буду излагать настройку свитча. Ну и затем настроим свитч исходя из предложенных требований.

Иерархическая модель построения сети

image
И так, в иерархической модели построения сети коммутации выделяют три уровня — уровень доступа (access layer), уровень агрегации (distibution layer) и уровень ядра (core layer). Деление на уровни позволяет добиться большей легкости в обращении с сетью: упрощается мастшабируемость сети, легче настраивать устройства, легче вводить избыточность, проектировать сеть и тому подобное.

От каждого уровня требуется определенный набор функций, так на access уровне (в сети провайдера) от устройств требуется
  • Подключение конечных пользователей на 100 Мбит/сек
  • Подключение (желательно через SFP) к коммутатору distribution уровня на 1 Гбит/сек
  • Поддержка VLAN
  • Поддержка port security
  • Поддержка acl
  • Поддержка других функций безопасности (loopback detection, storm control, bpdu filtering и прочее)


Применительно к сети провайдера получается следующая картина:

  • Жилой дом — свитч access уровня
  • Микрорайон — свитч distribution уровня, к нему подключаем отдельные дома
  • ЦОД — свитч core уровня, к нему подключаем отдельные микрорайоны


На ditribtution уровне и, тем более, на core уровне, как правило работают продвинутые коммутаторы Cisco и/или Juniper, но на access уровень приходится ставить более дешевые железки. Как правило это D-Link (или Linksys или Planet).

Пара слов об устройстве сети

И так, с уровнем доступа в первом приближении, разобрались, теперь, прежде чем переходить к непосредственно настройке коммутатора, несколько слов о том, как устроена сеть, в которой коммутатору предстоит работать.

Во-первых, мы не используем VLAN per user. Сеть достаточно старая и начинала строиться во времена, когда Q-in-Q еще не был стандартом, так что большая часть старого оборудования двойное тегирование не поддерживает.
Во-вторых, мы использует PPPoE. И не используем DHCP. То есть клиент получает один белый адрес, через PPP протокол, домашняя сеть отсутствует как класс.
В-третьих, все коммутаторы живут в отдельном, выделенном только для них VLAN, все домашние PPPoE клиенты также живут в одном VLAN'е.

Настройка коммутатора

В качестве подопытного свитча я буду использовать D-Link DES-3200-10, поскольку
  1. В нашем городе легче всего покупать именно D-Link, поэтому этой марке отдано предпочтение перед Planet, Linksys и прочими конкурентами
  2. Этот коммутатор обладает всем нужным нам функционалом


И так, поехали. Все команды приведены для означенной выше модели D-Link, впрочем не составит никакого труда проделать все то же самое и на устройстве другого вендора.

Исходя из вышеприведенных требований к коммутатору уровня доступа, сформулируем, что именно мы хотим на нем настроить и сделаем это.

И так, на необходимо…

Создать два VLAN, один для клиентов, другой для управления коммутатором и назначить их на порты свитча. 100 мегбитные порты — клиентские, гигабитные порты — аплинки.
create vlan USER tag 2
create vlan MANAGEMENT tag 3
config vlan USER add untagged 1-8
config vlan USER add tagged 9-10
config vlan MANAGEMENT add tagged 9-10

Настроить port security, запретив более одного mac адреса на порту (таким образом мы боремся с нежелательной и потенциально опасной ситуацией, когда клиент подключает в сеть провайдера не маршрутизатор, а коммутатор, сливая бродакстовый домен своей домашней сети с бродкастовым доменом провайдера)
config port_security ports 1-8 admin_state enable max_learning_addr 1 lock_address_mode DeleteOnTimeout

Запретить STP на клиентских портах, чтобы пользователи не могли гадить в сеть провайдера BPDU пакетами
config stp version rstp
config stp ports 1-8 fbpdu disable state disable

Настроить loopback detection, чтобы 1) глючные сетевые карточки, которые отражают пакеты обратно и 2) пользователи, создавшие в своей квартире кольца на втором уровне не мешали работе сети
enable loopdetect
config loopdetect recover_timer 1800
config loopdetect interval 10
config loopdetect ports 1-8 state enable
config loopdetect ports 9-10 state disable

Создать acl, который запретит прохождение не PPPoE пакетов в USER vlan'е (блокируем DHCP, IP, ARP и все остальные ненужные протоколы, которые позволят пользователям общаться напрямую между собой, игнорируя PPPoE сервер).
create access_profile ethernet vlan 0xFFF ethernet_type profile_id 1
config access_profile profile_id 1 add access_id 1 ethernet vlan USER ethernet_type 0x8863 port 1-10 permit
config access_profile profile_id 1 add access_id 2 ethernet vlan USER ethernet_type 0x8864 port 1-10 permit
config access_profile profile_id 1 add access_id 3 ethernet vlan USER port 1-10 deny

Создать ACL, который запретит PPPoE PADO пакеты с клиентских портов (блокируем поддельные PPPoE сервера).
create access_profile packet_content_mask offset1 l2 0 0xFFFF offset2 l3 0 0xFF profile_id 2
config access_profile profile_id 2 add access_id 1 packet_content offset1 0x8863 offset2 0x0007 port 1-8 deny

И, наконец, включить STORM Control для борьбы с бродкастовыми и мультикастовыми флудами. Может показаться, что мы уже решили эту проблему, запретив не PPPoE трафик, однако есть но. В PPPoE первый запрос (на поиск PPPoE сервера) отсылается бродкастом, и если оборудование клиента в силу глюка, вируса или иных причин, посылает такие запросы интенсивно, это вполне может вывести сеть из строя.
config traffic control 1-8 broadcast enable multicast enable action drop threshold 64 countdown 5 time_interval 5


Таким образом, мы решаем многие проблемы, присущие плоской сети — поддельные DHCP и PPPoE сервера (зачастую многие включают такие вещи ненамеренно, а по не знанию, то есть злого умысла нет, но работать другим клиентам мешают), бродкастовые штормы, глючные сетевые карточки и прочее.
Tags:
Hubs:
+30
Comments 141
Comments Comments 141

Articles