Virtual Wire в Palo Alto: Полное руководство.
Здравствуйте, коллеги!
Сегодня поговорим про Virtual Wire на Palo Alto и разберём, как это работает на практике. Для примера нам понадобится сам Palo Alto и два коммутатора — подойдут L2, L2+ или даже L3.
Чутка теории)
Начнём с того, что такое Virtual Wire. Это режим интерфейсов, который позволяет связать два сегмента сети «прозрачно», без маршрутизации и без изменения IP-адресов. По сути, Palo Alto в этом случае работает как фильтр, стоящий в разрыве, но при этом мы можем применять все политики безопасности.
Есть несколько моментов, которые нужно учитывать:
Интерфейсы, которые объединяем в Virtual Wire, должны иметь одинаковую скорость и дуплекс.
Каждому интерфейсу назначается своя зона.
Связь между зонами по умолчанию отсутствует, поэтому всё разрешаем через политики безопасности.
Наша топология все это будем реализовать в виртуальной среде Eve-Ng.

Два коммутатора (DSW2 и DSW3):
Между каждым коммутатором и Palo Alto настроена LACP-агрегация (Link Aggregation) для отказоустойчивости и балансировки нагрузки.
DSW2 подключён к доверенной зоне (Trust), а DSW3 — к недоверенной зоне (Untrust).
На каждом коммутаторе используются интерфейсы e0/0 и e0/1 для агрегации, а e0/2 — для подключения конечных устройств.
Palo Alto Firewall:
Интерфейсы eth11/1 и eth11/2 объединены в Virtual Wire и относятся к зоне Trust.
Интерфейсы eth11/3 и eth11/4 объединены в Virtual Wire и относятся к зоне Untrust.
Есть отдельный Management-интерфейс для администрирования.
Конечные устройства:
С одной стороны подключён хост с IP 192.168.1.2/24 (сегмент Trust).
С другой стороны — хост с IP 192.168.1.3/24 (сегмент Untrust).

Простыми словами, VirtualWire работает таким образом, если упадет линк е0/1 то упадет и ½ и 1/3 и е 0/0, и также не нужно никаких айпи адресов назначать. Это режим, в котором два физических (или оптических) порта связываются логически и становятся «проводом» внутри фаервола. Пакеты/кадры проходят через него прозрачно: интерфейсы не выполняют коммутацию/маршрутизацию, у них нет IP/MAC для использования фаерволом. Но до передачи на другую сторону фаервол применяет политики безопасности, App-ID, Content-ID, User-ID, decryption и др. Это удобно, когда нужно вставить инспекцию в существующий L2/L3 участок без перетопологии сети.
Интерфейсы virtual wire не имеют L2/L3 адресов, не участвуют в маршрутизации и не используют интерфейсный профиль управления (нельзя через них управлять самим фаерволом).При получении frame/packet фаервол игнорирует адреса для целей коммутации/маршрутизации, но применяет security/NAT/policy перед тем как отдать пакет на второй интерфейс.
Виртуальный провод требует, чтобы оба выбранных порта работали на одинаковой скорости/дуплексе. По умолчанию для медных портов стоит auto. Можно фиксировать speed/duplex, но значения должны совпадать на обоих концах virtual wire. Не связывайте в один virtual wire порты с разной физической пропускной способностью (иначе возможны проблемы производительности).
Настройки на коммутаторах


Настройки на фаерволе.

Network -> Interfaces -> Ethernet

Также нужно прописать политику без, чтобы между зонами прошелся траффик.

Реализация через CLI PaloAlto
1.Интерфейсы
CLI:
configure
set network interface ethernet ethernet1/1 link-speed auto
set network interface ethernet ethernet1/2 link-speed auto
commit
(можно вручную задать одинаковую скорость, если автосогласование не работает)
2.Virtual Wire
Создаёшь связку из двух портов:
set network virtual-wire vw1 interface [ ethernet1/1 ethernet1/2 ]
set network virtual-wire vw1 allowed-non-ip yes
set network virtual-wire vw1 multicast-forward yes
commit
3.Zones – каждой зоне!
set network zone Trust network virtual-wire vw1
set network zone Trust interface ethernet1/1
set network zone Untrust network virtual-wire vw1
set network zone Untrust interface ethernet1/2
commit
4.Security Policy
Создаёшь правило, разрешающее нужный трафик между зонами:
set rulebase security rules allow-any from [ Untrust ] to [ Trust ] source any destination any application any service any action allow
commit
Если хочешь полную инспекцию — добавляешь профили (antivirus, spyware, vulnerability protection и т.д.).
5.LLDP
Разрешить LLDP для администрирования и соседей:
set deviceconfig system lldp enable yes
set deviceconfig system lldp transmit yes
set deviceconfig system lldp receive yes
commit
6.show lldp neighbors (Если видишь соседей — значит LLDP проходит.)
(Опционально) — если используется LACP (Aggregated Ethernet)
set network interface aggregate-ethernet ae1 link-speed auto
set network interface aggregate-ethernet ae1 lacp enable yes
set network virtual-wire vw1 interface [ ae1 ethernet1/3 ]
(Опционально) — Управление firewall (Management Access)
Virtual wire не имеет IP → управление идёт через management-порт (mgmt interface). Убедись, что он подключен к сети администрирования и доступен по SSH/HTTPS:
set deviceconfig system ip-address 10.0.0.10 netmask 255.255.255.0 default-gateway 10.0.0.1
commit
диагностика
show interface ethernet1/1
show interface ethernet1/2
show network virtual-wire
show lldp neighbors
show counter global filter delta yes packet-type lacp
show session all
show session info

Как видим все работает!
Подводные камни с LLDP LACP
LLDP (Link Layer Discovery Protocol) - Протокол, который устройства рассылают, чтобы сообщить соседям — кто они и на каком порту подключены.
Работает на уровне 2 (Ethernet), до IP.
Зачем нужен при virtual wire?
Через virtual wire firewall не виден по IP (нет IP-адресов). Поэтому ping, traceroute - не покажут, что firewall вообще стоит между устройствами. LLDP всё равно проходит - и может показать, что между двумя коммутаторами стоит Palo Alto. Это помогает при диагностике и отладке линков, потому что можно видеть соседей даже через прозрачный firewall.
LACP (Link Aggregation Control Protocol) - Протокол, который объединяет несколько физических портов в один логический канал (LAG / AE / агрегированный интерфейс).
Работает тоже на уровне 2 (Ethernet).
Пример: 4 кабеля 1 Gbps → становятся одной логической линейкой 4 Gbps. (В теории да, а так там чуть поменьше)
Как связано с virtual wire:
Virtual wire не обрабатывает LACP, он пропускает его как есть (firewall прозрачен).То есть, firewall не участвует в объединении портов, он просто пропускает пакеты LACP между устройствами.Если firewall стоит между двумя устройствами, где работает LACP, и он неправильно настроен —
пакеты LACP могут не пройти → агрегированный канал не поднимется.
Рекомендации
Если нужен прозрачный inline-инспектор — virtual wire ок.
оба порта — одна скорость/тип.
Не пытайся через него управлять фаерволом — это бесполезно.
Проверяй LLDP и policy hits для отладки.
Если есть LACP на смежном оборудовании — планируй аккуратно (лучше избегать агрегирования прямо через virtual wire).
