ar7cfgctl

Chatty

Aktives Mitglied
Mitglied seit
13 Mrz 2006
Beiträge
1,737
Punkte für Reaktionen
29
Punkte
48
@WileC: Mal angenommen, nach monatelanger Fummelei klappt es endlich... alle (W)LAN-Geräte kommunizieren untereinander und nach außen.... also so, wie sie bereits jetzt in einem Subnetz tun. Daher die berechtigte Frage: Wozu dein Aufwand?
 

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
319
Punkte für Reaktionen
6
Punkte
18
@Chatty weil LAN und WLAN Geräte derzeit in einem einzigen Netz zusammen sind und ich diese beiden Netze je nach Umgebung trennen möchte.

Und monatelange fummelei ist's bei der ar7.cfg auch nicht.. Bridge auflösen und anders zuweisen.. nur noch das "wie genau" wäre eine Expertenfrage.

-- Zusammenführung Doppelpost by stoney

Daher die berechtigte Frage: Wozu dein Aufwand?
Weil ich es so möchte! Weil es ein kleiner Eingriff ist und keine komplett neue Firmware erfordert! Weil es mich interessiert!
 
Zuletzt bearbeitet von einem Moderator:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,099
Punkte für Reaktionen
1,000
Punkte
113
Das Witzige ist, daß es diese Einstellung tatsächlich noch gibt ... die wird normalerweise über "box:settings/lanbridge/activated" gleich "0" aktiviert. Die Datei "net/boxnet.lua" im GUI enthält auch noch den Code, um dann getrennte Eingabefelder für die IP-Einstellungen von LanA, LanB und WLAN anzuzeigen. Nur läßt sich ggf. der "dsld" davon nicht mehr so ohne weiteres überzeugen bzw. parallel zum Setzen dieses Flags, muß man wohl noch einiges anderes ändern, damit der "dsld" dann vielleicht tatsächlich noch die Interfaces trennt. Wie das genau aussehen müßte in der "ar7.cfg", damit der das akzeptiert/versteht, kann ich heute aus dem Kopf auch nicht mehr sagen - in vorhergehenden Versionen hat das aber tatsächlich noch funktioniert, auch wenn die Anzeige schon lange nicht mehr vorhanden ist.

Diese Einstellmöglichkeiten sind auch nicht wirklich durch irgendeine andere Einstellung freischaltbar ... aber wenn man sich die Lua-Quellen ansieht, findet man zumindest schon mal den "Notaus-Schalter", mit dem AVM die Anzeige dieser Optionen unterdrückt (es ist "g_show_all" in der Datei "boxnet.lua") und wenn man den aus dem Spiel nimmt und die geänderte Datei per "bind-mount" ersetzt, sieht die Seite mit den Einstellmöglichkeiten schon mal so aus:
boxnet_lua_with_g_show_all_as_false.PNG
Ich weiß nicht, wie weit das heute noch funktioniert und ich will es auch nicht wirklich selbst erkunden (habe genug andere Baustellen) ... aber vielleicht findest Du da ja sogar eher die von Dir angestrebte Lösung (es gibt irgendwo auch noch eine Option, die ein zweites LAN freischaltet ... keine Ahnung, ob das nur bei Boxen ohne WLAN ist oder es dann doch drei getrennte Netze sein können) in der AVM-Firmware, wenn man nur ein paar Anpassungen vornimmt.

Irgendwas ist da auch noch mit der Anzahl der Ethernet-Schnittstellen (CONFIG_ETH_COUNT aus dem Environment bzw. der "rc.conf"), das in irgendeiner Art und Weise ausgewertet wird - so genau habe ich mir die Logik da jetzt nicht angesehen, aber es könnte sein, daß einige Einstellungen auch nur für Boxen mit 2 Ethernet-Schnittstellen verwendet wurden (da macht dann "LanA", "LanB" und "WLAN" als "nicht gebrückte Interfaces" auch wieder Sinn).

Nur werden dann vermutlich auch nicht mehr die Einstellungen aus "brinterfaces" in der "ar7.cfg" ausgewertet ... alles ggf. Abhängigkeiten, die es zu erkunden gilt und die u.U. auch gar nicht mehr funktionieren in "modernen Boxen". Das Risiko, daß man am Ende da doch nicht weiterkommt, bleibt also bestehen ... ist aber vermutlich immer noch kleiner, als wenn man sich "hinter" den "dsld" klemmen und das alles noch einmal umorganisieren will, nachdem der das eingerichtet hat.
 

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
319
Punkte für Reaktionen
6
Punkte
18
@PeterPawn: vielen lieben Dank für deine Ausführungen. Ich kann Dir sogar teilweise folgen ;)

Wenn ich mir die ar7.cfg so anschaue:

ethinterfaces {
name = "eth0";
dhcp = no;
ipaddr = 192.168.1.1;
netmask = 255.255.255.0;
dstipaddr = 0.0.0.0;
dhcpenabled = no;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = no;
is_hotspot = no;
multicast_snooping = yes;
is_public = no;
} {
name = "eth0:0";
dhcp = no;
ipaddr = 169.254.1.1;
netmask = 255.255.0.0;
dstipaddr = 0.0.0.0;
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = no;
is_hotspot = no;
multicast_snooping = yes;
is_public = no;
} {
name = "wlan";
dhcp = no;
ipaddr = 192.168.182.1;
netmask = 255.255.255.0;
dstipaddr = 0.0.0.0;
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = no;
is_hotspot = no;
multicast_snooping = yes;

is_public = no;
}
findet sich ja hier schon ein extra Interface WLAN mit eigenem IP-Bereich. Nun müsste man doch eigentlich nur noch in der ar7.cfg folgenden Abschnitt bearbeiten:

brinterfaces {
name = "lan";
dhcp = no;
ipaddr = 192.168.1.1;
netmask = 255.255.255.0;
dstipaddr = 0.0.0.0;
interfaces = "eth0", "eth1", "eth2", "eth3", "wlan", "plc";
dhcpenabled = no;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = no;
is_hotspot = no;
multicast_snooping = yes;
is_public = no;
} {
name = "lan:0";
dhcp = no;
ipaddr = 169.254.1.1;
netmask = 255.255.0.0;
dstipaddr = 0.0.0.0;
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = no;
is_hotspot = no;
multicast_snooping = yes;
is_public = no;
} {
name = "guest";
dhcp = no;
ipaddr = 192.168.179.1;
netmask = 255.255.255.0;
dstipaddr = 0.0.0.0;
interfaces = "wlan_guest", "guest_ct*", "guest_st*";
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
is_guest = yes;
is_hotspot = no;
multicast_snooping = yes;
is_public = no;
}[/QOUTE]

Hier müsste man doch eigentlich "nur" das Interface WLAN aus der Bridge entfernen und alles wäre super?! Oder habe ich da einen massiven Denkfehler?

die wird normalerweise über "box:settings/lanbridge/activated" gleich "0" aktiviert. Die Datei "net/boxnet.lua" im GUI enthält auch noch den Code
mittels ctlmgr_ctl kann man diesen wert leider nicht bearbeiten ?! :(
 
Zuletzt bearbeitet:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
13,099
Punkte für Reaktionen
1,000
Punkte
113
mittels ctlmgr_ctl kann man diesen wert leider nicht bearbeiten ?!
Frage oder Feststellung? Entscheide Dich.

Bei Frage: Warum probierst Du es nicht einfach, den zumindest mal auszulesen? Manchmal ist es sogar sinnvoll, den Wert der oben erwähnten Variablen "g_show_all" in der Lua-Seite auf der Basis des aktuellen Wertes für diese Einstellung zu setzen. Diese Seite enthält zwar auch schon eine entsprechende Abfrage, aber dort wird nur der Zustand der Checkbox für die "Alle in einem Netz"-Option vorbelegt.

Bei Feststellung: Keine Ahnung, wo und womit Du das festgestellt hast - bei mir ist das auf einer 113.07.19-75160 ohne weiteres zu ändern und der "dsld" reagiert auch (sichtbar in der Console) auf diese Änderung. Wie die sich am Ende auswirkt und ob das erwartete Ergebnis eintritt, WILL ich - wie geschrieben - gar nicht selbst untersuchen ... das war der Teil mit der Feststellung, daß MAN da einigermaßen zu tun hat, diese beiden Zustände (activated=0 vs. activated=1) zu vergleichen und seine eigenen Schlußfolgerungen zu ziehen.

Zu den Abschnitten in der "ar7.cfg": Nach meiner Interpretation ist es genau von "lanbridge/activated" abhängig, WOHER der "dsld" die Konfiguration der Interfaces bezieht - bei "activated=0" eher nicht mehr aus dem "brinterfaces"-Abschnitt, wie ich schon oben schrieb. Für mich sind die - bis zum Beweis des Gegenteils - unabhängig voneinander und es wird jeweils nur einer genutzt, in Abhängigkeit vom "Modus". Aber das geht auch schon wieder in die Richtung "Testen" und dazu habe ich eben keine Lust. Daher sieh das bitte alles nur als "Spekulation" und als Hinweise auf mögliche, aber nicht zwingende oder von früher bekannte und ggf. inzwischen auch aufgehobene, Zusammenhänge.

EDIT: Satz oben gestrichen ... bei der derzeitigen Logik in der Seite würde das darauf hinauslaufen, daß bei eingeschalteter "lanbridge"-Option die Checkbox zum Ausschalten nicht mehr vorhanden ist bzw. nicht mehr angezeigt wird. Das braucht also weitere Änderungen und die feste Einstellung von "g_show_all" auf "false" ist beim derzeitigen Aufbau der Lua-Seite die bessere Wahl.