Freifunk-Gateway aufsetzen/VPN/vxlan: Unterschied zwischen den Versionen
Aus Freifunk Franken
						
						
					| Rola (Diskussion | Beiträge)  (Die Seite wurde neu angelegt: „==vxlan vpn auf dem Gateway einrichten == als erstes die vxlan interfaces in /etc/network/interfaces../... anlegen: <pre> auto vxbat0 iface vxbat0 inet manual…“) | Rola (Diskussion | Beiträge)  | ||
| Zeile 18: | Zeile 18: | ||
| Achtung! port ist immer 8472. Nur id, local und die Interfaces anpassen | Achtung! port ist immer 8472. Nur id, local und die Interfaces anpassen | ||
| Jetzt braucht man noch das vxmon.sh Skript von hier | Jetzt braucht man noch das vxmon.sh Skript von hier:  | ||
| https://gist.github.com/lemmi/efec483cb3c0dcfb8162bd016c48f61b | |||
| <pre> | <pre> | ||
Version vom 7. August 2020, 02:52 Uhr
vxlan vpn auf dem Gateway einrichten
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
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"
Batman
Um vxlan zu bevorzugen müssen wir noch was mit batman machen. (kommt noch)

