Hopglass Server aliases.json Linux Gateway

ls -la /sys/class/net/mesh-vpn
lrwxrwxrwx 1 root root 0 Mar 28 11:10 /sys/class/net/mesh-vpn → …/…/devices/virtual/net/mesh-vpn

Ich gehe mal davon aus du brauchst den inhalt des link:

root@crytro1:~# ls -la /sys/devices/virtual/net/mesh-vpn
drwxr-xr-x    5 root     root             0 Mar 28 11:10 .
drwxr-xr-x    9 root     root             0 Jan  1  1970 ..
-r--r--r--    1 root     root          4096 Mar 28 21:39 addr_assign_type
-r--r--r--    1 root     root          4096 Mar 28 21:39 addr_len
-r--r--r--    1 root     root          4096 Mar 28 11:11 address
drwxr-xr-x    2 root     root             0 Mar 28 11:10 batman_adv
-r--r--r--    1 root     root          4096 Mar 28 21:39 broadcast
-rw-r--r--    1 root     root          4096 Mar 28 11:10 carrier
-r--r--r--    1 root     root          4096 Mar 28 21:39 carrier_changes
-r--r--r--    1 root     root          4096 Mar 28 21:39 dev_id
-r--r--r--    1 root     root          4096 Mar 28 21:39 dev_port
-r--r--r--    1 root     root          4096 Mar 28 21:39 dormant
-r--r--r--    1 root     root          4096 Mar 28 21:39 duplex
-rw-r--r--    1 root     root          4096 Mar 28 21:39 flags
-rw-r--r--    1 root     root          4096 Mar 28 21:39 ifalias
-r--r--r--    1 root     root          4096 Mar 28 21:39 ifindex
-r--r--r--    1 root     root          4096 Mar 28 11:10 iflink
-r--r--r--    1 root     root          4096 Mar 28 21:39 link_mode
lrwxrwxrwx    1 root     root             0 Mar 28 21:39 master -> ../bat0
-rw-r--r--    1 root     root          4096 Mar 28 21:39 mtu
-r--r--r--    1 root     root          4096 Mar 28 21:39 name_assign_type
-rw-r--r--    1 root     root          4096 Mar 28 21:39 netdev_group
-r--r--r--    1 root     root          4096 Mar 28 21:39 operstate
-r--r--r--    1 root     root          4096 Mar 28 21:39 phys_port_id
drwxr-xr-x    3 root     root             0 Mar 28 21:39 queues
-r--r--r--    1 root     root          4096 Mar 28 21:39 speed
drwxr-xr-x    2 root     root             0 Mar 28 21:39 statistics
lrwxrwxrwx    1 root     root             0 Mar 28 21:39 subsystem -> ../../../../class/net
-rw-r--r--    1 root     root          4096 Mar 28 21:39 tx_queue_len
-r--r--r--    1 root     root          4096 Mar 28 21:39 type
-rw-r--r--    1 root     root          4096 Mar 28 21:39 uevent
lrwxrwxrwx    1 root     root             0 Mar 28 21:39 upper_bat0 -> ../bat0

Funktioniert schonmal

  1. Mesh on LAN / WAN wird nun aber auch als VPN angezeigt…
  2. Uplink-Erkennung parsed Daten vom fastd-Paket

@stefan bitte HopGlass aktualisieren…

Done (Diese 20 Zeichen)

Ich habe da noch so nen Anschlag:

Ist es möglich für die nodeinfos neben {NODE_ID] auch {NODE_NAME} zu implementieren?

Ja 202020202020202020

(Discourse meint „Body is invalid; try to be a little more descriptive“)

Update: Done.

1 „Gefällt mir“

@PetaByteBoy

Bei uns werden im Aktuellen Hopglass wieder die VPNs als Kabel angezeigt. Kannst du da mal kurz helfen?

Ist mir bekannt, bin dran.

1 „Gefällt mir“

auf der Eulenfunk-Karte werden die VPN-Links korrekt angezeigt, für fastd wie für L2TP.
Nur die Knoten für L2TP werden nicht als VPN-Links eingefärbt.

Hi ich bekomme beim starten die Meldung das die aliases nicht gefunden wird:
/etc/hopglass-server/default# ls -l

total 360
-rwxrwxrwx 1 hopglass hopglass   1959 Jul 13 23:36 aliases.json
-rw-r--r-- 1 root     root       1959 Jul 13 23:49 aliases.json.bak
-rw-r--r-- 1 hopglass hopglass    860 Jul 13 23:46 config.json
-rw-r--r-- 1 hopglass hopglass 352873 Jul 14 00:00 raw.json

/etc/hopglass-server/default# systemctl status hopglass-server@default

● hopglass-server@default.service - The HopGlass Server collects data from the Freifunk network (default)
   Loaded: loaded (/lib/systemd/system/hopglass-server@.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-07-14 00:00:09 CEST; 1min 16s ago
 Main PID: 31281 (node)
   CGroup: /system.slice/system-hopglass\x2dserver.slice/hopglass-server@default.service
           └─31281 /usr/bin/node --harmony /opt/hopglass/server/hopglass-server.js

Jul 14 00:00:09 tunnelhoshi systemd[1]: Started The HopGlass Server collects data from the Freifunk network  (default).
Jul 14 00:00:10 tunnelhoshi node[31281]: successfully parsed config file "./config.json"
Jul 14 00:00:10 tunnelhoshi node[31281]: alias file "./aliases.json" doesn't exist, using empty
Jul 14 00:00:10 tunnelhoshi node[31281]: collector listening on port 45123
Jul 14 00:00:10 tunnelhoshi node[31281]: webserver listening on port 4000

sollte doch normalerweise gefunden werden ?!?

Das sagt der auch wenn das kein valides JSON ist. Installier mal „jq“ und mach „jq . aliases.json“.

Kannst du mir nochmal die aliases geben?

Ich habe ein Issue erstellt, werde allderdings jetzt keinen Code schreiben. Unter Umständen solltest du Commits 04acb13ac3ffdd014ffaf98c2a3fa7a997666167 beim Server und 760cca6806a2d1b236fea490e5ef4aa85c3e6aff beim „Client“ reverten. Hast du den Client überhaupt auf der neuesten Version?

Ich habe im moment:

Hopglass: master
Hopglass-Server: master

Aliases.json:

{
  "2e9dfaa16b04": {
    "nodeinfo": {
      "owner": {
        "contact": "kontakt@freifunk-troisdorf.de"
      },
      "hostname": "Supernode-TDF",
      "network": {
        "addresses": [
          "2a03:2260:121:3::4",
          "10.188.0.4"
        ],
        "mac": "2e:9d:fa:a1:6b:04"
      },
      "node_id": "2e9dfaa16b04",
      "hardware": {
        "model": "Debian 8 vServer"
      }
    },
    "flags": {
      "gateway": true
    },
    "neighbours": {
       "batadv": {
          "2e:9d:fa:a1:6b:04": {}
       }
    }
},
  "2e9dfaa16b05": {
    "nodeinfo": {
      "owner": {
        "contact": "kontakt@freifunk-troisdorf.de"
      },
      "hostname": "Supernode-INN",
      "network": {
        "addresses": [
          "2a03:2260:121:2::5",
          "10.188.32.5"
        ],
        "mac": "2e:9d:fa:a1:6b:05"
      },
      "node_id": "2e9dfaa16b05",
      "hardware": {
        "model": "Debian 8 vServer"
      }
    },
    "flags": {
      "gateway": true
    },
    "neighbours": {
       "batadv": {
          "2e:9d:fa:a1:6b:05": {}
       }
    }
},
  "2e9dfaa16b06": {
    "nodeinfo": {
      "owner": {
        "contact": "kontakt@freifunk-troisdorf.de"
      },
      "hostname": "Supernode-FLU",
      "network": {
        "addresses": [
          "2a03:2260:121:3::6",
          "10.188.64.6"
        ],
        "mac": "2e:9d:fa:a1:6b:06"
      },
      "node_id": "2e9dfaa16b06",
      "hardware": {
        "model": "Debian 8 vServer"
      }
    },
    "flags": {
      "gateway": true
    },
    "neighbours": {
       "batadv": {
          "2e:9d:fa:a1:6b:06": {}
       }
    }
},
  "2e9dfaa16b07": {
    "nodeinfo": {
      "owner": {
        "contact": "kontakt@freifunk-troisdorf.de"
      },
      "hostname": "Supernode-7",
      "network": {
        "addresses": [
          "2a03:2260:121:3::7",
          "10.188.92.7"
        ],
        "mac": "2e:9d:fa:a1:6b:07"
      },
      "node_id": "2e9dfaa16b07",
      "hardware": {
        "model": "Debian 8 vServer"
      }
    },
    "flags": {
      "gateway": true
    },
    "neighbours": {
       "batadv": {
          "2e:9d:fa:a1:6b:07": {}
       }
    }
}
}

EDIT: Mit den Commits geht es auch nicht

ok war tatsächlich ein Fehler in der json

@stefan

Mit aktuellem hopglass/hopglass-server (aus master) kann ich durch Einfügen von mesh interface Infos in der aliases.json die Links als l2tp anzeigen lassen:

[...]
  "network": {
    "addresses": [
      "2a03:2260:121:3::4",
      "10.188.0.4"
    ],
    "mesh": {
      "bat0": {
        "interfaces": {
          "l2tp": [
            "2e:9d:fa:a1:6b:04"
          ]
        } 
      }
    },
    "mac": "2e:9d:fa:a1:6b:04"
  },
[...]

Und entsprechend für die anderen Gateways.

1 „Gefällt mir“

Moin,

ich spiele hier grad auch mit der aliases.json ein wenig rum.

Sollte der Hopglass nicht in den ROuterdetails das Gewählte Gateway den Namen aus der aliases.json anstatt der Mac anzeigen? Tut er hier irgendwie nicht :frowning:

Das ist noch nicht möglich aber als Feature geplant, siehe zum Beispiel Translate GW Mac to Names via Siteconf by PowerPan · Pull Request #42 · hopglass/hopglass · GitHub

Ein hässlicher Workaround aus meshviewer Zeiten: als node_id in der aliases.json die mac Adresse inklusive Doppelpunkte nehmen. Das macht aber an anderen Stellen eventuell wieder was kaputt und ist deshalb eher nicht zu empfehlen. Ich weiß ehrlich gesagt auch nicht, ob das überhaupt noch funktioniert…

1 „Gefällt mir“

ah, danke!

Was mich nur wundert: Wir haben 2 fastd Instanzen - welche MAC ist das, die der Hopglass als Gateway nimmt? Bei einem Gateway ist es hier die mac der 2. fastd Instanz

Wenn batman mehrere lower devices eingetragen hat wird eines davon zum „Main Interface“ gekürt (normalerweise das erste was mit batctl if add hinzugefügt wurde) und die MAC-Adresse von diesem Interface ist dann wahrscheinlich die, die bei hopglass als gateway auftaucht.
Ich hab das jetzt nicht geprüft, aber wenn du sagst, dass es bei Verbindungen über beide fastd instanzen die gleiche ist klingt das logisch.

1 „Gefällt mir“