Aufsetzen eines Servers/Gateways mit BATMAN-adv/Fastd/OpenVPN

Dieses Howto ist für Leute gedacht die selber einen Server bereitstellen wollen der als Knotenpunkt und vielleicht auch als Gateway (Exit-Node/Gateway) dient. Das heißt das viele Knoten (z.B. Router) sich über diesen Server verbinden und Daten austauschen können. Ebenso kann für alle Nutzer eine Internetanbindung über einen VPN-Provider zur Verfügung gestellt werden. Die Anleitung ist definitiv für fortgeschrittene Nutzer gedacht und wurde für Debian/Ubuntu Systeme geschrieben. Sie sollte aber auch für andere unixartige Systeme funktionieren.

Installation von einigen noch nötigen Programmen:

apt-get install bridge-utils tayga radvd

/etc/radvd.conf

interface bat0 {
	IgnoreIfMissing on;
	AdvSendAdvert on;
	AdvOtherConfigFlag off;
	AdvDefaultLifetime 1800;
	AdvLinkMTU 0;
	AdvCurHopLimit 64;
	AdvReachableTime 0;
	MaxRtrAdvInterval 600;
	MinRtrAdvInterval 198;
	AdvDefaultPreference high;
	AdvRetransTimer 0;
	AdvManagedFlag off;
	UnicastOnly on; #send RAs only as a request as unicast

	prefix fdef:17a0:ffb1:300::/64 {
		AdvOnLink on;
		AdvAutonomous on;
		AdvRouterAddr on;
	};
	prefix 2001:bf7:1320:300::/64 {
		AdvOnLink on;
		AdvAutonomous on;
		AdvRouterAddr on;
	};
	RDNSS fdef:17a0:ffb1:300::1 {  };
};

/etc/tayga.conf

tun-device nat64
ipv4-addr 10.26.0.1
prefix fdef:17a0:ffb1:1337::/96
dynamic-pool 10.26.0.0/20
data-dir /var/spool/tayga

/root/setup.sh

#!/bin/sh

is_running() {
  ps aux | grep -v grep | grep "$1" > /dev/null
}

if ! lsmod | grep -v grep | grep "batman_adv" > /dev/null; then
  echo "(I) Start batman-adv."
  echo "5000" >  /sys/class/net/bat0/mesh/orig_interval
fi

if ! is_running "alfred"; then
  echo "(I) Start alfred."
  alfred -i bat0  -b bat0 -m &> /dev/null &
fi

if ! is_running "fastd"; then
  echo "(I) Start fastd."
  fastd --config /etc/fastd/vpn/fastd.conf --daemon || error "Cannot start fastd."
fi

if ! is_running "radvd"; then
  echo "(I) Start radvd."
  /etc/init.d/radvd start
fi

if ! is_running "tayga"; then
  echo "(I) Start tayga."
  /etc/init.d/tayga start
fi

ip link set bat0 up
ip -6 addr add fdef:17a0:ffb1:300::1/64 dev bat0
ip -6 addr add 2001:bf7:1320:300::1/64 dev bat0

#is_running "openvpn " || /etc/init.d/openvpn start