136892
Goto Top

OPNsense VLAN vergibt keine DHCP IP

Hallo,

ich habe das Problem das ich bei einem VLAN Netz, welches ich erstellt habe, keine IP zugewiesen bekomme.

Ich nutzte eine OPNsense Firewall die auf meinem Proxmox läuft.
Ein Interface hängt an der FritzBox fürs WAN und das andere Interface LAN, ist mit dem Cisco SG-200 Switch direkt auf Port 1 verbunden.
Das funktioniert soweit auch gut und bekomme in meinem "normalen" VLAN 1 Netzwerk IPs zugewiesen.
Als Access Point nutze ich einen UniFi-AC-Pro.

Ich habe ein VLAN 10 auf der OPNsense und auf dem Cisco Switch erstellt. Das VLAN 10 soll für Gäste sein.
Davor hatte ich pfSense laufen, damit ging es mit dem VLAN...

So bin ich vorgegangen:
Hier sind ein paar Screenshots:

Das VLAN erstellt und dem Interface zugewiesen.
2021-02-14 18_08_05-assignments _ interfaces _ opnsense.localdomain

Dann das Interface aktiviert und eine Statische IP gegeben (192.168.10.1/24)
2021-02-14 18_07_27-[gast_lan] _ interfaces _ opnsense.localdomain

Dann den DHCP-Server für das VLAN 10 Interface aktiviert
2021-02-14 18_08_45-[gast_lan] _ dhcpv4 _ services _ opnsense.localdomain

Auf dem Cisco Switch habe ich das VLAN 10 als Tagged mal testweise auf allen Ports aktiviert:
2021-02-14 18_15_50-sg 200-18 18-port gigabit smart switch

Dann bin ich auf meinen UniFi AP gegangen.
Zum Test habe ich das WLAN zurzeitig offen gelassen:
2021-02-14 18_13_32-unifi network

Hier ist ein Screenshot wo ich mich auf das UniFi-Gast verbinden möchte:
screenshot_20210214_180717_com.android.settings

Hier habe ich auf meinem Proxmox einen Test-Container erstellt, leider zieht er sich auch eine IP:
2021-02-14 18_10_17-proxmox - proxmox virtual environment
2021-02-14 18_10_32-proxmox - proxmox virtual environment

Hier habe ich noch Ping versuche von meinem PC und vom Cisco Switch, das ging:
2021-02-14 18_09_54-eingabeaufforderung
2021-02-14 18_18_00-sg 200-18 18-port gigabit smart switch

Habt ihr eine Idee an was das liegen könnte?
Bestimmt habe ich etwas übersehen oder falsch konfiguriert..

Das wäre nett face-smile
2021-02-14 18_07_46-[gast_lan] _ interfaces _ opnsense.localdomain

Content-Key: 652103

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

Printed on: May 7, 2024 at 14:05 o'clock

Member: aqui
aqui Feb 14, 2021 updated at 18:33:49 (UTC)
Goto Top
Deine Available DHCP Range von .1 bis .254 ist Unsinn und auch auch gefährlich, denn sie inkludiert die IP Port Adresse der Firewall selber. Dadurch ist ein IP Adresschaos durch Doppelvergabe quasi vorbestimmt.
Als Netzwerker sollte man eigentlich wissen das die Range immer Puffer zum Anfang und Ende haben sollte da dort in der Regel immer die statischen Infrastruktur IP Adressen liegen um so sicher eine Überschneidung zu verhindern.
Setze die Range also von .10 bis .240 und dann wir das auch klappen.
Davor hatte ich pfSense laufen, damit ging es mit dem VLAN...
Und warum bist du dann nicht bei pfSense geblieben ?! Wäre doch die sinnvollste Entscheidung, oder ?! Never touch a running system ! face-wink
Mitglied: 136892
136892 Feb 14, 2021 updated at 19:04:50 (UTC)
Goto Top
Die Range auf die Du dich bezogen hast, ist die "verfügbare Range".
Ich habe die Range von .100 - .200 eingestellt:
2021-02-14 20_00_42-[gast_lan] _ dhcpv4 _ services _ opnsense.localdomain
Member: lcer00
lcer00 Feb 15, 2021 at 06:04:21 (UTC)
Goto Top
Hallo,

Hast Du eingehend DHCP Port 67 und 68 UDP/TCP freigegeben? Standard bei der OPNSense ist eingehend blocken.

Grüße

lcer
Member: Looser27
Looser27 Feb 15, 2021 at 08:15:41 (UTC)
Goto Top
Moin,

in welchem Netzwerk läuft denn der AP?
Ist das unter "Networks" entsprechend konfiguriert?

Ausserdem solltest Du mal auf die letzte Version von Unifi wechseln..... face-wink

Frage zur Cisco-Konfig: Wieso sind alle Ports auf dem Switch als "Trunk" eingetragen?

Gruß

Looser
Mitglied: 136892
136892 Feb 15, 2021 updated at 20:12:41 (UTC)
Goto Top
Das Problem ist das es nicht nur bei dem AP nicht geht, sondern auch nicht im LAN-Netzwerk wie unter Proxmox.

Das mit dem Trunk bei dem Cisco Switch der er selbst konfiguriert.
Ich habe mal einen Netgear Switch genommen. Habe alle Ports von VLAN 10 auf "tagged" gesetzt.
Leider da auch keinen erfolg..

Hier ist die Config:
2021-02-15 21_10_25-netgear gs308e
Member: lcer00
lcer00 Feb 15, 2021 at 20:44:19 (UTC)
Goto Top
Hallo,

Nochmal: passen die Firewallregeln der OPNSense? Du hast so viele Screenshots gepostet, aber die noch nicht.

Grüße

lcer
Member: Looser27
Looser27 Feb 16, 2021 updated at 07:22:04 (UTC)
Goto Top
Läuft Deine OPNSense als VM? (Gerade erst gesehen) Prüfe mal die Einstellungen für die VM. Diese muss auch in beiden VLAN hängen!

passen die Firewallregeln der OPNSense?

Um einen Client über einen AP in ein anderes VLAN zu schieben, brauchst Du (vorrausgesetzt es ist korrekt konfiguriert) keine Firewallregeln.
Member: lcer00
lcer00 Feb 16, 2021 at 07:44:19 (UTC)
Goto Top
Hallo,
Zitat von @Looser27:

Läuft Deine OPNSense als VM? (Gerade erst gesehen) Prüfe mal die Einstellungen für die VM. Diese muss auch in beiden VLAN hängen!

passen die Firewallregeln der OPNSense?

Um einen Client über einen AP in ein anderes VLAN zu schieben, brauchst Du (vorrausgesetzt es ist korrekt konfiguriert) keine Firewallregeln.
DHCP-Server ist die OPNSense, Der Client zieht keine IPs - Natürlich braucht man da Firewallregeln.

Grüße

lcer
Member: Looser27
Looser27 Feb 16, 2021 at 07:58:24 (UTC)
Goto Top
DHCP-Server ist die OPNSense, Der Client zieht keine IPs - Natürlich braucht man da Firewallregeln.

Nope. Ist bei mir auf der pfSense ohne Firewall Regeln konfiguriert. Ebenso im Büro auf der UTM 300.
Member: lcer00
lcer00 Feb 16, 2021 at 08:22:36 (UTC)
Goto Top
Zitat von @Looser27:

DHCP-Server ist die OPNSense, Der Client zieht keine IPs - Natürlich braucht man da Firewallregeln.

Nope. Ist bei mir auf der pfSense ohne Firewall Regeln konfiguriert. Ebenso im Büro auf der UTM 300.
Nun, beides ist keine OPNSense.

Also bei mir habe ich auf der OPNsense nur das DHCP-Relay aktiviert. Dabei sind manuelle Firewallregeln erforderlich, sonst werden die tatsächlich geblockt. Automatische DHCP-Regeln sind nicht eingerichtet. Ob das beim "richtigen" DHCP-Server anders ist, kann ich gerade nicht testen.

Grüße

lcer
Member: aqui
aqui Feb 16, 2021 updated at 09:10:48 (UTC)
Goto Top
Zumindest bei der pfSense ist es so. Der eigene Onboard DHCP Server funktioniert immer auch ohne zusätzliche Regeln am Interface. Das mag aber natürlich bei OPNsense anders sein ?!
Sehr wahrscheinlich ist der Fehler aber das falsche oder fehlende VLAN 10 Tag Handling auf dem internen vSwitch des Hypervisors. Die getaggten VLAN 10 Pakete kommen nicht durch den vSwitch und damit dann auch nicht aus der physischen NIC zum physischen Switch.
Ein einfacher Wireshark Trace hätte das dem TO auf Anhieb ohne lange Rumeierei auch gezeigt ob das VLAN 10 Tag vorhanden ist oder nicht und ob dort überhaupt VLAN 10 getaggte Frames an dem Port auftauchen.
vlanbsp
(Wireshark Beispiel hier mit der VLAN Tag ID 14 statt 10)

Im folgenden Thread sieht man einmal am Beispiel von VmWare was dabei im vSwitch Setup zu beachten ist:
Sophos Software Appliance UTM - VLAN - CISCO SG Series Switches
Mitglied: 136892
136892 Feb 16, 2021 at 16:01:53 (UTC)
Goto Top
Das wäre mir auch neu das man bei den Firewall Regeln en DHCP Dienst freigeben muss. Sonst lief es auch immer ohne Probleme.
Ich nutze als Hypervisor Proxmox. Dort habe ich nichts bei den Interfaces eigestellt, da dort mehrere VLANs (1 und 10) durchgehen, was so auch gut funktionierte.
Ich habe sonst immer jeweils bei der VM bei dem Interface das VLAN eingetragen und dann gings auch schon.

Ich habe mal testweise die Firewall Bare Metal installiert.
Leider gings da auch nicht sowohl WLAN und LAN... Das ist etwas seltsam.
Mitglied: 136892
136892 Feb 16, 2021 at 16:50:56 (UTC)
Goto Top
Es geht jetzt wieder.
Ich habe die pfSense neu installiert und OPNsense gelöscht.

Evlt war die OPNsense version verbuggt..
Member: aqui
aqui Feb 16, 2021 updated at 17:16:22 (UTC)
Goto Top
Ich habe die pfSense neu installiert und OPNsense gelöscht.
Eine kluge Entscheidung will man sich nicht einen Wolf suchen. Das ist leider nicht der einzige Bug oder ungewöhnlicxhes Verhalten was OPNsense hat. In puncto Betriebssicherheit und Stabilität ist bei denen noch Luft nach oben.
Mitglied: 136892
136892 Feb 20, 2021 updated at 18:48:15 (UTC)
Goto Top
Hallo,

leider muss ich das "Ticket" wieder eröffnen,
Ich habe mal pfSense auf einen PC installiert und den mit dem Switch angeschlossen.
Unter Windows 10 habe ich mal einen Wireshark mitschnitt gemacht. Dort macht er eine ARP abfrage wohin er keine antowort bekommt.
Ich bezweifle das es am DHCP Server liegt, da ich ihm manuell eine IP und Gateway gegeben habe und ich nicht ins Internet kann. Regel wurde auch erstellt unter pfSense.

Wiresharkmitschnitt manuelle IP:
2021-02-20 19_43_22-proxmox - proxmox virtual environment

In den Frames ich kein VLAN Tag 802.1Q zu sehen. Sieht so aus das er keinen VLAN Tag bekommt.

Hier die config von Wireshark:
VLAN Capture

Wiresharkmitschnitt DHCP an:
2021-02-20 19_33_18-proxmox - proxmox virtual environment
Member: aqui
aqui Feb 20, 2021 updated at 19:34:19 (UTC)
Goto Top
In den Frames ich kein VLAN Tag 802.1Q zu sehen. Sieht so aus das er keinen VLAN Tag bekommt.
Das kann sein und ist vermutlich auch der Fall.
Das liegt daran das du sehr wahrscheinlich deine LAN Netzwerkkarte nicht so eingestellt hast das sie VLAN Tags anzeigt bzw. an den Wireshark weiterreicht !
Das ist bei den verschiedenen Netzwerkkarten Chipsätzen auch leider sehr unterschiedlich. In der Wireshark Knowledgebase gibt es diverse Einträge dazu:
https://wiki.wireshark.org/CaptureSetup/VLAN#Windows
Bei Intel basierten Karten muss man etwas in der Registry fummeln das es klappt:
https://www.intel.com/content/www/us/en/support/articles/000005498/netwo ...
Vermutlich hast du das vergessen zu aktivieren.
Ein VLAN Capture sollte dann so aussehen. Hier mit VLAN ID 14:
vlansniff14

Nur nochmal zur Klarstellung das du auch keinen Mist misst oben....
Wenn du einen untagged Wireshark Client an einen Firewall Tag Port klemmst dann wirst du VLAN Tags nur dann sehen wenn die Firewall selber Frames aussendet. Dein UNtagged Client kann ja niemals auf Tagged Frames antworten.
Du kannst provozieren das die Firewall etwas auf den getaggten VLANs sendet indem du im "Diagnostics" Menü den Punkt "Ping" klickst und dort einen Ping z.B. auf irgendeine IP in dem VLAN sendest. Wichtig ist das du die Absender IP auf eines der VLAN Interfaces setzt !
Dann solltest du ICMP Echo Request Paket an dem Port mit entsprechendem VLAN Tag sehen sofern dein Rechner richtig customized ist das er diese auch anzeigt. Siehe oben !
Wenn du einen managebaren Switch am Firewall Port hast kannst du dort auch einen Mirror (Spiegel) Port einrichten und den Tagged Switchport an dem die Firewall angeschlossen ist spiegeln.
Das Auswerten des 802.1q Tags am Woireshark Rechner musst du aber natürlich trotzdem machen, denn der Siwtch Mirrorport reicht die Tags ja weiter.

Das oben die ARP Frames nicht beantwortet werden ist komisch. Das darf nicht sein, denn die sind rein Layer 2 und filtert auch keine Firewall.
Das ist eher ein Indiz dafür das du falsch snifferst und (untagged) im falschen VLAN hängst was eigentlich Tags erwartet.
Das ist sehr wahrscheinlich ein UNtagged ARP Request deines Wireshark Rechners der nach der Mac Adresse der Firewall .10.1 fragt.
Der Frame kommt vermutlich niemals bei der Firewall an, weil die diesen ARP Frame mit einem VLAN 10 Tag erwartet um ihm dem VLAN 10 Interface zuordnen zu können. Folglich antwortet sie nicht bzw. kann gar nicht antworten weil sie den Frame ohne den VLAN Tag gar nicht "sieht".
UNgetaggte Frames gehen normal immer per Default nur auf das physische Interface (Parent). Wenn du dort keine IP Adresse gesetzt hast und nur mit getaggten VLANs Interfaces dort arbeitest, werden UNgetaggte Frames an der Firewall generell verworfen ! Klar, denn sie kann dann diese Frames keinem Interface zuordnen.
Es macht also auch immer Sinn dem Parent Interface eine IP zu setzen. Zumindestens fürs Testen des richtigen Taggings.

Ob dein Sniffer VLAN Tags anzeigt oder auch nicht kannst du auch ganz einfach nur mit deinem VLAN Switch checken.
Generiere dir einfach ein Test VLAN z.B. 99 da drauf und ordne dem einen Tagged und einen UNtagged Port zu.
Den UNtagged Port steckst du in dein bestehendes Heimnetz und am Tagged Port misst du mit dem Wireshark.
Den gesamten Broad- und Multicast Traffic deines Heimnetzes muss der Switch dann auch auf den Tagged Port fluten und dort kannst du dann alle diese Broad- und Multicast Pakete des Heimnetzes immer mit einem VLAN 99 Tag sehen.
Wird der Tag nicht angezeigt, dann ist dein Wireshark Rechner bzw. seine Karte nicht richtig customized zur Anzeige des VLAN Tags. (Siehe oben)
Mitglied: 136892
136892 Feb 21, 2021 at 11:02:48 (UTC)
Goto Top
Das Problem wurde jetzt doch "gelöst"
Ich hatte ja meine pfSense als VM laufen was unter Proxmox nicht ging.
Jetzt habe ich es wieder als Bare Metal laufen und jetzt geht das mit den VLANs ohne Probleme.
Dann ist mir aufgefallen das ich unter Proxmox vor 2-3 Tage ein Update gemacht habe. Ich bin mir da sicher das es daran liegt und Proxmox irgendetwas verändert hat.. die frage nur was.

Naja wenigstends läuft es jetzt eben auf eine extra Kiste :=)
Member: aqui
Solution aqui Feb 21, 2021 updated at 11:41:26 (UTC)
Goto Top
pfSense als VM laufen was unter Proxmox nicht ging.
Das ist aber schon sehr merkwürdig, denn unter VmWare und Hyper V rennt das vollkommen fehlerlos wie du ja hier nachlesen kannst:
VLAN mit Cisco SG220, ESXIund Pfsense
Da fällt es verdammt schwer deine Behauptung zu glauben das es gerade unter dem weit verbreiteten Proxmox nicht laufen soll. Zumal das pfSense Forum und auch das Proxmox voll von erfolgreichen pfsense VLAN Setups mit Proxmox ist.
https://forum.netgate.com/topic/157489/kvm-vm-s-vlan-durchreichen
https://forum.netgate.com/topic/110091/solved-proxmox-pfsense-vlan-trunk ...
https://forum.proxmox.com/threads/pfsense-setup.66865/
usw. usw.
Vermutlich hast du den internen OpenvSwitch nicht auf VLAN Support gesetzt ?! Aber, egal, du hast es ja nun eh anders gelöst.

Wenn's das denn nun war bitte dann auch
How can I mark a post as solved?
den Thread auf gelöst setzen !