Легко быть админом большой сети на 500+ пользователей. Она никогда не растет кратно за год. Не то, что сеть офиса на 50 человек, которая за год может стать сетью на 150.
Так же легко быть админом сети на 25 компов, которая никогда не вырастет. 1 хорошая wifi точка - это вообще вся сеть.
А вот сеть на 50 человек с ростом до 150и - это, где вы либо подумали сразу, либо это фиаско, братан!
А в чем прикол такой небольшой (по меркам мира) сети? А в том, что у вас еще нет бюджета на сеть, но уже есть полный пул проблем, которые решаются полным пулом технологий.
Выходит, что пережить этот этап роста офиса без проблем и денег довольно трудно - нужно переживать его с помощью навыков.
С чем мы столкнемся в такой сети:
- С тем, что 100+ юзеров в одном wifi на базе того железа, что доступно на рынке дешево, не уживутся без дополнительных настроек.
- С тем, что 50 юзеров - это 100 устройств (ноут+мобильник на каждого)
- С тем, что IoT имеет глючный сетевой стек: МФУ, камеры CCTV, IPTV - соревнуются в ужасности реализации сетки.
- С тем, что 1 кривой мобильник может положить всю сеть, просто зайдя в wifi.
- С тем, что сеть не всегда работает штатно - коммутаторы, карты, и вообще все способно глючить. Особенно, если входит битый пакет, который порождает один битый порт, а получает исправный порт.
- С тем, что иногда кончается полоса в GB/s на сервере. И кончается производительность в pps порта.
- С длинной кабелей >100метров. И с длинной кабелей <30 см (внезапно).
- С обрывом TCP "на ровном месте", ругань буха про отпадающий 1C.
- С тем, что кончился NAT.
- С тем, что "звезда" - плохая схема сети, ведущая к перегрузке корневого коммутатора.
- С тем, что 200 девайсов в одном сегменте это предел. И тем, что сеть /23 вас уволит через полгода-год.
- Это нужно как-то мониторить.
- Роутинг - это знание "по умолчанию", метод решения половины проблем.
- С тем, что VPN для 2х юзеров и VPN для 50 юзеров, которые хотят RDP - это две большие разницы.
- С тем, что пользователи порой делают очень странные вещи.
- С тем, что dhcp глючит.
Выше - мы составили "модель проблем". Учтено в ней большинство проблем, на решение которых "по мере поступления" у вас не будет ни времени, ни ресурсов. Их можно и нужно решить заранее на этапе проектирования и получения от руководства установки "мы будем расти".
Решения я разобью на цикл статей, чтобы каждая статья была полной по смыслу и при этом не перегруженной смежными темами.
В этот раз я хочу рассказать об L2. Он покрывает проблемы 1,2,3,4,5,6,8,10,11. А, как известно, большинство админов в офисах не знают и не понимают как работает L2.
Как работает L2
L2 пакет - это заголовок и полезная нагрузка. Заголовок - это набор данных, явно определяющих действие коммутатора с пакетом. Если заголовок кривой - коммутатор все равно сделает то, что там написано. Другой информации о том, что делать с пакетом у коммутатора нет.
Заголовок пакета может быть интерпретирован коммутатором так, что он выключит порт, это может быть в том числе и uplink.
Заголовок пакета может быть интерпретирован так, что коммутатор сделает то, чего вы бы не хотели.
По сути L2-заголовок - это интерпретируемые указания коммутатору, что надо сделать. Самое важное в нем - mac-адрес отправителя и mac-адрес получателя.
Mac-адреса отправителей коммутатор записывает в таблицу mac-адресов в связке адрес+порт.
По mac-адресу получателя коммутатор ищет запись в этой таблице и понимает в какой порт отправить пакет. Если не находит - пакет игнорируется (drop, отбрасывается) молча.
Таблица mac-адресов имеет свой размер и предел. Ее можно забить.
На основе таблицы mac-адресов работают протоколы защиты от петли.
Если с порта на котором уже есть MAC 01:01:01:01:01:01 приходит пакет в котором адрес получателя он же - это детектится как петля и погасит порт на несколько секунд.
Вы уже знаете 2 способа сломать сетку:
- Отправлять каждый пакет с новым mac-адресом отправителя (и забить таблицу на коммутаторе)
- Отправить пакет с mac-адресом отправителя, который заведомо есть в аплинке (MAC-адресом роутера). Это сложит аплинк.
В WiFi сети будут такие же эффекты, так как wifi для оборудования это просто виртуальный порт внутреннего коммутатора, и все что из него лезет в сеть - такой же Ethernet-пакет с L2.
Как защитится от проблем L2?
Если у вас сеть - это один большой сегмент, то никак.
Если же сеть поделена на подсети (с помощью VLAN или без них), то все проблемы L2 останутся внутри одного сегмента L2. Это уже хорошо, так как проблемы не будут множить друг друга, а так же не будут глобальными.
Первое и основное зачем нужны разные подсети - это разделение L2 сегментов на маленькие, чтобы решить L2 проблемы. VLAN это не про безопасность или оптимизацию. Это про разделяй и властвуй.
Что надо отделять от всех? В первую очередь, всë потенциально кривое железо - IP-камеры в один vlan, принтеры в другой vlan.
Всех оставшихся тоже надо разделить - лучше на пачки по 30-50 устройств.
Не надо придумывать хитрых схем о том, как поделить сеть на отделы. Просто порты пачками суем в разные vlan-ы и все. У нас одна цель - распилить большой L2 на много маленьких L2. Логика тут исключительно количественная.
Теперь у нас:
- В каждом vlan (L2 сегмент) свои адреса, свой dhcp. Если dhcp сдохнет, то не у всех сразу.
- Все проблемы L2 локализованы внутри сегментов. Чья-то карта положила сеть? Да, но не всю, а только себя и 10 соседних компов. И уже известно где искать причину проблемы.
- Принтеры не мешают жить юзерам, а юзеры принтерам.
- Кривой телефон, подключившийся в wifi не сломает сетку. Он только уронит wifi, и то частично.
Теперь либо настраиваем, либо выключаем STP и борьбу с петлями. Я бы её настраивал и не отключал целиком. Я бы отключил возможность гасить аплинки и магистрали, в остальном - это полезная технология, которая остановит хаос в случае, когда какой-то порт начнет зеркалировать пакеты (прикинется петлей).
Теперь нам нужно включить серверы в эту сеть. Выносить серверы в отдельный vlan или включать в пользовательские vlan-ы?
Очевидно, что выбор делается исходя из следующего:
- Должен ли трафик между юзером и сервером проходить через роутинг (быть медленнее и дороже по ресурсам, но управляемым)
- Должен ли этот сервер иметь 1 IP адрес или может иметь множество IP адресов?
С DHCP мы уже решили (протокол решил за нас), что он в каждой сети свой.
Так же я бы поступил бы и с DNS. Смысла роутить DNS нет никакого, иметь быстрый локальный DNS удобно, а дать каждому с помощью DHCP нужный адрес DNS-сервера в своем сегменте не трудно.
Далее, мы можем каждому сегменту выдавать в DNS свои IP-адреса нужных нам серверов: для 1C, для файловой шары и так далее. В DNS-сервере Bind9 это делается с помощью view.
А вот все Web-серверы я бы оставил в одном отдельном "серверном" vlan - так как исключать их из роутинга не имеет смысла (web сам по себе на 3 порядка медленнее сети).
Легко и просто мы получили разделенную сеть с локализацией проблем и масштабирование в подарок!).
Как расширить (масштабировать) эту сеть?
Приносим еще один коммутатор. Добавляем новые 1-2 vlan на нем. Добавляем DHCP и DNS для него. Проводим vlan по аплинкам и магистралям. Заводим его на серверах. Done. Масштабирование без регистрации и смс.
Хотите получить такую же сеть за 30 дней?
Мы специализируемся на построении офисных сетей, и построение сети- одна из наших услуг. Быстро, и без болей и простоев, мы смигрируем Вашу сеть в подобную схему и этим решим пул проблем и снизим число неполадок и обращений в helpdesk. Обращайтесь: https://loader-net.ru/business/localnet.html
Так же, мы можем работать в "срочном режиме", если этого требуют обстоятельства и сократить сроки работ на столько, на сколько это возможно.