Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Трафик VLAN внутри одного коммутатора маршрутизируется., UniFi Network
 
Привет всем! Я пытаюсь заставить работать вещь, которая казалась мне простой, и у меня ничего не получается. Хотелось бы, чтобы кто-нибудь подтвердил, что мои предположения с точки зрения Unifi верны, чтобы я мог сосредоточиться на устранении неполадок в другом месте.

Моя конфигурация следующая:

*   UDM SE в роли роутера
*   USW-Pro-24-PoE свитч с подключением к UDM
*   192.168.1.0/24 как сеть по умолчанию
*   192.168.20.0/24 как сеть IoT с VLAN 192.168.20.0/24

Затем у меня есть следующие хосты, подключенные напрямую к свитчу. Каждый хост имеет один физический сетевой интерфейс, с 2 IP-адресами:

*   Хост 1:
   *   192.168.1.253 не отмечен (ilan0 интерфейс)
   *   192.168.20.253 отмечен VLAN 20 (ilan0.20 интерфейс)
   *   Подключен к порту свитча 7
*   Хост 2:
   *   192.168.1.12 не отмечен (ilan0 интерфейс)
   *   192.168.20.12 отмечен VLAN 20 (ilan0.20 интерфейс)
   *   Подключен к порту свитча 12

Оба порта свитча 7 и 12 сконфигурированы как:

*   Нативная VLAN / Network: Сеть по умолчанию (192.169.1.0/24)
*   Отмеченные VLAN Management: Разрешить все

Расширенная настройка установлена в значение Auto (не выбран профиль порта).

У меня также есть правило брандмауэра для блокировки трафика между VLAN. Я не могу найти оригинальную статью на ui.com, но это последнее правило, которое по сути отбрасывает весь трафик в и из внутренних диапазонов IP-адресов.

Что я наблюдаю: Трафик, идущий, скажем, с Хоста 1 через интерфейс ilan0.20, предназначенный для Хоста 2, проходит через UDM вместо того, чтобы переключаться напрямую. Это означает, что мое правило для блокировки трафика между VLAN, правильно, применяется.

Например, если я захвачу трафик, проходящий через UDM, делая запрос с Хоста 2 на Хост 1, я вижу, что он достигает UDM:

*   host-2> curl --interface ilan0.20 192.168.20.253
*   udm-se> tcpdump -i br20 host 192.168.20.12

08:23:05.492833 IP 192.168.20.12.51472 -> 192.168.20.253.http: Flags [S], seq 605147021, win 64240, options [mss 1460,sackOK,TS val 2027926346 ecr 0,nop,wscale 7], length 0

Итак, мой вопрос: Является ли моим ожиданием, что в этом случае этот трафик должен доставляться напрямую к Хосту 1 без маршрутизации? Я думал, что это должно быть так, и хотел бы исключить какие-либо неверное понимание или неправильную конфигурацию со стороны Unifi, прежде чем я сосредоточусь на конфигурации самих хостов.

Спасибо.
 
Окей, разобрался, проблема действительно была в таблице маршрутизации на самих хостах. Сразу стало понятно по "via 192.168.20.1" в маршруте, который возвращал `ip route get 192.168.20.253 from 192.168.20.12`.

Использую networkd для настройки сетевых интерфейсов и хотел настроить маршрутизацию на основе политик, чтобы по умолчанию трафик шел через неразмеченный интерфейс, а трафик с IP-адреса VLAN - через соответствующий VLAN-интерфейс.

Изначально сеть была настроена так:

[Route]
Gateway=192.168.20.1
Table=20

[RoutingPolicyRule]
From=192.168.20.0/24
Table=20

(...).

И похоже, это создавало маршрут, в котором роутер всегда был следующим хопом. Добавление более конкретных маршрутов решило проблему:

[Route]
Destination=192.168.20.0/24
Table=local

[RoutingPolicyRule]
From=192.168.20.0/24
To=192.168.20.0/24
Priority=1
Table=local

Теперь `ip route get 192.168.20.253 from 192.168.20.12` возвращает маршрут без "via", и хосты могут общаться напрямую. Думаю, достаточно будет одного из этих двух конкретных маршрутов. Вернусь шаг за шагом и посмотрю, какой именно нужен.

Спасибо @dlow за помощь, ты направил меня в нужное русло :)
 
Спасибо за информацию!
 
+1 @its3am насчёт масок подсети. Хост применяет маску подсети к исходным и целевым IP-адресам. Если они находятся в разных подсетях, то отправляет данные на адрес шлюза по умолчанию.
 
Я бы проверил маски подсети, особенно на Host-2's ilan0.20.
 
О боже, да, ты прав! Однако результат один и тот же: host-2> traceroute -i ilan0.20 192.168.20.253
traceroute to 192.168.20.253 (192.168.20.253), 30 hops max, 60 byte packets
1 192.168.20.1 (192.168.20.1) 0.144 ms 0.162 ms 0.091 ms
2 * * *
3 * * *
4 * * *
 
host-2> traceroute -i ilan0.20 192.168.1.253
traceroute to 192.168.1.253 (192.168.1.253), 30 hops max, 60 byte packets
1 192.168.20.1 (192.168.20.1) 0.270 ms 0.125 ms 0.091 ms
2 * * *
3 * * *

ВНИМАНИЕ! Опечатка! Может быть, вы имели в виду:traceroute -i ilan0.20 192.168.20.253
 
Хорошо подмечено. Traceroute, кажется, указывает на то, что трафик проходит через шлюз (UDM), если я правильно понимаю. Прямо на IP-адрес на немаркированном Host 1, он идет прямо к месту назначения.host-2> traceroute 192.168.1.253
traceroute до 192.168.1.253 (192.168.1.253), максимум 30 хопов, пакеты размером 60 байт
1 xxx.xxx (192.168.1.253) 1.136 мс 0.990 мс 1.092 мс
Привязан к маркированному интерфейсу к маркированному Host 1 адресу, похоже, он проходит через маршрутный шлюзhost-2> traceroute -i ilan0.20 192.168.1.253
traceroute до 192.168.1.253 (192.168.1.253), максимум 30 хопов, пакеты размером 60 байт
1 192.168.20.1 (192.168.20.1) 0.270 мс 0.125 мс 0.091 мс
2 * * *
3 * * *
Что заставляет меня полагать, что проблема может быть в таблице маршрутизации хостов. Я не особенно разбираюсь в этом, но возможно, это признак проблем:host-2> ip route get 192.168.1.253 from 192.168.1.12
192.168.1.253 from 192.168.1.12 dev ilan0 uid 1000
host-2> ip route get 192.168.20.253 from 192.168.20.12
192.168.20.253 from 192.168.20.12 via 192.168.20.1 dev ilan0.20 table 20 uid 1000
Если проблема действительно в этом месте, я знаю, на что стоит обратить внимание. Просто чтобы убедиться, что мои ожидания в отношении Unifi верны. Спасибо.
 
Что показывает traceroute? Возможно, UDM-SE просто "ведет себя разборчиво" и наблюдает за разговором между двумя хостами.
Страницы: 1
Читают тему (гостей: 1)