Ubiquiti ERX mit Gluon: Tuning der Switch Config

Hallo in die Runde,

an einem besonders zentralen Node im Ort habe ich einen Ubiquiti ERX, hinter dem drei Richtfunkstrecken hängen (NanostationNSL5AC). Am Ende der Richtfunkstrecken hängen jeweils Unifis AP AC Pro mit Gluon FW.

Das Setup an sich funktioniert, hat aber das Problem, dass sich alle Nodes „sehen“ - und einiges an Management-Traffic produzieren.

Ich würde daher gerne an dem zentralen ERX (z.B. über die /etc/config/network) die Switch-Config so ändern, dass zwar jede Richtfunkstrecke den den zentralen ERX sieht, die Richtfunkstrecken an sich sich aber nicht gegenseitig sehen können.

Kann mir jemand einen Hinweis geben, wie ich das Problem am besten lösen kann?

Gruß,
Cpt. Andi

Man könnte hier jetzt was zum Thema „Gluon“ schreiben.
Was für eine Software läuft auf dem ERX? Du schreibst nur etwas zu den „Gegenstellen“.
Dort ist aber nur schwerlich etwas zu machen, sofern man nicht mit ganz harten EB-Tables-Rules arbeitet auf „exakt den ERX“ gematched.

ERX: gluon-v2019.1.1+
Unifi APs: gluon-v2018.2.1+

Dazwischen hängen die NSL5ACs mit Stock-Firmware - völlig transparent für die APs.

Wenn sich alle NSL5AC mit dem selben AP verbinden, sollten sich die drei Strecken ganz einfach voneinander trennen lassen indem man im zentralen NSL5AC die Client Isolation einschaltet. Dadurch sollte die Wolke in 3 Teilwolken zerfallen, die jeweils nur noch den ERX sehen.
Wenn es drei getrennte Strecken sind (3x AP und 3x Client) ist es deutlich schwieriger.
mfg Christian

Besten Dank für den Ansatz. Topologisch bedingt sind es drei getrennte Strecken - es wird also deutlich schwieriger. Daher auch meine Überlegung, ob sich der Switch am ERX hart umkonfigurieren lässt.

Ansonsten sehe ich nur noch die Alternative, dass ich einen normalen Router nehme (z.B. ERX mit Stock-FW), dessen WAN nat’te, es dann per untagged VLAN auf die Richtfunkstrecken gebe und am Ende jeder Strecke einen FF-ERX vor die APs schalte. Etwas umständlicher und teuerer, müsste aber funktionieren.

Gruß,
Cpt. Andi

Ich habe das jetzt hier mal bei einem ERX gemacht.

grafik

in die /etc/rc.local habe ich vor das „exit 0“ eingefügt:

if ( ! batctl if|grep eth0.5 ) ; then 
  echo reinstalling mesh-lan-separation
  uci set network.@switch_vlan[0]=switch_vlan
  uci set network.@switch_vlan[0].device='switch0'
  uci set network.@switch_vlan[0].vlan='1'
  uci set network.@switch_vlan[0].ports='1 6t'
  
  uci set network.@switch_vlan[1]=switch_vlan
  uci set network.@switch_vlan[1].device='switch0'
  uci set network.@switch_vlan[1].vlan='2'
  uci set network.@switch_vlan[1].ports='0 6t'
  
  uci set network.@switch_vlan[2]=switch_vlan
  uci set network.@switch_vlan[2].device='switch0'
  uci set network.@switch_vlan[2].vlan='3'
  uci set network.@switch_vlan[2].ports='2 6t'
  
  uci set network.@switch_vlan[3]=switch_vlan
  uci set network.@switch_vlan[3].device='switch0'
  uci set network.@switch_vlan[3].vlan='4'
  uci set network.@switch_vlan[3].ports='3 6t'
  
  uci set network.@switch_vlan[4]=switch_vlan
  uci set network.@switch_vlan[4].device='switch0'
  uci set network.@switch_vlan[4].vlan='5'
  uci set network.@switch_vlan[4].ports='4 6t'
    
  uci set network.mesh_lan=interface
  uci set network.mesh_lan.igmp_snooping='0'
  uci set network.mesh_lan.ifname='eth0.1'
  uci set network.mesh_lan.index='4'
  uci set network.mesh_lan.proto='gluon_wired'
  uci set network.mesh_lan.transitive='1'
  uci set network.mesh_lan.macaddr=$(echo 1$(uci show network.bat0.macaddr)|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
  uci set network.mesh_lan.disabled='0'
  
  uci set network.mesh_lan2=interface
  uci set network.mesh_lan2.igmp_snooping='0'
  uci set network.mesh_lan2.ifname='eth0.3'
  uci set network.mesh_lan2.index='4'
  uci set network.mesh_lan2.proto='gluon_wired'
  uci set network.mesh_lan2.transitive='1'
  uci set network.mesh_lan2.macaddr=$(echo 1$(uci show network.bat0.macaddr)|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
  uci set network.mesh_lan2.disabled='0'
  
  uci set network.mesh_lan3=interface
  uci set network.mesh_lan3.igmp_snooping='0'
  uci set network.mesh_lan3.ifname='eth0.4'
  uci set network.mesh_lan3.index='4'
  uci set network.mesh_lan3.proto='gluon_wired'
  uci set network.mesh_lan3.transitive='1'
  uci set network.mesh_lan3.macaddr=$(echo 1$(uci show network.bat0.macaddr)|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
  uci set network.mesh_lan3.disabled='0'
  
  uci set network.mesh_lan4=interface
  uci set network.mesh_lan4.igmp_snooping='0'
  uci set network.mesh_lan4.ifname='eth0.5'
  uci set network.mesh_lan4.index='4'
  uci set network.mesh_lan4.proto='gluon_wired'
  uci set network.mesh_lan4.transitive='1'
  uci set network.mesh_lan4.macaddr=$(echo 1$(uci show network.bat0.macaddr)|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
  uci set network.mesh_lan4.disabled='0'
  
  uci set network.mesh_lan.ifname='eth0.1'
  uci set network.mesh_lan2.ifname='eth0.3'
  uci set network.mesh_lan3.ifname='eth0.4'
  uci set network.mesh_lan4.ifname='eth0.5'

  uci commit network
  echo switch separation complete
  sleep 2
  reboot 
 fi

warum so umständlich: Damit nach einem FW-Update das wiederhergestellt wird.

5 Likes

Besten Dank für die Rückmeldung. Genau das ist die Lösung, die ich erhofft habe. Besten Dank :smiley:

Hallo Adorfer,

erstmal: vielen Dank, dass du dir für dieses Problem die Zeit genommen hast. Ich habe heute deine Lösung nachstellen wollen… und bin an meine Grenzen gestoßen.

Beim manuellen Abarbeiten deiner Config scheitert es bei mir hier:

uci set network.@switch_vlan[2].device='switch0'

Diese Codezeile führt zu einem „uci: invalid argument“ Fehler. Was übersehe ich da?

„Übersehen“ tue ich sicherlich auch noch etwas - und zwar eth0.2. Warum überspringst du das Device in deiner Config - oder anders gefragt: hängt an dem dein WAN-Kabel?

Last but not least: warum bekommt vlan 2 in deinem Config-Beispiel den Port 0 zugewiesen? Ich durchschaue die Systematik leider nicht.

Noobie-Fragen über Fragen… :smile:

Würde mich freuen, wenn du mir noch einmal auf die Sprünge helfen könntest. Genutzt habe ich den „normalen“ kleinen Ubiquiti ERX mit 5 Ports.

Gruß,
Cpt. Andi