Freifunk-Gateway aufsetzen/VPN/vxlan: Unterschied zwischen den Versionen
Aus Freifunk Franken
McUles (Diskussion | Beiträge) |
Rola (Diskussion | Beiträge) (→Batman) |
||
Zeile 107: | Zeile 107: | ||
# INTERFACES="vxbat0 vxbat2" | # INTERFACES="vxbat0 vxbat2" | ||
</pre> | </pre> | ||
Version vom 5. Dezember 2020, 20:15 Uhr
Achtung!! VPN via vxlan befindet sich in Etwicklung. Es ist nicht mit der aktuellen Firmware verfügbar
Achtet auch darauf das ihr einen einigermaßen aktuellen Kernel installiert habt, mit 4.9 geht es schon mal nicht :)
Funktion
Installation
Keine weitere Installaton notwendig.
Konfiguation
vxlan
Als erstes die vxlan interfaces in /etc/network/interfaces../... anlegen:
auto vxbat0 iface vxbat0 inet manual pre-up ip l a dev $IFACE type vxlan id 7 dstport 8472 srcport 8472 8473 local 2a01:4f8:1c0c:70c4::2 pre-up ip l s dev $IFACE mtu 1422 post-up batctl -m bat0 if add $IFACE pre-down batctl -m bat0 if del $IFACE post-down ip l d dev $IFACE auto vxbat1 iface vxbat1 inet manual .... usw.
Achtung! port ist immer 8472. Nur id, local und die Interfaces anpassen.
id = hoodid
Jetzt braucht man noch das vxmon.sh Skript von hier: https://gist.github.com/lemmi/efec483cb3c0dcfb8162bd016c48f61b
#!/bin/bash DEVS=$@ handle_add() { mac="${1:?}" dev="${2:?}" dst="${3:?}" echo "bridge fdb append 00:00:00:00:00:00 dst $dst dev $dev" bridge fdb append 00:00:00:00:00:00 dst "$dst" dev "$dev" } handle_cleanup() { mac="${1:?}" dev="${2:?}" dst="${3:?}" if ! bridge fdb show dev "$dev" | grep -v 00:00:00:00:00:00 | grep "$dst"; then bridge fdb del 00:00:00:00:00:00 dst "$dst" dev "$dev" fi } handle_entry() { cmd=handle_add if [ "$1" = "Deleted" ]; then shift cmd=handle_cleanup fi mac="${1:?}" dev="${3:?}" grep -w "$dev" <<<"$DEVS" || return if [ "$mac" = "00:00:00:00:00:00" ]; then echo "skipping" "$@" return fi $cmd "$mac" "$3" "$5" } bridge monitor fdb | while read args; do handle_entry $args done
Zum Starten des Skriptes kann man sich eine unit anlegen:
# cat /etc/systemd/system/vxmon.service [Unit] Description=vxlan monitoring to add peers Before=networking.service [Service] Type=simple EnvironmentFile=/etc/default/vxmon ExecStart=/usr/local/sbin/vxmon.sh $INTERFACES Restart=on-abort [Install] WantedBy=multi-user.target
Wie man sieht, können jetzt die Interfaces in /etc/default/vxmon eingetragen werden:
# cat /etc/default/vxmon # Hier alle vxlan interfaces eintragen. z.B # INTERFACES="vxbat0 vxbat2"