Knowledgebase/OpenWrt OLSR Setup
Currently there is no easy wizard for setting up OLSR on OpenWrt. This guide shall serve as a base for those that feel komfortable with building their own OpenWrt Systems (or have someone build it for them) and have basic knowledge of SSH and a Linux shell.
This guide is written for a router without Wifi. If you plan on doing routing on a device with Wifi, you'll need some additional packages for Wifi support.
OpenWrt System
To get the Freifunk status page, you'll need to activate the Freifunk package feed. To do this, copy feeds.conf.default
to feeds.conf
and add the following line: src-git freifunk https://github.com/freifunk/openwrt-packages.git
Apart from the default packages for your target, you'll want to install the following packages:
- luci
- alternatively: luci-ssl-openssl (for TLS on Webinterface)
- optional: luci-app-acme (for TLS on Webinterface)
- luci-app-olsr
- luci-app-olsr-services
- luci-app-olsrd2
- optional: luci-app-sqm (if you want to use smart queue management for NAT)
- optional: luci-app-unbound (if you want your own DNS resolver)
- optional: luci-app-openvpn (for use with tunnelserver)
- optional: openvpn-openssl (for use with tunnelserver)
- freifunk-common
- luci-mod-freifunk
- olsrd
- olsrd-mod-arprefresh
- olsrd-mod-jsoninfo
- olsrd-mod-nameservice
- olsrd-mod-txtinfo
- oonf-olsrd2
- oonf-init-scripts
- oonf-olsrd2-lan_import
- oonf-olsrd2-dlep_router
- oonf-olsrd2-lan
- optional: ethtool-full (for ethernet connection debugging)
- optional: iperf3 (for performance debugging)
- optional: tcpdump (for general network debugging)
- optional: vim (or any other text editor. Per default OpenWrt comes with a very minimal vi implementation by BusyBox)
- optional: netdata (will suck quite a lot of RAM and storage space but can be handy for debugging)
netdata
If you installed Netdata, you can secure it using the following configuration in etc/netdata/netdata.conf
:
[global] update every = 2 memory deduplication (ksm) = no debug log = syslog error log = syslog access log = none run as user = root [web] allow connections from = localhost 10.* 192.168.* 172.16.* 172.17.* 172.18.* 172.19.* 172.20.* 172.21.* 172.22.* 172.23.* 172.24.* 172.25.* 172.26.* 172.27.* 172.28.* 172.29.* 172.30.* 172.31.* allow dashboard from = localhost 10.* 192.168.* 172.16.* 172.17.* 172.18.* 172.19.* 172.20.* 172.21.* 172.22.* 172.23.* 172.24.* 172.25.* 172.26.* 172.27.* 172.28.* 172.29.* 172.30.* 172.31.* [plugins] cgroups = no apps = no charts.d = no fping = no node.d = no python.d = no [health] enabled = no [plugin:proc] ipc = no