Dies ist eine alte Version des Dokuments!
Meshkit für Freifunk Erfurt
Zurzeit nutzen wir den Meshkit Freifunk OpenWrt Imagebuilder mit einem Erfurter Profil, welches für viele modernen Freifunk-Router (z.B. TP-Link 841N) verfügbar ist. Dazu muss als Community Erfurt ausgewählt werden. Mit der Expert-Checkbox können wichtige und zusätzliche Parameter vorkonfiguriert werden. Mit dem Drücken auf Submit generiert die Webseite ein Firmware-Image, welches über das Webinterface des Routers eingespielt werden kann.
Nach dem Flashen ist der Router zunächst für Freifunk konfiguriert, es fehlen aber noch weitere Programme, insbesondere der VPN-Zugang.
Post-Install-Schritte
- Port Forward SSH from WAN config redirect option enabled '1' option target 'DNAT' option src 'wan' option dest 'lan' option proto 'tcp' option src_dport '22' option dest_ip '10.99.0.6' option dest_port '22' option name ‘SSH’ - Install fastd from openwork opkg install http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/packages/fastd_14-1_ar71xx.ipk - Install kmod-ipip opkg install kmod-ipip - Config fastd - Config OLSRd - Config network (mesh-vpn) - Reboot - Firewall-Zone (mesh-vpn) - Input / Output / Forward ACCEPT - Masquerading - Forwarding Freifunk / WAN
fastd VPN
* Keys generieren und sicher abspeichern:
# fastd --generate-key 2014-08-26 23:19:58 +0200 --- Info: Reading 32 bytes from /dev/random... Secret: 5014214cd21e84140d37de6a9a8f490e249ab8674f1836a4fc0b6015da731463 Public: 81ebc85e924595557eccaa5b54941e50416149958a032eccad1f0cc09b73f029
* VPN-Server konfigurieren:
# mkdir /etc/fastd/peers # echo "key "3e652183339f2a68cb842a45de65fd1a1ea067c38841a21eb6a178c07a94d660"; remote ipv4 "sj.weimarnetz.de" port 10000;" > /etc/fastd/peers/connectionPartner
config
Die Datei /etc/config/fastd um folgenden Absatz erweitern:
config fastd freifunk option enabled 1 list config_peer_dir '/etc/fastd/peers' option syslog_level 'info' list bind '0.0.0.0:10000' list method 'null' option mode 'tap' option interface 'mesh-vpn' option mtu 1426 option secure_handshakes 1 option secret '0000000000000000000000000000000000000000000000000000000000000000' option up 'ip link set up dev $1;ip a a 10.99.254.X/24 dev $1;logger fastd tunnel active'
Den privaten Key in secret eintragen (und entsprechend sicher lokal abspeichern) und den öffentlichen Key an stephan@freifunk-erfurt.de schicken oder im IRC durchgeben. Dieser wird dann in der Server-Config auch als Peer eingetragen. Dann in der letzten Zeile in der IP-Adresse das X durch die Zahl des eindeutigen VPN-Nodes ersetzen, welcher dir dann mitgeteilt wird.
Netzwerk
Die Network-Config wird um ein weiteres Interface erweitert. In die Datei /etc/config/network folgenden Abschnitt einfügen:
config interface 'mvpn' option ifname 'mesh-vpn' option proto 'none'
OLSR
Die vollständige OLSRd Config sieht so aus:
config olsrd 'olsrd' option IpVersion '4' option FIBMetric 'flat' option LinkQualityLevel '2' option LinkQualityAlgorithm 'etx_ff' option OlsrPort '698' option Willingness '3' option NatThreshold '1.0' option RtTable '111' option RtTableDefault '112' config LoadPlugin 'olsrd_arprefresh' option library 'olsrd_arprefresh.so.0.1' config LoadPlugin 'olsrd_nameservice' option library 'olsrd_nameservice.so.0.3' option latlon_file '/var/run/latlon.js' option hosts_file '/var/etc/hosts.olsr' option sighup_pid_file '/var/run/dnsmasq.pid' option services_file '/var/run/services_olsr' option suffix '.olsr.erfurt.freifunk.net' config LoadPlugin 'olsrd_txtinfo' option library 'olsrd_txtinfo.so.0.1' option accept '0.0.0.0' config InterfaceDefaults 'InterfaceDefaults' option Ip4Broadcast '255.255.255.255' option Mode 'mesh' config LoadPlugin 'dyngw_plain' option library 'olsrd_dyn_gw_plain.so.0.4' option ignore '1' config LoadPlugin 'olsrd_watchdog' option library 'olsrd_watchdog.so.0.1' option file '/var/run/olsrd.watchdog' option interval '30' config LoadPlugin 'olsrd_jsoninfo' option library 'olsrd_jsoninfo.so.0.0' config Interface 'wireless0' option interface 'wireless0' option Mode 'mesh' config Interface option interface 'mvpn' option Mode 'ether'