Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
gatewaykonfiguration [2015/03/11 20:13] – adlerweb | gatewaykonfiguration [2015/03/27 21:27] – [Fastd] anpassungen neue MTU adlerweb | ||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
==== Optional (Karte/ | ==== Optional (Karte/ | ||
- | * lighttpd | + | * python |
* batman-alfred | * batman-alfred | ||
* batman-alfred-json-git | * batman-alfred-json-git | ||
+ | * ffmap | ||
+ | * ffmap-backend (patched) | ||
+ | * ffapi-updater (adlerweb) | ||
+ | * Ein Haufen Workarounds… | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Zeile 55: | Zeile 61: | ||
driftfile / | driftfile / | ||
</ | </ | ||
+ | |||
+ | NTP sollte automatisch starten | ||
+ | |||
+ | ==== Haveged ==== | ||
+ | |||
+ | Der Server muss z.T. einiges an Crypto abarbeiten und kann daher - vorallen da keine Tastatur/ | ||
==== Fastd ==== | ==== Fastd ==== | ||
- | Fastd ist ein VPN-Server/ | + | Fastd ist ein VPN-Server/ |
(" | (" | ||
Zeile 67: | Zeile 79: | ||
method " | method " | ||
secure handshakes yes; | secure handshakes yes; | ||
- | bind 0.0.0.0:5000; | + | bind 0.0.0.0:10001; |
hide ip addresses yes; | hide ip addresses yes; | ||
hide mac addresses yes; | hide mac addresses yes; | ||
- | mtu 1426; | + | mtu 1194; |
include peers from " | include peers from " | ||
secret " | secret " | ||
Zeile 76: | Zeile 88: | ||
<code php / | <code php / | ||
+ | # | ||
<?php | <?php | ||
$url = ' | $url = ' | ||
- | $out = '/ | + | $out = '/ |
if(!is_dir($out)) die(' | if(!is_dir($out)) die(' | ||
Zeile 114: | Zeile 127: | ||
</ | </ | ||
- | Das PHP-Script sollte mindestens alle 10 Minuten via Cron aufgerufen werden (cd /etc/fastd/vpn/bin ; php -f gen.php). Es ist zu beachten, dass das Script zum Erstellen der Configs und reload des fastd entsprechende Berechtigungen benötigt. | + | Das PHP-Script sollte mindestens alle 10 Minuten via Cron aufgerufen werden (cd /etc/fastd/ff/bin ; php -f fastd-api.php). Es ist zu beachten, dass das Script zum Erstellen der Configs und reload des fastd entsprechende Berechtigungen benötigt. Der Daemon selbst wird über das Routing-Script im Screen gestartet und ist nicht als Systemdienst hinterlegt. |
+ | |||
+ | Hinweis: Ggf. muss in der php.ini die Variable open_basedir ergänzt oder auskommentiert werden. | ||
* ERR: Inter Supernode VPN | * ERR: Inter Supernode VPN | ||
Zeile 137: | Zeile 152: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | dhcpd4 sollte automatisch starten | ||
* TODO: Feste IPs via API | * TODO: Feste IPs via API | ||
Zeile 238: | Zeile 255: | ||
</ | </ | ||
+ | |||
+ | DNS/ | ||
* ERR: Das ist für Master, wir bräuchten Multimaster oder Slaves | * ERR: Das ist für Master, wir bräuchten Multimaster oder Slaves | ||
Zeile 324: | Zeile 343: | ||
</ | </ | ||
chmod +x nicht vergessen! | chmod +x nicht vergessen! | ||
+ | |||
+ | OpenVPN wird über das Routing-Script gestartet und ist nicht als Systemdienst hinterlegt. | ||
+ | |||
+ | |||
+ | ==== Traffic-Statistik ==== | ||
+ | |||
+ | Um den Überblick zu behalten verwenden wir vnstat um Trafficstatistiken (nur Interface-Auslastung) zu sammeln. | ||
+ | |||
+ | Nach der Installation müssen die Interfaces einmalig registriert werden | ||
+ | <code bash> | ||
+ | vnstat -u -i enp3s0 | ||
+ | vnstat -u -i br-ffmyk | ||
+ | vnstat -u -i mullvad | ||
+ | </ | ||
+ | |||
+ | Im Anschluss wird der Daemon vnstatd gestartet und als Systemdienst eingerichtet. | ||
+ | |||
+ | * TODO: Zentrales sammeln | ||
==== Routing ==== | ==== Routing ==== | ||
Zeile 329: | Zeile 366: | ||
Beim Start des Servers sollte ein Script die grundlegende Konfiguration durchführen. Dies beinhaltet u.A. die Einrichtung der Routingtablellen und Netzwerkbrücken. | Beim Start des Servers sollte ein Script die grundlegende Konfiguration durchführen. Dies beinhaltet u.A. die Einrichtung der Routingtablellen und Netzwerkbrücken. | ||
- | [[MAC-Adressen|MAC-Adresse]] aus der Liste wählen - diese wird genutzt um das Gerät in der Map als Gateway zu identifizieren | + | [[MAC-Adressen|MAC-Adresse]] aus der Liste wählen - diese wird genutzt um das Gerät in der Map als Gateway zu identifizieren. |
+ | |||
+ | Vor dem Ausführen des Scripts muss das Kernelmodul batman-adv geladen sein. | ||
+ | <code bash / | ||
+ | batman-adv | ||
+ | </ | ||
<code bash init.sh> | <code bash init.sh> | ||
# Fastd starten | # Fastd starten | ||
- | screen -AmSd fastd fastd -c /etc/fastd/vpn/config | + | screen -AmSd fastd fastd -c /etc/fastd/ff/fastd.conf |
#Warten sodass fastd die devices sicher erstellt hat | #Warten sodass fastd die devices sicher erstellt hat | ||
sleep 5 | sleep 5 | ||
- | # | + | # |
ip link set down address 02: | ip link set down address 02: | ||
ip link set up dev ffmyk-mesh-vpn | ip link set up dev ffmyk-mesh-vpn | ||
+ | # | ||
batctl if add ffmyk-mesh-vpn | batctl if add ffmyk-mesh-vpn | ||
+ | |||
+ | # | ||
batctl gw server | batctl gw server | ||
+ | |||
+ | #Intervall der Originator-Beacons | ||
batctl it 10000 | batctl it 10000 | ||
+ | |||
+ | # | ||
ip link set up dev bat0 | ip link set up dev bat0 | ||
+ | # | ||
brctl addbr br-ffmyk | brctl addbr br-ffmyk | ||
brctl addif br-ffmyk bat0 | brctl addif br-ffmyk bat0 | ||
- | |||
ip link set up dev br-ffmyk | ip link set up dev br-ffmyk | ||
- | ip addr add 10.222.100.1/16 dev br-ffmyk | + | #IPs vergeben |
- | ip addr add 2a01: | + | ip addr add 10.222.xxx.xxx/16 dev br-ffmyk |
+ | ip addr add 2a01: | ||
#Nur Stat-Server | #Nur Stat-Server | ||
- | screen -AmSd alfred alfred -i br-ffmyk -b bat0 -m | + | #screen -AmSd alfred alfred -i br-ffmyk -b bat0 -m |
- | screen -AmSd batadv-vis batadv-vis -i bat0 -s | + | #screen -AmSd batadv-vis batadv-vis -i bat0 -s |
+ | # | ||
echo 128 > / | echo 128 > / | ||
+ | # | ||
sysctl -w net.ipv4.ip_forward=1 | sysctl -w net.ipv4.ip_forward=1 | ||
+ | #OpenVPN starten | ||
systemctl start openvpn@mullvad | systemctl start openvpn@mullvad | ||
+ | # | ||
iptables -t mangle -A PREROUTING -i br-ffmyk -j MARK --set-xmark 0x1/ | iptables -t mangle -A PREROUTING -i br-ffmyk -j MARK --set-xmark 0x1/ | ||
+ | |||
+ | #Alles auf dem Interface mullvad (via OpenVPN) macht NAT-Masquerading | ||
iptables -t nat -A POSTROUTING -o mullvad -j MASQUERADE | iptables -t nat -A POSTROUTING -o mullvad -j MASQUERADE | ||
+ | # | ||
ip route add unreachable default table 42 | 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 | 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/ | ip rule add from 10.222.0.0/ | ||
+ | |||
+ | #Tabelle 42 routet das Ziel mit Freifunk-IPs über das Device br-ffmyk | ||
ip route add 10.222.0.0/ | ip route add 10.222.0.0/ | ||
+ | #DHCP brauch bei neu auftauchenden devices (start fastd) einen restart | ||
systemctl restart dhcpd4 | systemctl restart dhcpd4 | ||
</ | </ | ||
- | |||
- | |||
---- | ---- |
gatewaykonfiguration.txt · Zuletzt geändert: 2020/10/17 20:04 von 127.0.0.1