# Fastd starten screen -AmSd fastd fastd -c /etc/fastd/ff/fastd.conf --log-level debug #Warten sodass fastd die devices sicher erstellt hat sleep 5 #MAC-Adresse des VPN-Interface einrichten ip link set down address 02:FF:4D:59:4B:10 dev ffmyk-mesh-vpn ip link set up dev ffmyk-mesh-vpn #VPN-Interface als B.A.T.M.A.N.-Device einrichten batctl if add ffmyk-mesh-vpn #Server-Modus (=kann Broadcast empfangen, für DHCP) batctl gw server #Intervall der Originator-Beacons batctl it 10000 #B.A.T.M.A.N-Interface einschalten ip link set up dev bat0 #Netzwerkbrücke einrichten und B.A.T.M.A.N-Interface hinzufügen brctl addbr br-ffmyk brctl addif br-ffmyk bat0 ip link set up dev br-ffmyk #IPs vergeben ip addr add 10.222.xxx.xxx/16 dev br-ffmyk ip addr add 2a01:198:70a:ff::xxx:xxx/64 dev br-ffmyk #Nur Stat-Server #screen -AmSd alfred alfred -i br-ffmyk -b bat0 -m #screen -AmSd batadv-vis batadv-vis -i bat0 -s #Hop-Penalty soll den Nodes Mesh-Verbindungen schmackhafter machen - normal würde VPN wegen geringerem Packet-Loss immer bevorzugt echo 128 > /sys/class/net/bat0/mesh/hop_penalty #IP-Forwardung wäre für Router hilfreich… sysctl -w net.ipv4.ip_forward=1 #OpenVPN starten systemctl start openvpn@mullvad #Routing umbiegen - alles was über br-ffmyk rein kommt wird als 0x1 markiert iptables -t mangle -A PREROUTING -i br-ffmyk -j MARK --set-xmark 0x1/0xffffffff #Alles auf dem Interface mullvad (via OpenVPN) macht NAT-Masquerading iptables -t nat -A POSTROUTING -o mullvad -j MASQUERADE #Routingtabelle 42 (==Freifunk) ist per default nicht erreichbar ip route add unreachable default table 42 #Alles, was mit 0x1 markiert wird gehört zu Tabelle 42 ip rule add from all fwmark 0x1 table 42 #Alles mit Freifunk-IP - woher auch immer - gehlrt zu Tabelle 42 ip rule add from 10.222.0.0/16 table 42 #Tabelle 42 routet das Ziel mit Freifunk-IPs über das Device br-ffmyk ip route add 10.222.0.0/16 dev br-ffmyk table 42 #DHCP brauch bei neu auftauchenden devices (start fastd) einen restart systemctl restart dhcpd4