У меня возник очень странный ребус с фаерволом для виртуальной машины — это виртуальная АТС. Я потратил немало времени на поиск причины и просто не могу понять, что происходит. Считаю себя довольно опытным в PVE и в настройке фаерволов — буквально сотни ВМ на нескольких кластерах, многие с сложными правилами, и всё работает отлично. Я максимально упростил проблему. Это Linux-виртуалка с сетеовой картой VirtIO. Если на сетевой карте НЕ ставить галочку «Firewall», то всё работает без проблем: входящие и исходящие звонки идут весь день, всё просто отлично. Но стоит поставить эту галочку — и сразу начинаются проблемы с исходящими SIP-звонками от ВМ к нашему провайдеру.
Я пробовал:
- В настройках ставить «Firewall» в «NO»
- В настройках выставлять «Input Policy» и «Output Policy» в ACCEPT
- Добавлять правила с «out» и «in» в ACCEPT для всех IP
- Добавлять правила с «out», «in» и «Protocol UDP» в ACCEPT для всего UDP
Входящие звонки от провайдера к ВМ идут без проблем, двунаправленный звук тоже нормальный. Проблема только с исходящими звонками. Я в тупике, есть идеи?
Код:
:tap150i0-IN - [0:0]
:tap150i0-OUT - [0:0]
-A PVEFW-FWBR-IN -m physdev --physdev-out tap150i0 --physdev-is-bridged -j tap150i0-IN
-A PVEFW-FWBR-OUT -m physdev --physdev-in tap150i0 --physdev-is-bridged -j tap150i0-OUT
-A tap150i0-IN -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A tap150i0-IN -j ACCEPT
-A tap150i0-IN -m comment --comment "PVESIG:OFdXzqXcwmyj0szvDL/e5fRT+nI"
-A tap150i0-OUT -p udp -m udp --sport 68 --dport 67 -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -m mac ! --mac-source 4e:62:60:5f:93:de -j DROP
-A tap150i0-OUT -j MARK --set-xmark 0x0/0x80000000
-A tap150i0-OUT -m limit --limit 1/sec -j NFLOG --nflog-prefix ":150:1:tap150i0-OUT: ACCEPT: "
-A tap150i0-OUT -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -m comment --comment "PVESIG:DIY5MgeZA0+FJEjKMorU7Qunr1Q"
Я пробовал:
- В настройках ставить «Firewall» в «NO»
- В настройках выставлять «Input Policy» и «Output Policy» в ACCEPT
- Добавлять правила с «out» и «in» в ACCEPT для всех IP
- Добавлять правила с «out», «in» и «Protocol UDP» в ACCEPT для всего UDP
Входящие звонки от провайдера к ВМ идут без проблем, двунаправленный звук тоже нормальный. Проблема только с исходящими звонками. Я в тупике, есть идеи?
Код:
:tap150i0-IN - [0:0]
:tap150i0-OUT - [0:0]
-A PVEFW-FWBR-IN -m physdev --physdev-out tap150i0 --physdev-is-bridged -j tap150i0-IN
-A PVEFW-FWBR-OUT -m physdev --physdev-in tap150i0 --physdev-is-bridged -j tap150i0-OUT
-A tap150i0-IN -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A tap150i0-IN -j ACCEPT
-A tap150i0-IN -m comment --comment "PVESIG:OFdXzqXcwmyj0szvDL/e5fRT+nI"
-A tap150i0-OUT -p udp -m udp --sport 68 --dport 67 -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -m mac ! --mac-source 4e:62:60:5f:93:de -j DROP
-A tap150i0-OUT -j MARK --set-xmark 0x0/0x80000000
-A tap150i0-OUT -m limit --limit 1/sec -j NFLOG --nflog-prefix ":150:1:tap150i0-OUT: ACCEPT: "
-A tap150i0-OUT -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -g PVEFW-SET-ACCEPT-MARK
-A tap150i0-OUT -m comment --comment "PVESIG:DIY5MgeZA0+FJEjKMorU7Qunr1Q"
