Я уже недели занимаюсь этим и не могу разобраться. Извиняюсь за массив информации, но надеюсь, кто-то посмотрит ниже, чтобы помочь решить мою проблему и проверить, правильно ли я использую VLAN и маршрутизацию в своей сети и внутри Proxmox.
Проблема: при доступе к серверам в разных VLAN соединение рвётся через 10-40 секунд.
Например: на моём десктопе в Default VLAN 1 с IP 10.10.1.103 я подключаюсь по SSH к DNS-серверу с IP 10.10.30.100 (интерфейс для приватного VLAN). Через 10-40 секунд соединение прерывается и зависает. Я могу открыть новое SSH-соединение в другом окне. При этом пинги на этот же IP продолжаются без сбоев. Если я подключаюсь по SSH к тому же серверу, но через его Default/LAN IP 10.10.1.100 и в той же подсети, этого не происходит, соединение стабильное.
Проблема проявляется не только с SSH, но и с веб-соединениями. Например, Nextcloud часто теряет соединение с сообщением "Connection to server lost", приходится обновлять страницу. (Nextcloud на VLAN 30, доступ через обратный прокси на VLAN 20).
Это касается как серверов с одним NIC, так и с несколькими NIC, где несколько VLAN тэгированы в Proxmox.
Предыстория: все VLAN-интерфейсы открыты друг для друга (any-any) на pfsenseVM, пока не исправлю эту проблему с позволением all/all. Все гипервизоры Proxmox тоже имеют интерфейсы на каждом VLAN для управления.
В каждом отдельном ВМ внутри Proxmox сетевые интерфейсы настроены с нужным VLAN, кроме pfsense — там установлен мост как сетевой интерфейс, а VLAN обрабатываются внутри. В Proxmox файрволы не включены.
Все серверы с одним сетевым интерфейсом.
Топология: pfsense запущен на Server1 с двумя виртуальными NIC, оба — vmbr0 из proxmox без VLAN тэгов.
Внутри pfsense:
NIC 1 имеет один VLAN — 777, и настроен как WAN-интерфейс.
NIC 2 имеет 4 интерфейса: nic2 (для default/LAN), VLAN10, VLAN20, VLAN30.
Коммутатор:
Что я пробовал:
- Включить allow all/all в виде плавающего правила в файрволе pfsense.
- Увеличил количество записей в таблице состояний.
- В System >> Advanced >> Firewall & NAT включил Bypass firewall rules for traffic on the same interface.
- В System -> Advanced -> Miscellaneous -> Gateway Monitoring опция State Killing on Gateway Failure включена, Skip rules when gateway is down — НЕ отмечена.
Думал, что дело в асимметричной маршрутизации, поэтому отключил все NIC кроме одного на DNS-сервере и пробовал ssh с другого интерфейса, отличного от Default, но проблема оставалась.
Использование роутера с тегированными VLAN на всех интерфейсах под openwrt решало проблему, но я хочу использовать PFSense в виртуалке и избавиться от роутера.
Проблема: при доступе к серверам в разных VLAN соединение рвётся через 10-40 секунд.
Например: на моём десктопе в Default VLAN 1 с IP 10.10.1.103 я подключаюсь по SSH к DNS-серверу с IP 10.10.30.100 (интерфейс для приватного VLAN). Через 10-40 секунд соединение прерывается и зависает. Я могу открыть новое SSH-соединение в другом окне. При этом пинги на этот же IP продолжаются без сбоев. Если я подключаюсь по SSH к тому же серверу, но через его Default/LAN IP 10.10.1.100 и в той же подсети, этого не происходит, соединение стабильное.
Проблема проявляется не только с SSH, но и с веб-соединениями. Например, Nextcloud часто теряет соединение с сообщением "Connection to server lost", приходится обновлять страницу. (Nextcloud на VLAN 30, доступ через обратный прокси на VLAN 20).
Это касается как серверов с одним NIC, так и с несколькими NIC, где несколько VLAN тэгированы в Proxmox.
Предыстория: все VLAN-интерфейсы открыты друг для друга (any-any) на pfsenseVM, пока не исправлю эту проблему с позволением all/all. Все гипервизоры Proxmox тоже имеют интерфейсы на каждом VLAN для управления.
В каждом отдельном ВМ внутри Proxmox сетевые интерфейсы настроены с нужным VLAN, кроме pfsense — там установлен мост как сетевой интерфейс, а VLAN обрабатываются внутри. В Proxmox файрволы не включены.
Все серверы с одним сетевым интерфейсом.
Топология: pfsense запущен на Server1 с двумя виртуальными NIC, оба — vmbr0 из proxmox без VLAN тэгов.
Внутри pfsense:
NIC 1 имеет один VLAN — 777, и настроен как WAN-интерфейс.
NIC 2 имеет 4 интерфейса: nic2 (для default/LAN), VLAN10, VLAN20, VLAN30.
Коммутатор:
Что я пробовал:
- Включить allow all/all в виде плавающего правила в файрволе pfsense.
- Увеличил количество записей в таблице состояний.
- В System >> Advanced >> Firewall & NAT включил Bypass firewall rules for traffic on the same interface.
- В System -> Advanced -> Miscellaneous -> Gateway Monitoring опция State Killing on Gateway Failure включена, Skip rules when gateway is down — НЕ отмечена.
Думал, что дело в асимметричной маршрутизации, поэтому отключил все NIC кроме одного на DNS-сервере и пробовал ssh с другого интерфейса, отличного от Default, но проблема оставалась.
Использование роутера с тегированными VLAN на всех интерфейсах под openwrt решало проблему, но я хочу использовать PFSense в виртуалке и избавиться от роутера.
