Kann man die LAN Anschlüsse umkonfigurieren?

Hallo,
ich bin neu bei Freifunk und möchte meinen Freifunk-Router TP-Link TL-WR940N per Kabel an meiner Fritzbox betreiben. Ich habe aber eigentlich keine LAN-Ports an der Fritzbox mehr frei und möchte auch keinen zusätzlichen Switch einsetzen.

Ist es möglich die Ports des Freifunk-Routers so umzukonfigurieren, dass man sie für das Heimnetz nutzen kann?

Hallo Eckhard,

schön, dass du zu uns gefunden hast. Leider sind die Ethernet-Ports des Freifunk-Routers mit dem Freifunk-WLAN-Clientnetz gebrückt, so dass dein Heimnetz nicht darüber geroutet werden kann.

Wenn also bereits alle anderen Ports der Fritzbox belegt sind, wirst du nicht darum herumkommen, einen zusätzlichen Switch einzusetzen.

Hallo Michael,
schade. Ich hatte u.a. dieses hier gefunden: https://forum.freifunk.net/t/privates-netz-statt-freifunk-ueber-lan/633/14
und hatte gehofft, dass es eine ähnliche Lösung auch für meinen Router gibt. Ich müsste nur wissen, wie die Änderungen in der /etc/config/network aussehen müssen. Ich vermute, technisch sollte das doch möglich sein.

OK, den kannte ich noch nicht, Wieder was gelernt.

Ohne das jetzt direkt testen zu können, sollten folgende Befehle (abgesetzt auf dem Knoten) das gewünschte Ergebnis bringen:

uci del_list network.client.ifname='eth0'
uci add_list network.wan.ifname='eth0'
uci commit

Dazu musst du dich per SSH mit dem Knoten verbinden. Im Config Mode (Reset-Taste 10 Sekunden drücken, bis alle LEDs einmal aufblinken) muss ein SSH-Key oder ein root-Passwort vergeben sein.

Schlimmstenfalls müsstest du den Knoten per Recovery neu flashen, falls es nicht funktioniert oder schiefgeht. Immerhin trennst du den eingebauten Switch des Knotens vom Freifunk-Netz und setzt eine Brücke auf den WAN-Port.

Cool - scheint zu funktionieren. Werde es noch ein wenig testen.
Ist diese Änderung Updatefest?
Vielen Dank für die schnelle Hilfe!

Ja, diese uci-Befehle ändern direkt die /etc/config/netwok - diese Datei wird bei einem Update übernommen.

Du kannst das direkt testen, im Firmware-Wizard gibt es schon eine neue Version.

Diese per SCP nach /tmp auf den Knoten schieben und dann per sysupgrade installieren.

sysupgrade /tmp/gluon-fflip-1.0.2-20180829-tp-link-tl-wr940n-v6-sysupgrade.bin

Nachdem ich jetzt etwas rumprobiert habe, muss ich leider feststellen, das es mit den vorgeschlagenen uci-Befehlen doch nicht funktioniert… Schade :slightly_frowning_face:
Vielleicht hat ja noch jemand eine Idee, die ich ausprobieren könnte.

Dann muss ich im Moment passen.

Setze den Router einmal zurück auf Anfang (Neuinstallation ohne Übernahme der alten Einstellungen oder per SSH mit dem Befehl firstboot && reboot. Der Knoten startet dann wieder im Config-Modus, der SSH-Schlüssel muss dann neu hinterlegt werden.

Dann poste den Inhalt der Datei /etc/config/network, anhand dessen kann man sehen, wie das Netzwerk beim 940 konfiguriert ist und was geändert werden muss. Nicht alle Router sind da gleich, manche haben eine und manche zwei Netzwerkschnittstellen. Daher gibt es auch kein universelles Rezept und LAN und WAN zu tauschen.

root@b04e26dba21a:~# cat /etc/config/network

config interface ‘loopback’
option ifname ‘lo’
option proto ‘static’
option ipaddr ‘127.0.0.1’
option netmask ‘255.0.0.0’

config globals ‘globals’
option ula_prefix ‘fd0c:8c91:3d33::/48’

config interface ‘wan6’
option proto ‘dhcpv6’
option ifname ‘br-wan’
option ip6table ‘1’
option sourcefilter ‘0’
option peerdns ‘0’
option reqprefix ‘no’

config switch
option name ‘switch0’
option reset ‘1’
option enable_vlan ‘1’

config switch_vlan
option device ‘switch0’
option vlan ‘1’
option ports ‘0 1 2 3 4’

config interface ‘wan’
option igmp_snooping ‘1’
option ifname ‘eth0’
option multicast_querier ‘0’
option peerdns ‘0’
option auto ‘1’
option type ‘bridge’
option proto ‘dhcp’
option macaddr ‘7a:ca:73:df:2d:b8’

config rule6 ‘wan6_lookup’
option mark ‘0x01/0x01’
option lookup ‘1’

config route6 ‘wan6_unreachable’
option type ‘unreachable’
option table ‘1’
option target ‘::/0’
option metric ‘65535’
option gateway ‘::’
option interface ‘loopback’

config interface ‘mesh_radio0’
option proto ‘gluon_mesh’

config interface ‘mesh_wan’
option ifname ‘br-wan’
option index ‘0’
option proto ‘gluon_wired’
option disabled ‘1’
option transitive ‘1’

config interface ‘mesh_lan’
option igmp_snooping ‘0’
option ifname ‘eth1’
option index ‘4’
option proto ‘gluon_wired’
option disabled ‘1’
option transitive ‘1’
option macaddr ‘7a:ca:73:df:2d:bc’

config interface ‘client’
option igmp_snooping ‘1’
option type ‘bridge’
option auto ‘1’
option multicast_querier ‘1’
option macaddr ‘b0:4e:26:db:a2:1a’
list ifname ‘eth1’
list ifname ‘local-port’
list ifname ‘bat0’
option ipv6 ‘1’
option keep_ra_dnslifetime ‘1’
option sourcefilter ‘0’
option peerdns ‘1’
option robustness ‘9’
option reqprefix ‘no’
option query_interval ‘2000’
option query_response_interval ‘500’
option proto ‘dhcpv6’

config device ‘local_node_dev’
option type ‘veth’
option name ‘local-node’
option peer_name ‘local-port’
option macaddr ‘de:42:ab:cd:ef:42’
option peer_macaddr ‘b0:4e:26:db:a2:1a’

config interface ‘local_node’
option ifname ‘local-node’
option ipaddr ‘10.15.0.1/32’
option ip6addr ‘2a03:2260:2004:111::1/128’
option ip6deprecated ‘1’
option proto ‘static’

config interface ‘gluon_bat0’
option proto ‘gluon_bat0’

config interface ‘bat0’
option multicast_router ‘2’
option ifname ‘bat0’
option auto ‘1’
option macaddr ‘b0:4e:26:db:a2:1a’
option learning ‘1’
option proto ‘none’

config route ‘local_node_route’
option target ‘10.15.0.0/21’
option interface ‘client’

config route6 ‘local_node_route6’
option target ‘2a03:2260:2004:111::/64’
option gateway ‘::’
option interface ‘client’

config interface ‘mesh_vpn’
option ifname ‘mesh-vpn’
option transitive ‘1’
option mtu ‘1532’
option macaddr ‘7a:ca:73:df:2d:bf’
option fixed_mtu ‘1’
option proto ‘gluon_mesh’

1 Like

Der Vorschlag von @collimas war ja im Prinzip korrekt, nur sind bei dem 940er die Schnittstellen anders belegt…

Ich schätze, es reicht dir, wenn du die Ports tauschst, d. h. 4x’WAN’ und 1x’Client’ bzw. ‘MeshOnLan’,
das geht wie folgt:

uci del_list network.client.ifname='eth1' # nur, wenn MoL nicht aktiviert ist
uci add_list network.client.ifname='eth0' # nur, wenn MoL nicht aktiviert ist
uci set network.mesh_lan.ifname='eth0'
uci set network.wan.ifname='eth1'
uci commit network
/etc/init.d/network restart #oder reboot

Die Einstellung für mesh_lan sollte auch vorgenommen werden, sonst gibt es Probleme, wenn man später in der Config-Oberfläche Mesh-On-LAN aktiviert.

Oder aber du legst alle Ports auf das WAN-Interface, dann

uci del_list network.client.ifname='eth1'
uci add_list network.wan.ifname='eth1'
uci set network.mesh_lan.disabled='0'
uci commit network
/etc/init.d/network restart #oder reboot

EDIT: So, drölfmal geändert, jetzt sollte hoffentlich alles korrekt sein.

Wenn man möchte, kann man jeden Port (blau/gelb) separat einer Funktion zuordnen (WAN/Client/MeshOnLAN). Für die gelben Ports muss man dann weitere VLANs anlegen.

nachdem ich die von @jotzt vorgeschlagenen Änderungen gemacht habe, funktionieren zwar die LAN Ports wie gewünscht, aber das FreiFunk-WLAN hat keine Internetverbindung mehr…

OK – dann ist noch etwas verkehrt. Welche der beiden Optionen hast du gewählt?

EDIT: Ich vermute, die untere Option funktioniert so nicht, das müsste wahrscheinlich anders konfiguriert werden.

Ich habe beide ausprobiert:

  1. Variante:
  • kein Internet über Freifunk
  • LAN ok
  1. Variante:
  • Freifunk OK
  • LAN funktioniert nicht, bzw. genauso wie ohne Änderungen

OK – Interessant :slight_smile:
Die erste Variante müsste eigentlich funktionieren. Der Freifunk-Router war dann auch nicht mehr über den blauen sondern über einen gelben Port mit dem Uplink verbunden, korrekt? Was geben ip a und logread | grep tunneldigger zurück?

Die erste Variante funktioniert auch. Hatte wohl nicht daran gedacht das Kabel für den Uplink auf den gelben Port zu stecken. Teste noch ein wenig, sieht aber erstmal sehr gut aus.

Vielen Dank für die Unterstützung!

:sweat_smile:
Danke für die Rückmeldung und viel Spaß damit.