Ответы пользователя по тегу Сетевое администрирование
  • FDB таблица на 500 записей, будет flooding, forwarding или filtering при подключении 600 абонентов?

    @throughtheether
    human after all
    flooding
    Да, при отправке фрейма с MAC-адресом назначения, не поместившимся в FDB (их всего примерно 100), фрейм будет скопирован во все порты (кроме того, на который он первоначально пришел).
    forwarding
    Да, при отправке фрейма с MAC-адресом назначения, находящемся в FDB, фрейм будет направлен только в соответствующий порт.
    filtering
    Не уверен, что именно подразумевается под этим термином. Если некая ACL-фильтрация, то ей в данном контексте проявиться негде. С другой стороны, коммутатор иногда называют фильтрующим мостом (FDB, между прочим, это filtering database), но и в этом смысле я не вижу причин для фильтрации (т.е. ни специальной фильтрующей записи в FDB, ни получения фрейма с MAC-адресом назначения A на порт, с которым этот адрес ассоциирован).

    В любом случае, вам лучше проконсультироваться с учебными материалами.
    Ответ написан
    Комментировать
  • MikroTik RB450G не могу настроить доступ из локалки в интернет (Провайдер VPN)?

    @throughtheether
    human after all
    Не знаток Mikrotik, но отвечу, раз вы меня призвали.

    На мой взгляд, у вас активен маршрут по умолчанию (0.0.0.0/0) через 192.168.0.250. Попробуйте задать ему худшую (т.е. большую) метрику, чем у маршрута через pptp-интерфейс.
    Ответ написан
  • Как исправить потери на интерфейсе Cisco?

    @throughtheether
    human after all
    1) Во время наблюдения проблемы сбросьте счетчики на интерфейсах (навскидку clear counters), через минут десять запросите в консоли show interface gi0/0 и предоставьте вывод.
    2) Во время наблюдения проблемы запросите в консоли show processes cpu sorted 1min и предоставьте вывод.
    3) На коммутаторе настройте SPAN/зеркалирование трафика из обоих VLAN, сравните трафик в рабочем режиме и при наблюдении проблемы. Обратите внимание на уровень трафика (bps, pps), широковещательный, многоадресный трафик; трафик, адресованный непосредственно маршрутизатору.
    Ответ написан
    2 комментария
  • Как настроить резервные маршруты?

    @throughtheether
    human after all
    Подскажите в какую сторону копать? Метрики?
    Да, метрики, большие для резервных маршрутов.

    Пример для windows-машины, основные маршруты:
    route add 192.168.102.0 mask 255.255.255.0 192.168.3.2 metric 1
    route add 192.168.103.0 mask 255.255.255.0 192.168.3.2 metric 1

    резервные маршруты:
    route add 192.168.102.0 mask 255.255.255.0 192.168.1.1 metric 100
    route add 192.168.103.0 mask 255.255.255.0 192.168.1.1 metric 100


    Для остальных машин аналогично. Смысл в том, что при пропадании линка на интерфейсе соответствующий маршрут, как правило, удаляется из таблицы маршрутизации (проверил только что на win7). Имейте в виду, что при неработоспособности двух линков из трех вы получите петлю маршрутизации (но это мелочи по сравнению с недоступностью части сети). Ну и другие недостатки статической маршрутизации тоже проявятся (невозможность отследить неработоспособность следующего хопа кроме как через состояние интерфейса и т.д.)

    Пакеты, адресованные «наружу» должны уходить через GW.
    Здесь можно поступить так. На linux-сервере (на картинке по центру) поднять loopback-интерфейс. На двух остальных машинах прописать маршруты по умолчанию через него. На них же - по два маршрута непосредственно до него (основной и резервный). На основном linux-сервере прописать маршрут по умолчанию в интернет.
    Ответ написан
    1 комментарий
  • Как обеспечивается балансировка нагрузки?

    @throughtheether
    human after all
    Для начала хотелось бы отметить, что, на мой взгляд, логичным представляется разделять понятия балансировки (load balancing) и разделения (load sharing) нагрузки. Вкратце, балансировка нагрузки подразумевает некую обратную связь (чем меньше нагрузка сервера, к примеру, тем больше вероятность, что следующий запрос будет обработан именно им), в отличие от разделения нагрузки.

    Рассмотрим поверхностно, как происходит взаимодействие клиента с web-сервисом. Клиент обращается по некому URL, происходит разрешение доменного имени в IP-адрес (момент 1). Далее, необходимо установить TCP-сессию с хостом, представленным этим адресом (момент 2). Для этого IP-пакеты, содержащие TCP-сегменты, должны добраться до этого хоста (момент 3). После установления TCP-сессии в ней идет обмен HTTP-сообщениями (момент 4).

    В точке (1) возможно как разделение (DNS round-robin), так и балансировка нагрузки (специфичные DNS-решения, отслеживающие метрики производительности серверов). В точке (2) возможны балансировка/разделение нагрузки при помощи NAT или TCP-проксирования. В точке (3) возможно разделение нагрузки при помощи BGP anycast, equal-cost multipath или CARP/VRRP (в порядке уменьшения уровня абстракции архитектуры, если можно так выразиться). В точке (4) возможны балансировка/разделение нагрузки при помощи reverse proxy.

    Эта же модель частично применима и при взаимодействии, скажем, веб-сервера с сервером баз данных и прочая.

    Примерно таким образом можно распределить нагрузку на большое количество серверов. Но необходимо понимать, что при этом, в зависимости от сферы применения, встает ряд других задач, как, в частности, консистентность состояния серверов.
    Ответ написан
  • Как установить тип кадра Ethernet II на windows 7?

    @throughtheether
    human after all
    Как же установить тип кадра Ethernet II на windows 7 ?
    Без него одно приложение отказывается работать...
    Можете уточнить модель сетевого адаптера, название приложения и текст ошибки?
    Вы проверяли, что ваш адаптер шлет 802.3 кадры, а не Ethernet II (это можно сделать при помощи wireshark)?
    Ответ написан
    Комментировать
  • Как можно реально проверить коммутатор, чем нагружать?

    @throughtheether
    human after all
    вот я хочу узнать, что же ждать от него?
    На мой взгляд, представляется конструктивным выделить функциональность, которая потребуется от устройства в рабочем режиме (в "продакшене") и затем каждый пункт протестировать отдельно. В частности, стоит проверить работу xSTP и его нюансов (BPDU guard и т.д.), ARP Inspection, фильтрации по MAC-адресам, ограничения широковещательного/многоадресного трафика (storm control), DHCP snooping, IGMP (если планируется использовать). Для этого может потребоваться собрать тестовый стенд и сгенерировать необходимый трафик (под linux рекомендую scapy для формирования специфичных пакетов/фреймов и hping для генерации интенсивного трафика).

    Не вижу особого смысла в попытках полностью утилизировать ресурсы коммутационной матрицы ("фабрики"). Для этого потребуется задействовать все порты коммутатора. Etherchannel здесь, на мой взгляд, вряд ли сильно поможет, учитывая поддерживаемый коммутатором режим разделения трафика по линкам внутри etherchannel ("Поддержка балансировки по destination-MAC", отсюда).
    Ответ написан
    Комментировать
  • Существуют ли системы автоматизации управления сетью?

    @throughtheether
    human after all
    Так вот может есть подобные решения уже и я плохо искал?
    Я имею ввиду систему позволяющую буквально программировать сеть, которая построена на разнородном оборудовании.


    Чтобы реализовать то, что вы хотите, надо, на мой взгляд, учесть огромное количество вендор-специфичных нюансов, исключений и т.д., что приводит к тому, что такие решения или решают специфическую задачу (добавить новый сервер в данном ДЦ с заранее известной топологией сети, завести VLAN, прописать ACL и т.д.) и представляют собой трудновоспроизводимую систему костылей, или не существуют.
    Ответ написан
  • Чем собирать конфиги с сетевых устройств(свичей)?

    @throughtheether
    human after all
    Ищется универсальное средство по сбору конфигов(как + - со сравнением конфигов)
    rancid. Насколько знаю, есть модули для снятия конфигурации hp и dlink. Но будьте готовы к тому, что "универсальное" средство придется дорабатывать под ваши нужды.
    Ответ написан
    1 комментарий
  • Почмеу гигабитная сетевуха не прокачивает гигабит при MTU=9000?

    @throughtheether
    human after all
    Дамп трафика можете показать? Есть подозрение, что TCP почему-то не выставляет адекватный размер сегмента.
    Ответ написан
  • Можно ли подключить к маршрутизаторы 5 коммутаторов?Что такое vlan?

    @throughtheether
    human after all
    Можно ли подключить к маршрутизаторы 5 коммутаторов,а каждому коммутатору подключены 12 пк?
    Можно, если хватит портов. Если правильно настроить (и оборудование поддерживает необходимые технологии), то еще и работать будет.

    Что такое vlan?
    Технология (их несколько, на самом деле), позволяющая, с точки зрения перенаправления (форвардинга) фреймов, логически разделить один коммутатор на несколько "виртуальных" коммутаторов с тем, чтобы трафик в разных VLAN ("виртуальных коммутаторах") между собой не взаимодействовал. Наиболее распространенная реализация - port-based vlan (разделение коммутатора на виртуальные) и 802.1q trunking (трафик между коммутаторами).

    Можно ли подключить два маршрутизатора находящиеся на расст. 1км с помощью оптики если у маршрутизатора нет интерфейся для оптики а только etherenet? т.е ему нужен(маршрутизаторы) медиаконвертор?
    Да, если есть пара подходящих медиаконвертеров. Есть еще вариант использовать атмосферную оптику, но лучше все же использовать оптоволокно.
    Ответ написан
    Комментировать
  • Почему 100Mbps, а не 1Gps на интерефейсе?

    @throughtheether
    human after all
    Покажите вывод с коммутатора:
    show int gi3/28 status
    sh run int gi3/28
    Покажите настройки сетевой карты (дуплекс, скорость, mdi/mdi-x).
    Почему винда показывает скорость в 100Mbps?
    Возможные причины: некорректные настройки, проблемный патч-корд, проблемные трансиверы (маловероятно, но возможно).
    Как сделать гигабитку?
    Определить и устранить причину такого режима работы оборудования.
    Ответ написан
    3 комментария
  • Как эффективнее организовать рабивку сети на vlan?

    @throughtheether
    human after all
    Хочу поделить сеть на vlan'ы, но при подключении в управляемый свитч (sw1) неуправляемого свитча (sw2) не получится распределить устройства, подключенные к этому самому sw2, по вланам. Тут ничего нельзя сделать?
    Для некоторых неуправляемых коммутаторов на определенных чипсетах есть подобное решение: ссылка. Думаю, нет нужды объяснять, что это трудно поддерживается и в промышленную сеть такое пускать не стоит.

    А как эффективнее всего сделать MAC-based vlan?
    Считаю, что эффективнее всего этого не делать. Эта схема также представляется трудномасштабируемой и трудноподдерживаемой.

    Я бы на вашем месте использовал L3-коммутаторы (или сервер на Linux/*BSD в качестве маршрутизатора) и управляемые L2-коммутаторы.
    Ответ написан
    8 комментариев
  • Почему соседние машины в сети не пингуются?

    @throughtheether
    human after all
    Проверьте arp-таблицы (arp -a) на машинах, вероятно, на маршрутизаторе активирована опция proxy ARP. Сравните содержание записей с реальными MAC-адресами сетевых адаптеров машин (ipconfig /all)
    Ответ написан
  • Существует ли язык (DSL) для определения структуры сети?

    @throughtheether
    human after all
    Слышал (но не использовал) про YANG/NETCONF. Посмотрите, может, вам подойдет.
    Ответ написан
    2 комментария
  • Как настроить wifi мост с помощью маршрутизатора?

    @throughtheether
    human after all
    Переведите ваше устройство в режим маршрутизатора с NAT. Так, чтобы на WLAN-интерфейсе был активен dhcp-клиент (или прописан статический адрес, предоставляемый вам оператором). На LAN-интерфейсах - адреса из отдельного префикса (не пересекающегося с операторским). NAT между LAN- (внутренний интерфейс с т.з. NAT) и WLAN- (внешний интерфейс с т.з. NAT) интерфейсами.

    Но в таком случае конечные устройства будут подключены к маршрутизатору по витой паре. Если необходим доступ именно по WiFi, то, на мой взгляд, без двух WiFi-трансиверов (устройств) не обойтись. Схему также придется чуть усложнить.
    Ответ написан
  • Как поймать багу при пробросе портов между роутерами?

    @throughtheether
    human after all
    Проверьте настройки безопасности на роутерах (иногда это называется application layer gateway, ALG).
    Проверьте правильность подключения (wan-порт роутера 2 подключен в lan-порт роутера 1).
    Проверьте адресацию.
    Ответ написан
    Комментировать
  • Nat pat и маршрутизация?

    @throughtheether
    human after all
    зачем нужен нат если есть маршрутизация между сетями
    Первоначальная задача, которую, насколько мне известно, был призвал решить NAT (тогда еще NAT адрес в адрес) - это исчерпание свободных префиксов ("подсетей") в пространстве IPv4-адресов. Было решено выделить несколько префиксов в качестве "локальных" и административно (это важно) запретить их анонсирование между автономными системами. При использовании NAT организация, которая предоставляет доступ снаружи к малому количеству своих сервисов или вообще его не предоставляет, может ограничиться арендой IPv4-адреса у своего провайдера. Без NAT было бы необходимо выделить свободный префикс, учитывая ограничения пиринга (например, часто префиксы длиннее /24 отфильтровываются, т.е. вместо 1 адреса необходимо арендовать блок из 256).

    PAT логично рассматривать как развитие NAT. Так как большинство сервисов работает с использованием протоколов TCP и UDP, можно дополнительно сэкономить глобальные адреса, транслируя не адрес в адрес, а кортеж (глобальный адрес, порт1) в кортеж (локальный адрес,порт2), получив еще одну степень свободы в смысле мультиплексирования.

    Маршрутизация и NAT решают разные задачи. NAT используется, потому что некоторые сети (локальные, RFC1918) запрещено маршрутизировать в глобальном интернете. Но каждый из задействованных в NAT префиксов должен маршрутизироваться в своем домене, локальный префикс - в локальной сети, глобальный - в интернете.
    Ответ написан
    Комментировать
  • Как устранить проблему высокого пинга?

    @throughtheether
    human after all
    Что я уже сделал:
    ...
    2. Отключил Ipv6
    Что это значит? Где отключили? На каждой рабочей станции в сети?

    все статистики отличные (top,iostat,ifstat,ifconfig,sar) - нигде нет пределов.
    На портах коммутаторов показатели смотрели? Количество отброшенных пакетов, размеры очередей?

    в чем может быть проблема или как продиагностировать?
    Как вариант, пики широковещательного/многоадресного трафика. Диагностировать при помощи снятия соответствующих данных с портов коммутаторов или при помощи анализа трафика.
    Ответ написан
    Комментировать
  • Что можно сделать чтобы избежать Unicast-flood?

    @throughtheether
    human after all
    И при этом выключить сервер, то флуд перерастает в Unicast-флуд и распространяется на все виртуальные интерфейсы на сервере, в некоторых случаях на весь vlan,
    Если я вас правильно понял, подразумевается unknown unicast flood.

    Ваш хост имеет адрес 109.XX.XX.XX.53? Какой именно трафик распространяется на весь влан - подобный указанному в дампе или, может быть, arp-запросы?

    Я с libvirt не работал, но мысли касательно вашей ситуации такие. Есть некий маршрутизатор (устройство или виртуальная сущность), на котором активен IP-адрес из одного префикса ("подсети") с 109.XX.XX.XX.53. На нем есть arp-таблица, где IPv4-адресу 109.XX.XX.XX.53 соответствует некий MAC-адрес aaaa-bbbb-cccc (подразумевается использование ethernet). На (виртуальном) коммутаторе/бридже этому MAC-адресу соответствует некий виртуальный интерфейс.
    Когда вы хост выключаете, возможны два варианта:
    1) в таблице коммутатора исчезает запись, ставящая в соответствие MAC-адресу aaaa-bbbb-cccc некий виртуальный интерфейс. В таком случае будет наблюдаться unknown unicast flood, а именно трафик, подобный указанному на приведенном вами дампе, будет направляться во все интерфейсы коммутатора (хотя, могут быть нюансы, связанные с виртуализацией). Для решения проблемы вы можете или задать статическое соответствие MAC-адреса aaaa-bbbb-cccc нужному интерфейсу, или, если есть такая возможность, зафильтровать трафик, предназначенный для хоста с MAC-адресом aaaa-bbbb-cccc на время, пока соответствующий сервер неактивен, или фильтровать трафик на 109.XX.XX.XX.53 на вышестоящем оборудовании
    2) в arp-таблице маршрутизатора исчезает запись, ставящая в соответствие IPv4-адресу 109.XX.XX.XX.53 MAC-адрес aaaa-bbbb-cccc. В таком случае маршрутизатор будет слать некоторое количество широковещательных arp-запросов. Количественные характеристики зависят от реализации, как именно это сделано в libvirt, трудно предполагать.

    Что можно сделать со стороны активного оборудования, чтобы избежать подобных проблем в автоматическом режиме?
    Не понимаю вашего фокуса именно на активном оборудовании. На мой взгляд, конструктивнее сначала попытаться решить проблему на уровне виртуализации. Представляется, что среда виртуализации предоставляет более удобные инструменты для автоматизации (т.е. различные скрипты и/или API). Если вышеописанное (установку статической записи в таблицу соответствия MAC-адрес <-> интерфейс коммутатора; установку фильтрующей записи в ту же таблицу, см. cisco-аналог mac address-table static MACADDRESS vlan VLANID drop; фильтрацию на основе L3-данных) не получится реализовать на сервере виртуализации, можно попытаться фильтровать трафик до 109.XX.XX.XX.53 на вышестоящем оборудовании, но сомневаюсь, что это можно будет удобно автоматизировать.

    Дальнейшие советы, не зная топологию сети, давать затруднительно.

    UPD:
    В примере, имелось ввиду, что 109.XX.XX.XX - это IP, 53 это порт,
    Извините, проглядел. Вот именно поэтому я не люблю вывод tcpdump и предпочитаю оперировать дампом в виде pcap-файлов.

    Я наблюдаю две проблемы:
    1) мусорный трафик на один из ваших хостов
    2) флуд (умножение) этого трафика на все ваши виртуальные сервера

    Касательно первой проблемы есть вопросы. Как вы используете DNS-сервер? Как фильтруется доступ к нему? Если никак, то почему? Разрешены ли рекурсивные запросы? Если да, то желательно заблокировать их обработку, кроме того случая, когда вы точно знаете, что именно делаете. Я подозреваю, в данном случае имеет место попытка атаки 94.41.XX.XX при помощи вашего сервера (dns reflection attack, точнее можно будет сказать, если вы предоставите дамп трафика в формате .pcap, tcpdump -i -s 65535 -w ). Если гипотеза окажется верна, то есть вероятность, что такой мусорный трафик прекратится через некоторое время после того, как вы выключите обработку рекурсивных запросов.
    Вообще говоря, я бы на вашем месте запретил бы весь трафик, кроме трафика вашего сервиса и управленческого (ssh, snmp и т.д.) трафика при помощи списков доступа (ACL) на активном оборудовании (на ближайших к вашему оборудованию L3-устройствах, скорее всего их два)

    Теперь по второй проблеме.
    сетевые инженеры Дата-центра говорят, что установили настройку для влана и свичей в ДЦ "mac-address-table aging-time = 14400"
    Именно это, на мой взгляд, и вносит наиболее весомый вклад в проблему. При выключении вашего сервера коммутатор ДЦ еще 4 часа будет слать вам адресованный серверу трафик. Значение 14400 выбрано, скорее всего, с целью избежать проблем рассогласованности arp-таблицы и таблицы MAC-адресов при импользовании ECMP и FHRP (довольно распространенная проблема в ДЦ-окружении). Именно такое значение по умолчанию имеет срок жизни arp-записи в устройствах cisco, если мне не изменяет память.
    Одно из возможных решений - снижение срока жизни записи таблицы MAC-адресов. Это возможно, если в ДЦ вам предоставлен отдельный коммутатор или если вам предоставлен отдельный влан (частая схема в ДЦ), и при этом оборудование ДЦ поддерживает изменение срока жизни записи таблицы MAC-адресов в зависимости от влана (cisco catalyst, если не ошибаюсь, это могут, в зависимости от версии IOS).
    Второй вариант - при выключении виртуального сервера автоматически создавать соответствующее правило ebtables или статическую запись в таблице MAC-адресов виртуального бриджа, запрещающее трафик до него (думаю, в той или иной степени это реализуемо). Третий вариант - удаление записи таблицы MAC-адресов коммутатора ДЦ по запросу через какой-либо API на данный момент предстает малореальным. Кроме того, можно подумать о реорганизации схемы подключения вашего сервера к оборудованию провайдера с использованием двух L3-линков. В таком случае на вас не влияют L2-настройки оборудования ДЦ (сроки жизни записей arp-таблицы, таблицы mac-адресов), и ваш маршрутизатор (виртуальный) будет отбрасывать трафик до хоста, для которого нет ARP-записи (т.е. для выключенного).

    Вы писали касательно описанного мною выше варианта:
    Ситуацию спасает просьба о блокировке атакуемого IP на активном оборудовании, либо можно при помощи ebtables запретить форвардинг пакетов на атакуемый ip-адрес, тогда трафик будет идти просто на основной интерфейс физического сервера, не затрагивая виртуальные сервера. Оба варианта не являются выходом поскольку требуют постоянного присутствия как сетевых инженеров в ДЦ, так и приносят проблемы на физическом сервере, потому и хотелось бы узнать возможно ли в автоматическом режиме со стороны сетевого оборудования избегать таких проблем.
    Я пока не понял, к каким проблемам на физическом сервере приводит фильтрация трафика при помощи ebtables. Необходимо понимать, что либо этот трафик (вредоносный, мусорный) каким-то образом фильтрует ДЦ (для этого он сначала должен по каким-то критериям этот злонамеренный трафик выявить, и не факт что его критерии совпадут с вашими), скорее всего за дополнительные деньги (услуга anti-DDoS), либо этот трафик доходит до оборудования под вашим управлением, и тогда уже вы его фильтруете так, как сочтете необходимым.

    Резюмируя, на вашем месте я бы:
    1) разобрался с трафиком, приведенным в дампе, с настройками DNS-сервера
    2) разрешил бы только необходимый для работы проекта трафик при помощи ACL на оборудовании ДЦ
    3) настроил бы внятный мониторинг вашего сервера
    Практически уверен, что после реализации пп. 1), 2) наблюдаемая проблема бы исчезла. Даже если нет - варианты я привел (изменение L2-настроек оборудования ДЦ, изменение схемы подключения)

    UPD2:
    Фильтровать никакой трафик нельзя потому, что это не наш трафик, а трафик в сторону клиента, который арендовал VDS. По этой же причине, кого-то блокировать нельзя для входящих пакетов,
    Не понимаю, почему нельзя фильтровать клиентский трафик. Так делают практически все. Когда на сервер, арендуемый за 100 долларов в месяц, приходит 10 гигабит/c трафика и больше, как правило, трафик до него блокируется по той простой причине, что расходы на трафик превышают доходы от клиента. Кроме того, часто такой трафик угрожает самой инфраструктуре. Вы задали вопрос касательно анти-DDoS. Что это, если не фильтрация трафика?

    Далее, думаю, вам стоит переделать схему аплинка, это наиболее простое и потенциально эффективное решение. Так, чтобы сервер был подключен к маршрутизатору L3-интерфейсом и затем маршрутизировал (а не бриджил) трафик до клиента. Я представляю себе, как бы это выглядело в случае с L3-коммутатором, но тут наверняка проявятся неизвестные мне нюансы реализации поддержки сети в Linux. Рекомендую схему перед применением досконально протестировать.
    Ответ написан
    2 комментария