Fritz!Box 6490 WLan separieren brctl

MSN

Neuer User
Mitglied seit
27 Jan 2014
Beiträge
55
Punkte für Reaktionen
0
Punkte
6
Hi!
ich würde gerne die Rot eingezeichneten Verbindungen in der FB realisieren:
Home.png

Also mal fix eine neue bridge eingerichtet:

Code:
/usr/sbin/brctl addbr internal
/usr/sbin/brctl delif lan ath0
/usr/sbin/brctl delif lan ath1
/usr/sbin/brctl delif lan eth2
/usr/sbin/brctl addif internal ath0
/usr/sbin/brctl addif internal ath1
/usr/sbin/brctl addif internal eth2

Und zack - das wlan war getrennt... also auf allen Endgeräten. Was per kabel angeschlossen ist funktioniert weiterhin ohne probleme, nur das wlan funktioniert so nicht mehr - alle Geräte zeigen authentifizierungsfehler.

Hat jemand eine idee woran das liegt?

FritzOS ist 6.83
DHCP macht pfsense, sollte also auch nicht daran liegen, dass windows nicht zwischen keiner ip und auth fehler unterscheiden kann.

Gruß,

Marc
 
Aus dem Bauch heraus würde ich sagen dass der wland Prozess Dir in die Suppe spuckt.

Steht in /var/tmp/wland_support.log was besonderes?
 
Wenn man schon eine eigene zweite Bridge einrichten will (gut, mit "guest" ist es dann die dritte), würde ich das eher über die "ar7.cfg" in Angriff nehmen ... daraufhin baut der "(k)dsld" dann (auch wenn er so heißt, hat er mit DSL erst mal nichts zu tun) die passende Switch- und Bridge-Konfiguration und der sollte dann auch dafür sorgen, daß die notwendigen Dienste richtig an die entsprechenden Interfaces (oder direkt an die Bridge selbst) gebunden sind.
 
Steht in /var/tmp/wland_support.log was besonderes?

nein da passiert garnichts drin!


über die "ar7.cfg" in Angriff nehmen
hab ich mal probiert:
Code:
         brinterfaces {
                name = "lan";
                dhcp = no;
                ipaddr = 192.168.55.1;
                netmask = 255.255.0.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth0", "eth1", "eth3";
                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 = "internal";
                dhcp = no;
                ipaddr = 192.168.1.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth2", "ath?", "wdsup?";
                dhcpenabled = no;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
                is_guest = no;
                is_hotspot = no;
                multicast_snooping = yes;
                is_public = no;
        }  ....
er baut mir dann auch was schönes:
Code:
# ip route
......
192.168.1.0/24 dev internal  src 192.168.1.1
......
# /usr/sbin/brctl show
bridge name     bridge id               STP enabled     interfaces
lan             8000.9cc7a6ff4f19       no              eth0
                                                                         eth1
guest         8000.9cc7a6ff4f19       no              eth3
                                                                        guest4
                                                                        guest5
internal      8000.9cc7a6ff4f1b       no              eth2
                                                                        ath0
                                                                        ath1

Ich komme aber zum selben ergebnis. lan ist intakt, wlan hat keine authentifizierung mehr. ich habe auch mal DHCP auf der bridge an gemacht, hilft aber auch nicht.

grüße,

Marc
 
wlan hat keine authentifizierung mehr
Was heißt das genau?

Wenn man - wie Du - das Interface komplett umbenennt (bzw. die Bridge), muß man sich vermutlich auch noch zusätzlich durch die WLAN-Einstellungen hangeln ... wobei ich auch nicht genau weiß, wie weit man das jetzt anpassen kann. Aber schon die WLAN-Interfaces in der "guest"-Bridge haben ja einen anderen WPA2-PSK - irgendwo muß es also auch noch eine "Verbindung" zwischen Interfaces und zu verwendendem PSK geben. Allerdings ist das wohl bei der 6490 tatsächlich beim 2,4 GHz- und beim 5 GHz-WLAN jeweils an "ath0" und "ath1" gebunden ... aber bei den "guest4"- bzw. "guest5"-Interfaces (die ja zusammen in der "guest"-Bridge wirken) dann auch noch einmal an "virtuelle" Interfaces als Slave auf einem anderen Master.

Funktionieren denn die "guestX"-Interfaces noch, nachdem Du die Bridges umkonfiguriert hast? Man kann ja auch den Management-Traffic im WLAN mal mitschneiden auf der Box und schauen, was da wirklich fehlt ... vor der "richtigen" Authentifizierung gibt es ja noch jede Menge anderen Traffic ("assoc" z.B.) und die Informationen, wie weit die "Ausfälle" da wirklich gehen, läßt einen ja genauer spekulieren.
 
irgendwo muß es also auch noch eine "Verbindung" zwischen Interfaces und zu verwendendem PSK geben.

in der tmp/wlan_dynamic.cfg (die vermutlich von /sbin/wland erstellt wird? ist jedenfall die einzige binary, die den string wlan_dynamic.cfg enthält... ) stehen solche dinge wie:
Code:
role_4 {
     id = 4;
     enabled = 1;
     description = "Guest Access Point 5G";
     station_type = AP;
     operation_mode = GUEST;
     radio_band = "5GHz";
     ctrl_if_name = "guest5";
     data_if_name = "guest5";
     mac_id = 2;
     state = 0;
     slave {
          vlan_id = 6;
          network_type = guest;
          auto_settings = 0;
          ssid = "FRITZ!Box Gastzugang";
          power_level = 1;
          wlan_mode = ac;
          security = wpa2-psk;
          key_id = 0;
          timeout_active = no;
          timeout_minutes = 30;
          force_off = no;
          wps_enable = no;
          wps_devicename = "FBox";
          wps_device_password = "00000000";
          wps_uuid = "A9383E6E-BB02-845A-DF64-9D47C86CFA7B";
          wps_version = 16;
          wps_config_methods_supported = "Display";
          wps_config_methods_enabled = "Display";
          wps_setup_locked_state = Unlocked;
          wps_setup_lock = no;
          wps_configuration_state = Configured;
          wps_last_configuration_error = NoError;
          bridge_mode = bridge-none;
          password = "SECRET";
          key_len0 = 0;
          key_value0 = "SECRET";
          key_len1 = 0;
          key_value1 = "SECRET";
          key_len2 = 0;
          key_value2 = "SECRET";
          key_len3 = 0;
          key_value3 = "SECRET";
          hidden_ssid = no;
          greenmode_enabled = no;
          user_isolation = no;
          IPTVoptimize = yes;
          tx_autopower = no;
          wlan_coexistence = yes;
          hotspot2_enabled = no;
          access_control_enabled = no;
          enabled = yes;
          radio_band = 5GHz;
     }
}


in der /var/flash/wlan.cfg

Code:
wlancfg {
....
        guest_ssid = "FRITZ!Box Gastzugang";
        guest_encryption = 3;
        guest_pskvalue = "SECRET";
....
}


Vielleicht geht das also per interface->SSID-> PSK?

Die anderen sachen untersuche ich nun mal.

Gruß,

Marc
 
Das AP management wird ja eigentlich vom hostapd gemacht. Leider kann man den nicht im debug modus neu starten, und er scheint recht abgespeckt zu sein.
Tut der denn was nachdem du das Netz umkonfiguriert hast und ein Gerät versucht sich zu verbinden (strace -p ...)?

Evtl. muss man dem noch ein paar kommandos schicken, siehe /var/log/hostapd.log:

(...)
0226-084847:CFG:global,cmd='ADD ath1 /var/run/hostapd'
0226-084847:CFG:ath1:CMD='SET ssid XXXX'
0226-084847:CFG:ath1:CMD='SET bridge lan'
0226-084847:CFG:ath1:CMD='SET eap_server 1'
(...)

Vielleicht ueber die sockets in /var/run/hostapd, z.B. mittels socat?
 
Zuletzt bearbeitet:
Im hostapd log stehen auf jeden fall solche interessanten dinge:
Code:
0119-130514:CFG:global,cmd='ADD ath0 /var/run/hostapd'
0119-130514:CFG:ath0:CMD='SET ssid BLABLUBB'
0119-130514:CFG:ath0:CMD='SET bridge lan'
0119-130514:CFG:ath0:CMD='SET eap_server 1'
0119-130514:CFG:ath0:CMD='SET wpa_passphrase ***'
0119-130514:CFG:ath0:CMD='SET wpa_key_mgmt WPA-PSK'
0119-130514:CFG:ath0:CMD='SET wpa 2'
0119-130514:CFG:ath0:CMD='SET wpa_pairwise  CCMP'
0119-130514:CFG:ath0:CMD='SET rsn_pairwise  CCMP'
0119-130514:CFG:ath0:CMD='SET ieee80211w 0'
0119-130514:CFG:ath0:CMD='SET wps_state 0'
0119-130514:CFG:ath0:CMD='ENABLE'

Guter Tipp!,

fragt sich woher hostapd die informationen nimmt..

EDIT:

Code:
# /tmp/socat UNIX:/var/run/hostapd/guest4 -
DISABLE
ENABLE
SET ssid TESTNET
ENABLE
DISABLE
SET ssid TESTNET
2018/01/19 22:57:07 socat[4967.135180304] E sendto(5, 0x80ec868, 17, 0, AF=1 "/var/run/hostapd/guest4", 110): Connection refused
Nach dem Connection refused connte ich zu keinem hostapd socket mehr verbinden... im log stehen meine befehle auch nicht

EDIT2:

/tmp/socat STDIO UNIX-CONNECT:/var/run/hostapd/global,type=2,bind=/tmp/mytestsock

Damit kann man mit hostapd reden!
 
Zuletzt bearbeitet:
(socat ist mein lieblingstool :)

Leider scheint er nachträgliche Änderungen zu ignorieren, und DISABLE/ENABLE führt zu einer segmentation violation im hostapd.
Vielleicht so .. ?

socat STDIO UNIX-CONNECT:/var/run/hostapd/ath0,type=2,bind=/tmp/mytestsock
SET bridge testbr
OK
RELOAD
OK
 
Es läuft!
Code:
[###]0120-002548:CFG:global,cmd='ADD ath0 /var/run/hostapd'
[###]002638:CFG:ath0:CMD='SET ssid BLABLUBB'
[###]002645:CFG:ath0:CMD='SET bridge internal'
[###]002653:CFG:ath0:CMD='SET eap_server 1'
[###]002719:CFG:ath0:CMD='SET wpa_passphrase ***'
[###]002729:CFG:ath0:CMD='SET wpa_key_mgmt WPA-PSK'
[###]002735:CFG:ath0:CMD='SET wpa 2'
[###]002743:CFG:ath0:CMD='SET wpa_pairwise  CCMP'
[###]002749:CFG:ath0:CMD='SET rsn_pairwise  CCMP'
[###]002802:CFG:ath0:CMD='SET ieee80211w 0'
[###]002811:CFG:ath0:CMD='SET wps_state 0'
[###]002818:CFG:ath0:CMD='ENABLE'

und zusätzlich die änderungen in der ar7.cfg
 
Prima, gratuliere!
Konfiguriert wird hostapd über wland -> libwland_hal.so -> libacfg.so.
Wie man es dem wland persistent beibringt wäre noch zu ermitteln ..
 
okay also in /var/flash/wlan.cfg steht nicht, welche bridge er nutzen soll, /sbin/wland enthält auch nicht das wort 'lan'. Das taucht erst in der libwland_hal.so auf. könnte also eine statische zuordnung sein..?

libacfg.so enthält die ganzen SET befehle, aber nicht mehr das wort "lan"
Code:
SET ssid %s
SET bridge %s
SET wep_key0 %s
SET wep_key1 %s
SET wep_key2 %s
SET wep_key3 %s
SET wep_default_key %d
SET auth_server_addr %s
SET auth_server_port %d
SET wpa_passphrase %s
SET wpa_psk %s
SET wpa_key_mgmt %s
SET wpa %d
SET wpa_pairwise %s
SET rsn_pairwise %s
SET ieee80211w %d
SET wps_state %d
SET config_methods %s
SET device_type %s
SET manufacturer %s
SET model_name %s
SET model_number %s
SET serial_number %s
SET device_name %s
SET upnp_iface %s
SET friendly_name %s
SET manufacturer_url %s
SET model_description %s
SET upc %s
SET pbc_in_m1 %d
SET wps_rf_bands %s
SET uuid %s
SET acct_server_addr %s
SET acct_server_port %d
SET hs20 %d
SET interworking %d
SET access_network_type %d
SET internet %d
SET asra %d
SET esr %d
SET uesa %d
SET venue_group %d
SET venue_type %d
SET hessid %s
SET roaming_consortium %s
SET venue_name %s
SET manage_p2p %d
SET disable_dgaf %d
SET hs20_venue_name %s
SET hs20_network_auth_type %s
SET hs20_nai_realm_list %s
SET hs20_domain_name_list %s
SET hs20_wan_metrics %s
SET hs20_operating_class %s
SET ieee8021x 1
SET device_typee %s
SET auth_server_shared_secret %s
SET radius_retry_primary_interval %d
SET acct_server_shared_secret %s
SET hs20_ipaddr_type_availability %s
SET hs20_3gpp_cellular_network %s
SET hs20_operator_friendly_name %s
SET hs20_connection_capability %s

Weiß jemand ob die libacfg.so Open Source ist? Ich warte noch auf die Sourcen von AVM, denn:
Für die aktuelle Version 06.87 konnten wie den Open Source Teil des Quellcodes der FRITZ!Box 6490 noch nicht veröffentlichen. Ich habe Ihre Anfrage aber an die entsprechenden Kollegen weitergeleitet und einen Upload beantragt.

Darauf, dass mir auch der Code von der 6.83 reicht haben sie nicht mehr geantwortet (war aber auch freitag abend). Wenn mir die jemand weiter geben könnte würde ich mich freuen.

Grüße,

Marc

EDIT: Dank fesc hab ich nun mal einen Blick auf die Sourcen werfen können. Da ist wohl nichts hilfreiches drin. mal schauen ob sich da was reverse engineeren lässt...

###

Weiß jemand wie die passwörter in /var/flash/wlan.cfg kodiert sind:
Code:
guest_pskvalue = "$$$$KAMLNOEWY55OISZRJKYCWWUEGCZQ4RCX42H2WBZFNJA2MRXL2C5V6YSHNSCWLZGCFWKNKKHQLSKPWAPI";

Dann würde ich den hostapd einfach anhand der daten dort konfigurieren...

//Zusammenführung by stoney
 
Zuletzt bearbeitet von einem Moderator:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.