Locked History Actions

Gluon/Admin

Gluon Administration und Entwicklung

Was läuft hier und wie verwalte ich das

Aktuelle Version, Gerät, etc abfragen via SSH

gluon-info

Für Webinterface außerhalb der Config-Mode (d.h. im Betrieb) ist folgender SSH Befehl hilfreich:

ssh root@KNOTEN -L 12345:localhost:81

Unter http://localhost:12345 kann der Knoten dann verwaltet werden.

WICHTIG: entweder via ssh uci commit für speichern bzw. gluon-reconfigure && gluon-reload für Übernehmen oder speichern & neustarten im Wizard anwählen, sonst wird nichts gespeichert/angewendet

Was machen meine Pakete

Teil 1: War es die Firewall?

Firewall debuggen

Interessante Zonen: * mesh (alles was mit mesh zu tun hat, außer LAN mesh) * wired_mesh (Nur LAN mesh) * loc_client (Client AP)

Zone Debuggen

uci set firewall.ZONE.log=1
uci set firewall.ZONE.log_limit=10/second
uci commit
service firewall reload

Dann logread -f und Spaß haben

Teil 2: Was zur Hölle? (Wireshark muss ran)

Die Pakete können auch per Wireshark angezapft werden, tcpdump ist vorinstalliert

Anzapfen geht via sshdump Adapter in Wireshark (dazu in der liste unten das Zahnrad neben dem Adapter anwählen)

Interface bestenfalls any, zum Filtern macht es Sinn !olsrd && !openvpn zu benutzen, um Noise zu filtern

WICHTIG: Wenn der zugriff auf die Node über das mesh selbst erfolgt, ist eventuelle Rückkopplung durch mesh Traffic möglich. Der "not (port 22)" filter fängt das idR, aber bei mesh VPN wirds kritisch.

Was macht mein OLSR

Nachbarn auflisten

olsrd-cli olsr1 neigh
olsrd-cli olsr2 neigh

Daten abfragen

olsrd-cli olsr1 nodeinfo all

olsrd-cli olsr2 nodeinfo json <befehl>
# bzw
olsrd-cli olsr2 nodeinfo raw help

Performance

Performance zwischen zwei Nodes testen

Server

iptables -I INPUT -p tcp -m tcp --dport 5201 -j ACCEPT
ip6tables -I INPUT -p tcp -m tcp --dport 5201 -j ACCEPT
iperf3 -s

Client

iperf3 -c IP

ManMan Sync

manman-sync übernimmt die interface ips die im ManMan angegeben sind

Abgerufen werden diese vom Knoten jede Stunde (jeweils zu zufälliger, gleichbleibender Minute). Auf ManApi wird die Info ebenfalls für eine Stunde gecached

Folgendes Namensschema wird verwendet, um ein ManMan Interface in ein Gluon Interface umzuwandeln

wifi -> mesh_radio0
tunnel -> mesh_vpn
wan -> mesh_uplink
lan -> mesh_other
* (z.B. radio1) -> mesh_*
*_* (z.B. ibss_radio0) -> *_*

In Gluon wird die Wi-Fi-IP für 802.11s verwendet

Das Setzen einer IP für IBSS ist dennoch möglich, in dem das Interface ibss_radio0 genannt wird

Ungültige Interfacenamen werden in gluon-static-ip config geworfen und bleiben dort für immer (oder bis jemand sie aufräumt), sind aber effektiv wirkungslos

WICHTIG: aktuell gibt es noch kein Rollback Support. d.h. kaputtmachen ist leicht. Das wird in Zukunft dann besser gemacht.

gdb

Was macht mein C code?

  • in targets/x86-64 'gdb' und 'gdbserver' ergänzen (nicht commiten, nur lokal)
  • x86-64 qemu debug bauen, irgendwo starten
    • make GLUON_DEBUG=1 GLUON_TARGET=x86-64 -j12
  • In /etc/config/firewall GDB durch die firewall lassen:

config rule 'allow_gdb'
        option name 'Allow GDB'
        option src '*'
        option proto 'tcp'
        option dest_port '3344'
        option target 'ACCEPT'
  • GDBServer starten:

gdbserver --attach 0.0.0.0:3344 PID
  • Lokal dann mit gdb oder pwndbg verbinden

target remote <ip>:3344


CategoryDocumentation