[SOLVED] DHCP funktioniert nicht über OPNsense

Yann Decay

Member
Mar 28, 2021
31
0
11
Hallo zusammen,

ich brauch unbedingt eure Hilfe da ich schon seit Tagen versuche das zum Laufen zu bekomme und immer wieder scheitere. Habe schon sehr viel dazu gelesen und probiert aber hatte wenn dann nur Teilerfolge.

Ziel ist eigtl ganz simpel: Die OPNsense über Proxmox zu virtualisieren und später über einen AP ein Gästenetz zu spannen.
Dabei möchte das die Sense und der Proxmox im gleichen Netz werkeln (10.0.0.0/27 -> VLAN10)

Mein Problem ist das ich bei jeder Konfig getestet habe es nicht hinbekomme DHCP zum Laufen zu bekommen.

Der AP ist erstmal Nebensache, da ich es ja nicht mal per LAN zum Laufen bekomme das DHCP funktioniert.
Mein Switch ist ein Cisco 2960 und für die Sense nutze ich einen Qotom mit 4 NICs.
Vom Switch gehts per LACP trunk an die Sense.

Ich denke das Problem liegt irgendwo bei der Proxmox Bridge/vlan-Config.
Auf OpenVSwitch wollte ich erstmal verzichten da ich kein Internet für die aptitude install zur Verfügung habe.
Den Cisco Switch würde ich (fast) ausschließen, da dort auf den ersten Blick alles soweit läuft.


Hier dazu die wichtigsten Infos dazu aus der Switch Konfig:

Code:
interface Port-channel1
 switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
 switchport trunk native vlan 100
 switchport mode trunk
!
interface GigabitEthernet0/1
 description Trunk1
 switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
 switchport trunk native vlan 100
 switchport mode trunk
 channel-group 1 mode active
!
interface GigabitEthernet0/2
 description Trunk2
 switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
 switchport trunk native vlan 100
 switchport mode trunk
 channel-group 1 mode active


Jetz meine Proxmox Konfig, mit der ich zumindest aus dem VLAN10 die Sense und Proxmox über den LACP-trunk erreiche:


Code:
auto lo
iface lo inet loopback


auto enp1s0
iface enp1s0 inet manual


auto enp2s0
iface enp2s0 inet manual


auto enp3s0
iface enp3s0 inet manual


auto enp4s0
iface enp4s0 inet manual


auto bond0
iface bond0 inet manual
        bond-slaves enp2s0 enp3s0
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3


auto bond0.10
iface bond0.10 inet manual


auto vmbr0
iface vmbr0 inet static
        address 10.0.0.3/27
        gateway 10.0.0.1
        bridge-ports bond0.10
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094


auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0


Ich hatte es die Tage mal in einer anderen Konstellation am laufen das DHCP über einen access Port am Switch in einem anderen VLAN(60) funktioniert hat,
aber NUR wenn ich der VM das Tag entzogen habe -> ergo war die Maschine nich mehr im VLAN10 und somit die Sense nicht mehr aus dem Management-Netz erreichbar.
Aktuell erhält die Sense VM kein Tag sondern nur vtnet0-vmbr0(lan) und vtnet1-vmbr1(wan).

Auch Tipps wie: In der Sense VLAN Hardware-Filterung zu deaktiveren bzw. ebenso Hardware CRC/TSO/LRO brachte keine Erfolge.
Wie man DHCP über die Sense zur Verfügung stellt weiß ich eigtl. , hat ja auch schon geklappt. Daher schätze ich auch das hier nicht das Problem liegt.

Falls ihr weitere Information benötigt oder doch mal was von der Sense Config sehen wollt, lasst es mich wissen.
Wobei dort alles auf default steht. Habe sogar mal extra allow Regeln in der FW erstellt obwohl das ja eigtl schon ein anderer Layer ist.

Vielen Dank vorab für eure Hilfe :)
 
Mach das VLAN auf die Bridge, nicht auf den Bond.
Und wieso genau ist das abgeschottete Netz (vmbr1) WAN und das nach außen offene (vmbr0) LAN?
 
Wenn du sagst vlan auf die Bridge, wie muss ich das verstehen?

also anstatt dem auto bond0.10 ein auto vmbr0.10? was steht dann beim bridge port von vmbr0? der bond0? oder vmbr0.10?
habe gerade mal beides probiert aber so kann ich den proxmox host nicht mehr erreichen. Wärst du/oder jemand so nett und passt den Code mal an wie es funktionieren müsste?

Wie schaut es dann bei den VM settings aus? Wird da dann ein tag vergeben oder bleibt das wie gehabt auf vmbr0 und vmbr1?

Bezüglich deiner Frage, das ist natürlich quatsch so wie es da steht. ich hatte vmbr1 entfernt und nach dem hinzufügen nicht mehr angepasst. Normal wäre der bridge port hier enp4s0 - da dort das Modem dranhängt. Aber das ist bei meinem Vorhaben ja erstmal Nebensache (denk ich).
 
Last edited:
Ja, richtig. So hab ich das bislang immer gemacht und so funktioniert es auch.
Code:
auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet manual

auto enp2s0
iface enp2s0 inet manual

auto enp3s0
iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves enp2s0 enp3s0
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3

auto vmbr0
iface vmbr0 inet manual
bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

auto vmbr0.10
iface vmbr0.10 inet static
        address 10.0.0.3/27
        gateway 10.0.0.1
       
auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
vmbr0.10 brauchst du nur, wenn auch dein Host in dem Netz sein soll (hattest du ja gewünscht).

Bei den VMs bekommst du nur vmbr0 (und ggf. andere Bridges) angezeigt und musst den Tag dann eintragen.

Wenn du nun vmbr0 mit Tag 10 als vtnet0/WAN einstellst und eine private vmbr als vtnet1/LAN, müsste OPNSense völlig analog zur Installation auf Hardware funktionieren.
 
Leider funktioniert DHCP so immer noch nicht.
Ist nun alles so eingestellt auf Proxmox Seite, erreiche soweit auch alles aus dem VLAN10 aber trotzdem will DHCP einfach nicht laufen.
Habe jetzt auch mal nen Macbook per LAN verbunden und etwaige Probleme mit Windows auszuschließen, aber selbes Resultat. Bekomme nur eine APIPA 169er-Adresse.

Habe sogar die Sense nochmal komplett neu installiert und bisher nur 1 VLAN (vlan60=10.0.6.0/26) anlegt, das zugewiesen und DHCP Range eingestellt sowie aktiviert.

Wenn ich dem Rechner (welcher im VLAN60 steckt) manuell eine IP aus dem Netz vergebe kann ich das Gateway (10.0.6.1) erreichen.
Über die Proxmox Shell kann ich das Gateway auch erreichen.
Allerdings weder vom Proxmox noch von der Sense kanni ich mein Endgerät pingen.

Scheint so als ob der DHCP-broadcast nicht durch kommt.


Hier mal der Status meiner Interfaces auf dem Switch:


switch-int-status.png



Und hier auch mal alle Schritte der DHCP Konfig;


vlan-config.png


vlan-assignment.png


dhcp.png



Was kann ich noch tun? Bin mit meinem Latein am Ende....
Falls noch mehr Infos benötigt werden, lasst es mich wissen.

Danke und Gruß!
 
Ich probiere weiter rum und habe einfach in der Sense beim LAN-interface den DHCP Server aktiviert. und das klappt!
sprich ich bekomme über den switch über einen vlan 10 access port eine IP vom DHCP.

Aber das ist eben das einzige Netz bei dem ich kein DHCP brauche.... sobald ich den switch port ins vlan 60 stecke bekommt er keine IP :/

Wo kann ich jetzt ansetzen?
 
Dann kann das Problem ja aber irgendwie nicht an deiner VM-Config liegen. Wenn es im einen VLAN klappt, muss es auch in ein anderen klappen.
Ist der Switch ordentlich konfiguriert?
 
das ist eine sehr gute Frage. Da steckt womöglich ein Fehler drin, hab nämlich zuvor noch nie einen Switch konfguriert. Daher bitte um Vergebung. Fragen wie: warum hast du das so oder so gemacht, kann ich vermutlich nicht beantworten, daher lieber sagen wie es eigtl sein müsste (was ich vorhabe ist ja bekannt).

Hier mal meine aktuelle Config - bitte mal drüberschauen:


Code:
!
version 15.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CS1
!
boot-start-marker
boot-end-marker
!
no logging console
enable secret 5 *****
enable password *****
!
no aaa new-model
system mtu routing 1500
!
!
ip igmp snooping vlan 100 mrouter learn cgmp
ip igmp snooping vlan 60 mrouter learn cgmp
no ip igmp snooping
!
!
!
!
!
!
crypto pki trustpoint TP-self-signed-****
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-****
revocation-check none
rsakeypair TP-self-signed-3028132992
!
!
crypto pki certificate chain TP-self-signed-****
certificate self-signed 01
    *****

      quit
!
spanning-tree mode rapid-pvst
spanning-tree extend system-id
!
!
vlan configuration 60
  no ip igmp snooping
vlan internal allocation policy ascending
!
!
!
!
!
!
interface Port-channel1
switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
switchport mode trunk
!
interface GigabitEthernet0/1
description Trunk1
switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
switchport mode trunk
channel-group 1 mode active
!
interface GigabitEthernet0/2
description Trunk2
switchport trunk allowed vlan 10,20,30,40,50,60,70,80,90,99
switchport mode trunk
channel-group 1 mode active
!
interface GigabitEthernet0/3
!
interface GigabitEthernet0/4
!
interface GigabitEthernet0/5
switchport access vlan 10
switchport mode access
speed 1000
duplex full
spanning-tree portfast edge
!
interface GigabitEthernet0/6
switchport access vlan 60
switchport mode access
speed 1000
duplex full
spanning-tree portfast edge
!
interface GigabitEthernet0/7
!
interface GigabitEthernet0/8
switchport access vlan 10
switchport mode access
speed 1000
duplex full
!
interface GigabitEthernet0/9
!
interface GigabitEthernet0/10
!
interface Vlan1
no ip address
!
interface Vlan10
ip address 10.0.0.5 255.255.255.224
!
interface Vlan60
no ip address
!
ip default-gateway 10.0.0.1
no ip http server
ip http secure-server
!
!
!
!
line con 0
line vty 0 4
password **********
login
line vty 5 15
password **********
login
!
end
 
Last edited:
Jetzt bin ich zwar kein Cisco-Experte, aber das sieht unspektakulär aus. Wenn du VLAN60 an die Sense weitergibst, steckst du aber auch das Kabel des anderen Geräts entsprechend in den Port 6, ja?
 
ja, ist auch unspektakulär da ich das Teil heute sogar schon resettet habe.

Zu deiner Frage ich habe 2 Geräte hier zum testen, eins dauerhaft im vlan10 - zum managen. das andere hängt am Port 6 mit vlan60. Und wie gesagt, ändere ich das vlan auf Port6 zum vlan 10 - klappt auch DHCP ohne das ich was umstecke/umkonfiguriere...
 
Ich schau mal ob ich irgendwas aus den Logs rauslesen kann.

@noPa$$word
IP helper auf dem Switch würde ich doch eigtl. nur brauchen wenn mein dhcp Server in einem anderen Netz ist, ist er aber nicht. Dann müsste ich aber auch dhcp für die vlans deaktivieren und ein dhcp relay über die sense konfigurieren. Wäre mal ne Idee zum testen, aber müsste ja eigtl auch so funktionieren, zumal es für vlan10 ja klappt...
 
Last edited:
Entschuldige bitte, ich bin kein Meister im Netzwerkverständnis, doch hat mir eine kurze Suche in Google das geliefert:

Definition und Erklärung VLAN - Virtual local area network:​


VLAN ist das Akronym für 'Virtual local area network' (englisch für 'Virtuelles lokales Netzwerk').


Dies sind physikalisch getrennte Netze innerhalb eines großen Netzwerkes. Technisch realisiert werden VLANs durch Switches oder Router, die eine Verbindung der verschiedenen Netzwerke herstellen.

Soweit ich es verstanden habe, arbeitest du mit VLAN10 und VLAN60 am Switch. Meinem Verständnis nach ist es ja Sinn und Zweck die beiden VLANS auf einem Switch zu trennen. Daher arbeitest du meiner Meinung nach in zwei verschiedenen Netzwerken. Cisco Switche selber kenne ich nur dem Namen nach.
 
Das stimmt, das soll ja auch so sein das es verschiedene Netze sind. Dennoch: aktuell laufen 2 DHCP Dienste, einmal LAN - was ja über den Tag10 in der VM das vlan10 ist und einmal vlan60 welches ich ja angelegt habe und entsprechend den dhcp service für dieses vlan aktiviert habe.

also im Endeffekt muss mein Client also kein anderes Vlan erreichen um das dhcp lease zu bekommen, das passiert alles in einem Vlan. Daher benötige ich eigtl auch kein ip helper Eintrag welcher der dem Switch ja nur sagt das der dhcp service in einem anderen Netz liegt, was er aber ja in meiner Konstellation nicht tut....
 
Hm, ich hab grad gesehen, dass du auch in OPNSense das VLAN-Tag eingestellt hast. Wenn du das auch in der VM-Konfig eingetragen hast, ist das vermutlich ein Tag zuviel.
Also entweder das Tag in die VM-Konfig und innerhalb der VM als natives Interface behandeln oder den gesamten vmbr0-Trunk durchreichen und dann in der VM die VLANs definieren.
 
@noPa$$word

also in der Sense noch eine bridge anlegen? Und dann mit bridge0_vlan60 assigned? Hör ich grad zum ersten Mal. In dem thread steht auch gar nix zum Vlan Handling, das verwirrt mich etwas. Hab das mal in verschiedenen Varianten probiert aber hat auch nicht funktioniert.

@ph0x

ja glaube da steckt irgendwo der Fehler, habe nochmal deinen Post gelesen wo du geschrieben hast:

“Wenn du nun vmbr0 mit Tag 10 als vtnet0/WAN einstellst und eine private vmbr als vtnet1/LAN, müsste OPNSense völlig analog zur Installation auf Hardware funktionieren.”

Aktuell ist vtnet0/LAN. Und vtnet1/WAN. also der Bond0=vmbr0-> vtnet0 und hat den Tag 10 damit die Maschine ja weiß welches Tag sie aus dem trunk-bond nehmen soll. Nehme ich das Vlan raus hab ich keine Verbindung mehr zur VM.

kannst du das genauer nochmal beschreiben? Was meinst du mit private vmbr? Wenn ich dem LAN kein Tag mitgebe sondern nur dem WAN kann ich doch die Sense nicht mehr erreichen.

innerhalb der sense selbst hab ich weder das vlan10 angelegt noch verwende ich sonst wo den Tag 10. Hab nur vlan60 angelegt, assigned und dhcp dafür aktiviert.
 
Last edited:
Soooo komme dem Ziel immer näher. bin jetzt so weit wie ich schonmal war. und DHCP funktioniert auf VLAN60

was hab ich gemacht? vlan10 tag aus der VM raus und die OPNsense über die proxmox konsole konfiguriert und für die initiale Verbindung die Verbindung mit VLANS eingerichtet.

snse config.png


So funktioniert jetzt DHCP! ABER ich kann die Sense nicht mehr aus dem VLAN10 anpingen... wenn ich die noch erreichen würde wäre alles gut. Aber so komm ich gar nicht mehr auf die Sense...
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!