Für VLAN und VPNs kann mit diesem Tool die MTU kalkuliert werden für die Einkapsellung verschiedener Netzwerkprotokolle:
in /etc/config/firewall fogende Regel nach config rule 'wan_ssh' hinzufügen
config rule 'wan_http' option dest_port '80' option src 'wan' option name 'wan_http' option target 'ACCEPT' option proto 'tcp'
Alternative:
uci set firewall.wan_http=rule uci set firewall.wan_http.dest_port=80 uci set firewall.wan_http.src=wan uci set firewall.wan_http.name=wan_http uci set firewall.wan_http.target=ACCEPT uci set firewall.wan_http.proto=tcp uci commit
/etc/init.d/firewall reload
in der Datei /lib/gluon/status-page/www/cgi-bin/status folgende Zeilen einfügen:
io.write("<h2>Clients: ") io.write(escape_html(sys.exec("tail -n +3 /sys/kernel/debug/batman_adv/bat0/transtable_local | grep -v P | wc -l"))) io.write("</h2>")
Position, vor dieser Zeile:
io.write("<h2>Neighbours</h2>")
in /etc/config/network die Worte eth0 und eth1 tauschen
in /lib/gluon/core/sysconfig die Dateien lan_ifname und wan_ifname anpassen (Inhalt tauschen)
echo "nameserver 8.8.8.8">>/etc/resolv.conf
# Gluon 2014.* src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/luci src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/packages src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/routing src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/telephony src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/management src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages
# Gluon 2015.* src/gz chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/base src/gz chaos_calmer_luci http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/luci src/gz chaos_calmer_packages http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/packages src/gz chaos_calmer_routing http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/routing src/gz chaos_calmer_telephony http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/telephony src/gz chaos_calmer_management http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/management #src/gz chaos_calmer_oldpackages http://downloads.openwrt.org/chaos_calmer/15.05-rc1/ar71xx/generic/packages/oldpackages
opkg update opkg install vnstat vi /etc/vnstat.conf (auf folgendes anpassen) DatabaseDir "/tmp/vnstat" /etc/init.d/vnstat enable /etc/init.d/vnstat start echo "*/5 * * * * vnstat -u" >> /etc/crontabs/root vi /lib/gluon/status-page/www/cgi-bin/status nach Zeile: io.write(escape_html(sys.exec("df /rom /overlay"))) einfügen: io.write(escape_html(sys.exec("vnstat")) .. "\n") vi /etc/rc.local (einfügen) ( sleep 30 && vnstat -u -i br-wan && vnstat -u -i br-client && vnstat -u -i bat0 && vnstat -u -i mesh-vpn ) &
Unnötige Interfaces kann man mit vnstat –delete entfernen
#!/bin/sh /etc/rc.common # /etc/init.d/bat-adv # No fraggin' copyright # wlan0 = Ad-Hoc interface to transport payload # wlan0-1 = AP interface for associating clients # bat-br = Bridge with AP-interface and bat0 enslaved START=99 start() { batctl if add wlan0 ifconfig wlan0 mtu 1528 brctl addbr bat-br brctl addif bat-br wlan0-1 brctl addif bat-br bat0 batctl it 3000 batctl gw client ip link set bat0 up ip link set bat-br up } stop () { batctl if del wlan0 }
Infos abgeleitet von http://wiki.freifunk.net/BATMAN-Konfiguration
Ich will meinen WAN Port normal für Mesh on VPN nutzen und gleichzeitig mit einem zweiten Router meshen, den ich aber nur über den WAN Port erreichen kann. Dazu verwende ich VLAN 9 für das Meshing zwischen den Geräten. Solltet ihr einen Managbaren Switch dazwischen haben, müsst ihr an den Ports VLAN 9 konfigurieren, sonst wird es gefiltert. Das ganze ist leider unterschiedlich je nach Router bzw Routerkonfig.
'brctl show
' wie dein WAN Interface heisst, eth0 oder eth1config interface 'mesh_vlan' option ifname 'eth0.9' option auto '1' option mesh_no_rebroadcast '1' option mesh 'bat0' option proto 'batadv'
config switch_vlan option device 'switch0' option vlan '9' option ports '0t 5t' config interface 'mesh_vlan' option ifname 'eth0.9' option auto '1' option mesh_no_rebroadcast '1' option mesh 'bat0' option proto 'batadv'
Bis zur Firmware 0.9 (gluon v2016.2.2) gab es in der Datei „/etc/config/fastd“ eine komplette Liste aller Gateway-Gruppen mit den zugehörigen Segmenten. Zum Verbindungsaufbau wurden alle Einträge solange durchprobiert, bis der Node auf eine passende Kombination traf. Hier konnten bei Bedarf bekannt ungültige oder ungewollte Kombinationen für einen bestimmten Node deaktiviert werden.
Mit der neuen Firmware 1.0 gibt es nur noch 10 Einträge, je einen pro Gateway-Gruppe. Diese Einträge entsprechen denen, die es vor der Segmentierung im Frühjahr 2016 gegeben hatte und danach zum „Legacy-Segment“ gehörten. Heute nennen wir das „Welcome-Segment“, weil diese Einträge lediglich dazu dienen, dass neue oder geänderte Nodes automatisch registriert werden können (Onboarding-System). Die Einträge für die „richtigen“ Gateways bzw. Gateway-Gruppen gibt es nicht mehr.
Wenn ein Node jetzt eingeschaltet oder neu gestartet wird, dann frägt der Node seine eigene erweiterte Node-ID im DNS ab. Diese erweiterte Node-ID lautet „ffs-MMMMMMMMMMMM-KKKKKKKKKKKK“ mit MMMMMMMMMMMM = primäre MAC-Adresse (ohne die Doppelpunkte) und KKKKKKKKKKKK = erste 12 Stellen des public Key. Ein Beispiel für eine DNS-Abfrage wäre „nslookup ffs-60e327e79498-49a652c95984.segassign.freifunk-stuttgart.de“.
Bei einem neuem oder geänderten Node gibt es keine Antwort, und für den Verbindungsaufbau wird die Liste in der Firmware („/etc/config/fastd“) benutzt. Dort sind statt der Gateways jetzt die Onboarder hinterlegt (derzeit ist nur gw07 ein aktiver Onboarder). Ein Onboarder kommuniziert mit dem Node unabhängig von einer Registrierung und registriert ihn bei Bedarf automatisch (trägt alle notwendigen Daten im Git ein und legt den DNS-Eintrag an), falls er nicht schon bekannt ist.
Korrekt registrierte Nodes erhalten auf ihre DNS-Anfragen auch eine Antwort. Diese Antwort ist eine IPv6-Adresse „2001:2:0:711::7“, wobei der Teil vor den :: immer gleich ist und die Zahl hinter den :: dem Segment entspricht, für das der Node registriert ist. Mit dieser Information modifiziert der Node seine eigene fastd-Konfiguration und startet damit erneut den VPN-Verbindungsaufbau, der jetzt zu den richtigen Gateways führt. Diese Modifikation erfolgt nur im Hauptspeicher und wird *nicht* in den Flash-Speicher geschrieben, d.h. die Datei „/etc/config/fastd“ ändert sich nicht. Deshalb hat man bei jedem Neustart eines Nodes auch wieder die Ausgangssituation, man riskiert keine falsche Konfiguration im Flash.
Wenn man jetzt von Hand die fastd-Konfiguartion ändert, hat das für den normalen Betrieb keine Bedeutung, weil die tatsächlich benutzte Konfiguration ja aufgrund des DNS-Ergebnis im RAM neu erzeugt wird. Man verbaut sich ggf. nur den Weg zum Onboarder, falls sich die Konfiguration ändert und der Node neu registriert werden müsste.
Der komplette Ablauf im Node von der DNS-Abfrage bis zur Modifikation der fastd-Konfiguration erfolgt im script „/usr/sbin/ffs-set-segment“, das bei jedem Verbindungsversuch und regelmäßig einmal pro Minute ausgeführt wird. Ändert sich das Segment in der DNS-Antwort, wird die Konfiguration im RAM angepasst, die bestehende VPN-Verbindung getrennt und wieder neu aufgebaut.
Sollte es tatsächlich notwendig sein, eine eigene fixe Konfiguration nutzen zu wollen/müssen, dann muss die automatische Konfiguration deaktiviert werden, so dass die eigenen Einträge in der Datei „/etc/config/fastd“ dauerhaft benutzt werden. Dazu gibt man per SSH folgende Befehle ein:
uci set fastd.mesh_vpn_backbone.auto_segment="0" uci commit
Wird allerdings die Automatik deaktiviert, ohne dass eine gültige echte Gateway-Konfiguration in der Datei „/etc/config/fastd“ vorhanden ist, kann sich der Node nicht mit dem Freifunknetz verbinden. Man sollte sich also sehr genau überlegen, ob man wirklich auf den automatischen Betrieb verzichten will.
config ssh