spartacus
Goto Top

Microtik OS 6.44.1 VLAN Probleme

Hallo zusammen,
ich habe vor einiger Zeit meinen RB3011 mit VLANs konfiguriert. Damals unter 6.41 nach der Anleitung hier im Forum.

Anleitung

Das hat soweit auch funktioniert und die VLANs waren gegenseitig abgeschottet, dass heißt, die Subnetzte konnten sich untereinander nicht sehen. Das war auch so gewollt.

Über eine Liste und eine Regel:

add action=accept chain=forward comment=\
    "Allow inter VLAN communication with VLAN friends" dst-address-list=\  
    VlanFriends in-interface-list=LAN src-address-list=VlanFriends

hatten diverse Subnetzte Zugriff.

Seitdem ist an der Konfiguration nichts geändert worden. Anfang der Woche habe ich festgestellt, dass die Subnetzte sich auch ohne diese Regel sehen können. Das einzige was ich regelmäßig gemacht habe ist ein OS Update und inzwischen läuft 6.44.1 auf der Kiste. Mir ist aufgefallen, dass sich in den Bridge Einstellungen zum VLAN etwas verändert hat und ich verstehe nicht ganz, ob das ggf. damit zusammenhängt.

Hier ein Screenshot:

rb3011

Kann mir jemand hier weiterhelfen? Was kann die Ursache dieses Verhaltens sein? An den FW Regeln liegt es nicht, denn selbst wenn ich alle Regeln entferne, können sich die subnetzte sehen. Es kann m.E. nur mit der VLAN Konfiguration zusammenhängen und daran ist seit der Erstkonfiguration nichts geändert worden. Lediglich die neuen Optionen stehen noch auf Default (Screenshot)

Content-Key: 431488

Url: https://administrator.de/contentid/431488

Printed on: February 22, 2024 at 04:02 o'clock

Member: aqui
Solution aqui Mar 22, 2019 updated at 11:10:48 (UTC)
Goto Top
Das hat soweit auch funktioniert und die VLANs waren gegenseitig abgeschottet, dass heißt, die Szbnetzte konnten sich untereinander nicht sehen.
Sorry, aber dann hast du dich NICHT nach der o.a. Anleitung gerichtet.
Diese definiert ja klar IP Adressen für jedes VLAN auf dem MT OHNE eine Firewall Regel.
Damit können sich dann mit der Grundkonfiguration alle VLANs ohne jegliche Einschränkung per IP Routing erreichen. Das ist also völlig normales Verhalten ! Möglich also das du hier einen Denkfehler begehst ?!
Wenn du das NICHT willst oder nur eingeschränkt Dienste in bestimmten VLANs erreichbar haben, dann musst du das mit entsprechenden Firewall Regel einschränken wer was wohin darf.
Oder die radikale Lösung indem du KEINE IP Adressen in den VLAN setzt, dann ist das VLAN wirklich vollkommen isoliert.
Generell ist , wie oben schon gesagt, alles erlaubt.
Vermutlich hast du dann aber eigene FW Regeln konfiguriert, kann das sein ?
Wenn deine Regel nicht greift, dann ist du einen Konfig Fehler in der Regel selber ! Die solltest du dann nochmal überprüfen !
(P.S.: Eine "Anleizung" ist was anderes face-wink (Bearbeiten Button korrigiert diesen Rechtschreib Fauxpas))
Member: Spartacus
Spartacus Mar 22, 2019 at 11:56:59 (UTC)
Goto Top
Hi aqui,
danke für Dein Feedback und ja, möglicherweise habe ich mich vertan, ist auch schon ne Weile her. Fakt ist aber, dass es mal gegeht hat und ich mich nicht erinnern kann, dass ich hier etwas an den Regeln verändert habe. Du bist Dir also sicher, es muss an den FW-Regeln liegen, richtig? Ich habe hier mal den aktuellen stand extrahiert. Die VLAN Friends-Regel ist aktuell deaktiviert. Meine Erwartung ist, dass kein VLAN das andere sieht. Aber leider ist das nicht der Fall, alle sehen alle VLANs und offenbar scheint hier etwas zu fehlen.

Die Liste VLANFriends enthält alle Sub-Netze, die sich sehen dürfen im Format: 172.xx.xx.0/24
Ich danke Dir für Deinen support,
Christian

/interface list
add name=LAN
add name=MAC-WinBox
add name="Sonos Control"  
add name=IPTV
add include=all name=WAN

/interface list member
add comment=Elementmedia interface=ether1 list=WAN
add comment=Admin interface=vlan1 list=LAN
add comment=Office interface=vlan10 list=LAN
add comment=VoiP interface=vlan20 list=LAN
add comment=FritzBox interface=vlan99 list=LAN
add interface=ether8 list=MAC-WinBox
add comment=Sonos interface=vlan30 list=LAN
add comment=IPTV interface=vlan40 list=LAN
add comment=SmartHome interface=vlan50 list=LAN
add comment=WLAN interface=vlan60 list=LAN
add comment=Gast interface=vlan70 list=LAN
add comment=Gaming interface=vlan80 list=LAN
add comment=SONOS disabled=yes interface=vlan99 list="Sonos Control"  
add comment=SONOS interface=vlan60 list="Sonos Control"  
add comment=SONOS interface=vlan10 list="Sonos Control"  
add interface=vlan10 list=IPTV
add interface=vlan40 list=IPTV
add interface=vlan60 list=IPTV
add comment=SONOS interface=vlan50 list="Sonos Control"  


/ip firewall filter
add action=accept chain=input comment="accept established,related" \  
    connection-state=established,related
add action=drop chain=input comment="drop invalid" connection-state=invalid  
add action=accept chain=input comment="VPN: allow ESP" in-interface-list=WAN \  
    protocol=ipsec-esp
add action=accept chain=input comment="allow AdminSubnet" in-interface-list=\  
    LAN src-address-list=AdminSubnet
add action=accept chain=input comment="Allow LAN DNS queries-TCP" dst-port=53 \  
    in-interface-list=LAN protocol=tcp
add action=accept chain=input comment="Allow LAN DNS queries-UDP" dst-port=53 \  
    in-interface-list=LAN protocol=udp
add action=accept chain=input comment="Allow LAN NTP queries" dst-port=123 \  
    in-interface-list=LAN protocol=udp
add action=drop chain=input comment=" drop everything"  
add action=fasttrack-connection chain=forward comment=\
    " fasttrack established,related" connection-state=established,related  
add action=accept chain=forward comment=" accept established,related" \  
    connection-state=established,related
add action=drop chain=forward comment="prevent SPAM" dst-port=25 \  
    in-interface-list=LAN out-interface-list=WAN protocol=tcp
add action=drop chain=forward comment="drop invalid" connection-state=invalid  
add action=accept chain=forward comment=\
    "SONOS. Forward UPnP Device Discovery events from Players" in-interface=\  
    vlan30 out-interface-list="Sonos Control" port=1900,1901,6969 protocol=\  
    udp
add action=accept chain=forward comment=\
    "SONOS: Forward Contoller events  from Players" in-interface-list=\  
    "Sonos Control" log=yes log-prefix=FromPlayer out-interface=vlan30 port=\  
    3400,3401,3500,4444,4070,5353 protocol=tcp
add action=accept chain=forward comment=\
    "SONOS: forward  Controller events to Players" dst-port="" in-interface=\  
    vlan30 log-prefix=ToPlayer out-interface-list="Sonos Control" port=\  
    3400,3401,3500,4444,4070,5353 protocol=tcp
add action=accept chain=forward comment=\
    "accept Internet Access from \"Allow WAN\"" in-interface-list=LAN \  
    out-interface-list=WAN src-address-list=AlllowWAN
add action=accept chain=forward comment=\
    "Allow inter VLAN communication with VLAN friends" disabled=yes \  
    dst-address-list=VlanFriends in-interface-list=LAN src-address-list=\
    VlanFriends
add action=drop chain=forward comment="drop everything" log=yes log-prefix=\  
    drop

/ip firewall nat
add action=redirect chain=dstnat comment=\
    "Force Users to Router for DNS - TCP" dst-port=53 protocol=tcp  
add action=redirect chain=dstnat comment=\
    "Force Users to Router for DNS - UDP" dst-port=53 protocol=udp  
add action=masquerade chain=srcnat comment="masquerade LAN->WAN" \  
    out-interface=ether1 src-address-type=""  
Member: aqui
aqui Mar 22, 2019 updated at 15:22:25 (UTC)
Goto Top
möglicherweise habe ich mich vertan, ist auch schon ne Weile her.
Nicht nur möglicherweise sondern ganz sicher. Liest das Tutorial... face-wink
dass es mal gegeht hat
Autsch... ! Du meinst sicher...das es mal funktioniert hat, richtig ?
Aber niemals mit einer VLAN Isolation !
Das ist ja auch logisch, da das Tutorial KEINE Anleitung für ein Regelwerk der Firewalls hat. Jedenfalls nocht nicht...
Es ist aber ein guter Punkt das man das ggf. dort nochmal aufnimmt. Ich nehme das mal als Anregung hin.
So wie das Tutorial aber die Konfig beschreibt gibt es de facto keine Isolation, da es keine Firewall Regeln gibt.
Du bist Dir also sicher, es muss an den FW-Regeln liegen, richtig?
Absolut sicher !
Sieh dir das doch selber an !! Die Firewall ist doch für alle VLANs auf Durchlass gestellt !
Meine Erwartung ist, dass kein VLAN das andere sieht.
Nein, diese Erwartung ist jedenfalls in Bezug auf das o.a. Tutorial vollkommen falsch !
Ist ja auch logisch !
Wenn du so willst konfiguriert man den Mikrotik ja als einfachen Layer 3 (Routing) Switch mit einer "any to any allow" Regel in der Firewall.
Wie sollte das also die VLANs isolieren. Erkennst du sicher auch selber, oder ?
alle sehen alle VLANs und offenbar scheint hier etwas zu fehlen.
Nein, Denkfehler !
Works as designed. Wie oben schon mehrfach gesagt: Die FW forwardet alles aus allen VLANs und es gibt keine Regeln in der FW die irgendwas blocken !
Deshalb kann ja auch jeder mit jedem.
Die o.a. Regeln sind von dir selber, was ja auch absolut OK ist will man die Kommunikation einschränken ! Das Tutorial beschreibt diese de facto nicht !!
Fazit:
Deine FW Regel ist schlicht und einfach falsch.
Tip: Es würde übersichtlicher sein du postest das Regelwerk mal als WinBox Screenshot, das ist übersichtlicher als die schnöde Liste der Konfig.
Member: Spartacus
Spartacus Mar 22, 2019 updated at 17:21:52 (UTC)
Goto Top
Hallo aqui,
danke fürs Feedback. Ja, das Tut. beschreibt diese Funktionsweise nicht. Was ich sagen wollte war auch nur, dass ich die VLAN-Konfiguration via Tut durchgeführt hatte. Wahrscheinlich gab es eine Regel, die den "Inter-VLAN"-Traffic unterbunden hat, allerdings bin ich mir sicher, dass ich nichts gelöscht habe. Zumindest nicht bewusst.

wie dem auch sei. Die VLANs sollen sich gegenseitig nicht sehen. Und so wie ich es bisher verstanden hatte, macht man dass mit einer Drop-Regel. Diese sollte dann m.E. in der Forward-Chain sein. Diese Regel gibt es eigentlich auch (Zeile 25), daher verstehe ich nicht, warum es nicht geht.

Hier mal der Screenshot des FW-Regelwerks. Ich finde es nicht übersichtlicher, aber ggf. verwende ich auch eine falsche Ansicht.
Bitte schaue doch mal drauf, wo hier der Fehler ist.

Danke und Gruß,
Christian
fwrule
Member: aqui
aqui Mar 23, 2019 updated at 13:57:50 (UTC)
Goto Top
Wahrscheinlich gab es eine Regel, die den "Inter-VLAN"-Traffic unterbunden hat,
Nochmals...NEIN ! Im Tutorial wenigstens gab es die nicht. Gut möglich aber das du sie selber integriert hast. Das ist natürlich möglich. Aber ok...Haken dran.
Die VLANs sollen sich gegenseitig nicht sehen.
OK, dann musst du natürlich zwangsweise mit IP Regeln in der Forward Chain arbeiten, klar !
Das sie nicht greift könnte daran liegen das es zuvor schon mal einen Hit gegeben hat.
Bei der Firewall gilt immer "First match wins !". Sprich der erste Hit bewirkt das die folgenden Regeln nicht mehr abgearbeitet werden.
Ich checke das gerade mal am Tutorial Test Aufbau...
Member: aqui
aqui Mar 24, 2019 updated at 10:10:05 (UTC)
Goto Top
Im Grunde ist es ganz einfach. Du musst nur die entsprechenden Regeln im Firewall Setting ergänzen.
Hier am Beispiel von VLAN 20 was man z.B. als Gast VLAN komplett isolieren will.
Man kann wahlweise 2 Optionen setzen, entweder das Blocking über die IP Netzwerk Adresse:
fw1

Oder über das Interface:
fw2

Natürlich dann bidirektional das von VLAN-20 nichts ins VLAN 1 geht:
fw3

Was mir auch nicht ganz klar ist warum das sein muss ??
Eigentlich sollte die Regel "Alles aus VLAN 1 ins VLAN 20 wird geblockt eigentlich reichen. Interessanterwiese beeinflusst das aber z.B. keine Pings von 20 nach 1. Das Echo Reply Paket was dann von 1 nach 20 zurück geht sollte eigentlich auch an der FW hängen bleiben, was es aber nicht tut. Möglich das die FW hier eine "Intelligenz" mitbringt und das Replay Paket passieren lässt, was aber komisch ist denn bei ICMP gibt es kein Stateful.
Das Warum verstehe ich da im Moment auch noch nicht ganz, aber eine Block Regel in die andere Richtung macht dem dann auch den Garaus.

Das letzte kann man natürlich etwas eleganter machen um nicht ALLE VLANs hier einzeln reinzubringen.
Das geht indem man ein "!" vors VLAN 20 Interface setzt. Das heisst dann alles außer VLAN 20.
Alternativ geht das auch über eine Interface Liste die man erstellt. Oder eine Adress Liste geht natürlich auch wenn man statt Interfaces über IP Netzadressen filtert.
Granularer kann man es natürlich auch noch machen wenn man die Protokoll Ports dazunimmt.
Oben ist nur das generelle Prinzip erklärt.
Member: Spartacus
Spartacus Mar 25, 2019 at 11:25:01 (UTC)
Goto Top
Hi aqui,
ich habe den Fehler gefunden!
Irgendwie hat sich da etwas in die Interface-List eigeschlichen, was da nicht hingehört. Nachdem ich das "all" entfernt habe, funktioniert es wieder so, wie es soll.

fw

aktuell sehen die FW-Regeln jetzt so aus.

fwrule

Das gegenseitige verriegeln der VLANs ist jetzt über die Drop-Regel gewährleistet und ich lasse Kommunikation zwischen einzelnen VLANs gezielt über die Liste VLANFriends zu, frei nach dem Prinzip, "es ist alles verboten, was nicht explizit erlaubt ist". Das ist m.E. flexibler zu handhaben, oder spricht etwas dagegen?

Christian
Member: aqui
aqui Mar 25, 2019 at 13:08:55 (UTC)
Goto Top
Nein, in der Gestaltung deiner Regeln bist du frei... face-wink