OpenBSD / neuer Router / lokales Routing

CommanderZed

OpenBSD User
Teammitglied
Hallo zusammen,

mein Glasfaseranschluss wurde geschaltet, und ich versuche nun den ja im anderen thread Erwähnten router mit OpenBSD in Betrieb zu nehmen. Zuletzt hatte ich 2008 glaub ich nen OpenBSD als Router, danach nur diverse Plastikkisten ala Fritzbox.

Grundsätzlich funktioniert auch alles, alle Geräte kommen aus den verschiedenen vlans ins Internet, DNS, surfen, Steam, alles wie es soll - außer eine sache:

Lokales routing zwischen den lokalen subnetzen.

Ich erreiche aus dem Subnetz z.B. 192.168.100.0/24 zwar jedes beliebige ziel im internet, aber nicht zb den Client im Subnetz 192.168.110.0/24 (192.168.110.20)

Irgendwie steh ich da total auf dem schlauch, selbst wenn ich pf und den externen link ins internet komplett rausnehme, routet er einfach nicht.

Wenn ich

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

aktiviere sollte doch eigentlich zwischen allen lokalen interfaces geroutet werden, oder überseh ich da etwas und ich muss noch manuelle routen setzen?

Der router kann natürlich sowohl im 192.168.100.0/24 als auch im 192.168.110.0/24 alle erreichen.

Ich kürze hier nen bisschen die Ausgaben auf das wesentliche da ich nicht alle internen Daten hier unbedingt posten möchte, wenn was wichtiges fehlt sagt eben bescheid

ifconfig
Code:
vlan110: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    lladdr fe:e1:ba:d0:93:2b
    index 16 priority 0 llprio 3
    encap: vnetid 110 parent vport0 txprio packet rxprio outer
    groups: vlan
    inet 192.168.110.1 netmask 0xffffff00 broadcast 192.168.110.255

vlan100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    lladdr fe:e1:ba:d0:93:2b
    index 12 priority 0 llprio 3
    encap: vnetid 100 parent vport0 txprio packet rxprio outer
    groups: vlan
    inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255

interfaces
Code:
/etc/hostname.vlan100                                                                
parent vport0
vnetid 100
inet 192.168.100.1 0xffffff00
up

/etc/hostname.vlan110 
parent vport0
vnetid 110
inet 192.168.110.1 0xffffff00
up

/etc/hostname.vport0                                                                 
up

/etc/hostname.veb0                                                                   
add em7
add em6
add vport0
link0
up

Ich hab das gefühl etwas ganz simples zu übersehen :)

LG

Zed
 
Okay, wenn ich das veb0 interface rausnehme und die vlans direkt mit em7 verbinde funktionierts.

Das ist schade, denn eigentlich brauch ich zwei der ports an der Stelle.
 
hi

was willst du, eine bridge mit em6, em7 und vport1
oder ein aggr0 mit em6 und em7 ueber den den dann die vlan laufen ?

holger
 
Ja, genau eine Bridge, damit ich da wo der router steht nicht noch für einen einzelnen host (wlanap) einen vlan-fähigen switch brauche.

Also em7 -> vlan fähiger switch
em6 -> wlan-ap (vlan-fähig)

Auf beiden sollen dann die pakete aus den 6 vlans die ich definiert habe laufen, wie als wäre die openbsdbox auf em6 & 7 ein switch.

Grundsätzlich funktioniert das auch problemfrei soweit ich das gesehen hab, aber sobald ich das so konfiguriert habe funktioniert halt zwischen den vlans das routing durch die openbsd box auf layer 3 nicht - obwohl da für mich "gefühlt" alles gleich aussieht, veb0 und vport0 haben ja keine layer3 Konfiguration.

Sollte ich villeicht lieber bridge statt veb nehmen?
 
hi


also ich verstehe das du 2 interfaces mit getagged vlans hat die an deiner fw terminieren ?
somit muesstes du jeweils vlan interfaces anlegen mit dem entsprechenden parent interfaces.

dann die vlan interfaces mit der gleichen vlanid bridgen.

ggf kannst du in diese bridge dann auch den vport eintragen..

jedoch solltest du dir lieber überlegen den ap an den switch anzuschliessen und den port dem jeweiligen vlan zuweisen.

die beiden interfaces em6 und 7 als aggr interfaces einrichten und dort dann die vlans abgreifen.

holger
 
Der OpenBSD router steht im Keller, mein Switch ist oben im 1. OG und ich hab leider nur eine Leitung da hoch, und meine mitbewohner sind mit der einzelnen schon nicht so glücklich.

An dem em7 ist jetzt der Switch als trunk angeschlossen, ohne bridge o.ä. zu em6 funktioniert das auch problemfrei.

Sobald mein Wunsch-AP von Ubiquiti wieder lieferbar ist möchte ich den AP an em6 anschließen. Dafür braucht er alle VLANs "geswitched" - also auch die Daten die vom Switch oben kommen da dort im vlan 110 die controllersoftware drann hängt.
 
hi


wie schon erwähnt , du musst dann die einzelnen vlans bridge'en nicht die parent interfaces.


holger
 
Okay, ich werde das mal versuchen ... aber ist das nicht doppelte aufwand, anstelle das pakete die auf em7 ankommen und für em6 bestimmt sind einfach durchzureichen müssen die dann ja einmal entpackt und wieder verpackt werden oder ggf. sogar 4x?
 
hi


die bridge weiss ja nix mit den vlan tags des jeweiligen bridge interface anzufangen und
wirft alles in einen pott.


holger
 
Villeicht verstehe ich das auch falsch ... aum em7 kommt ein paket das mit vlan110 getagged ist an das für den ap auf em6 gedacht ist im vlan 110

Wenn ich die VLANs Bridge nimmt openbsd das paket auf em7 an, packt es auf das vlan interface vlan110a, entfernt vermutlich das tag, gibt es über die bridge an das vlan interface vlan110b (mit der gleichen pvid) und das gibt es dann wieder an das em6, oder denk ich da zu "Netzwerkig"? :)

Und auf welchen der beiden 110er konfiguriere ich am besten die ip des routers?
 
als wenn der ap normal angesteuert wird , als er hat ne ip das openbsd hat ne ip , quasi edge oder access mode dann
must du das vlan110 mit den em6 bridge.


hat du aber ein vlan_em7_110 und ein vlan_em6_110 so musst aus diesen beiden vlans eine bridge bauen , nicht mit den
darunter liegenden parent interfaces.

cat hostname.bridge0
add vlan110_em6
add vlan110_em7
add vether0 ( enthält die ip )
up


die ip configurierst du in ein vether interface welches du dann der entsprechenden bridge zuweist . sie auch man bdrige

entscheiden ist ob du auf dem jeweiligen interface getagged vlans übertraegt oder eine normalen access port hast ,
dementsprechend musst du die bridge gestalten.

du kannst nicht hingehen 2 interfaces mit getagged vlans bridgen das die bridge mit den tag nichts anfangen kann.

holger
 
Also das werden zwei unifi APs - einen hab ich schon, der hängt hier "oben" auch schon sauber arbeitend an dem POE-Switch, dort viel mir die vlan-konfiguration auch sehr leicht da ich das gleiche Switchmodell / cli auch beruflich nutze (Aruba 2530)

Ich werde das wie vorgeschlagen mal probieren, dann muss ich halt 5x vlan auf dem em6, 5xvlan auf dem em7 und 5x ne bridge konfigurieren.
 
In der OpenBSD-FAQ findet man zur Orientierung ein schoenes Tutorial: https://www.openbsd.org/faq/pf/example1.html

Jedes Interface bekommt bei z.B. eine eigenes Subnet. em0: Intenet, em1: 192.168.1.0/24, em2: 192.168.2.0/24, athn0: 192.168.3.0/24. Die Netze koennen sich auch untereinander erreichen, wenn man 192.168.0.0/16 aus der martians-Tabelle entfernt.

Mit bridges habe ich nur schlechte Erfahrungen gemacht. Tu dir einen gefallen und gib jedem Inteface ein eigenes Subnet. Das macht das Leben erheblich einfacher.
 
In der OpenBSD-FAQ findet man zur Orientierung ein schoenes Tutorial: https://www.openbsd.org/faq/pf/example1.html

Jedes Interface bekommt bei z.B. eine eigenes Subnet. em0: Intenet, em1: 192.168.1.0/24, em2: 192.168.2.0/24, athn0: 192.168.3.0/24. Die Netze koennen sich auch untereinander erreichen, wenn man 192.168.0.0/16 aus der martians-Tabelle entfernt.

Äh ja, das hatte ich ja gemacht, und funktioniert auch solange man die VLANs nicht über das VEB laufen lässt, und wie geschrieben hatte ich testweise pf auch komplett abgeschaltet.

Mit bridges habe ich nur schlechte Erfahrungen gemacht. Tu dir einen gefallen und gib jedem Inteface ein eigenes Subnet. Das macht das Leben erheblich einfacher.

Das Interface braucht 4 verschiedene subnets / vlans, da der angeschlossene AP ja auch die 4 vlans braucht für die 3 verschiedene wlan-netze + seinen management netz ;)
 
hi

man durchaus bridge'ing nutzen , man muss halt etwas mehr auf die rahmen Bedingungen achten.

Bei veb sollte man immer daran denken , es ist , noch , kein vollwertiger ersatz zu bridge.

und wenn man bei WLAN mir mehreren SSIDs/VLANs und APs kommt man um bridging nicht
wirklich drumherum gerade wenn man themen wie Roaming umsetzen will.

Holger
 
Unterstützt OpenBSD IP-Adressen auf den Membern einer Bridge? Das wäre ungewöhnlich, denn die meisten Bridge-Implementierungen unterstützen IP-Adressen nur auf der Bridge selbst. Alles andere löst Ärger aus, vor allem mit ARP und NDP, von gar nicht durchgehenden Paketen bis hin zu sporadischem "jetzt gehts und jetzt wieder nicht". Es ist auch logisch, da bei Adressen auf den Membern das Bestimmen von eingehendem und ausgehendem Interface schnell zu einem komplexen Problem wird.
 
Ich werde damit mal etwas rumprobieren wenn ich ein Gerät hab um das Trocken hier zu testen :)

Evtl. hat sich die Frage auch dadurch erledigt das ich den ersten AP jetzt hier oben richtig positioniert hab und der äh "leider" schon das ganze Haus gut abdeckt so das ich evtl. auf den zweiten verzichte :)

Aber dann werde ich das trotzdem mal trocken ausprobieren, da bin ich jetzt neugierig
 
Hallo zusammen,

ich wollte hier nochmal kurz ergänzen das ich eine Lösung für das Problem gefunden habe - es war ein ganz banaler Bug der mit 7.1 (nach veb suchen)gefixt wurde.

Sollte jemand mal eine ähnliche konfiguration machen:

1. Für jedes Physikalische interface ein /etc/hostname.interfaceX anlegen mit dem Befehl "up" z.B.

/etc/hostname.em6 & /etc/hostname.em7
up

2. Das veb interface erstellen und dort die physikalischen ports, die vports für die vlans und doe Option link0 hinzufügen
/etc/hostname.veb0
Code:
/etc/hostname.veb0
add em7
add em6
add vport0
add vport2
add vport3
add vport4
link0
up


3. Für jedes vlan interface ein /etc/hostname.vportX anlegen mit dem Befehl "up" z.B.

/etc/hostname.vport0 & /etc/hostname.vport1
up

4. für jedes vlan ein /etc/hostname.vlanxxx anlegen und die ips ggf. konfigurieren

/etc/hostname.vlan100
Code:
parent vport0
vnetid 100
lladdr fe:e1:zz:zz:zz:zz
inet 192.168.XXX.XXX 0xffffff00
up
 
Zurück
Oben