Main.GatewayEinrichten History
Einfache Korrekturen ausblenden - Änderungen im Layout
26 May 2015 12:50 Uhr
von -
Zeile 6 bearbeitet:
geändert zu:
(:markup:)
Zeile 14 bearbeitet:
geändert zu:
(:markupend:)
Zeile 20 bearbeitet:
geändert zu:
(:markup:)
Zeile 23 bearbeitet:
geändert zu:
(:markupend:)
Zeile 29 bearbeitet:
geändert zu:
(:markup:)
Zeilen 32-33 bearbeitet:
geändert zu:
(:markupend:)
Zeile 36 bearbeitet:
geändert zu:
(:markup:)
Zeile 73 bearbeitet:
geändert zu:
(:markupend:)
26 May 2015 12:47 Uhr
von -
Zeilen 1-205 hinzugefügt:
[[http://gluon-gateway-doku.readthedocs.org/de/latest/index.html|Doku von Freifunk Mainz/Wiesbaden/Umgebung]]
! Kurzanleitung für Ubuntu 14.04
!!! Freifunk Repo zufügen und benötigte Pakete installieren
[@
aptitude install software-properties-common
add-apt-repository ppa:freifunk-mwu/freifunk-ppa
echo "deb http://repo.universe-factory.net/debian/ sid main" > /etc/apt/sources.list.d/freifunk.list
apt-key adv --keyserver keyserver.ubuntu.com --recv 16EF3F64CB201D9C
aptitude update
aptitude remove bind9
aptitude install dnsmasq build-essential bridge-utils git batctl fastd batman-adv-dkms alfred alfred-json batadv-vis openvpn tinc vnstat vnstati
@]
Test ob **modprobe batman-adv** eine Fehler ergibt, dann gibt es Probleme mit dem Kernel.
!!! Routing aktivieren
/etc/sysctl.conf
[@
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
@]
sysctl -p /etc/sysctl.conf
!!! Policyrouting vorbereiten
/etc/iproute2/rt_tables
[@
70 stuttgart
42 icvpn
@]
!!! Interfaces einrichten (IPs anpassen!!!)
/etc/network/interfaces
[@
auto ffs-br
iface ffs-br inet static
bridge_ports none
bridge_fd 0
bridge_maxwait 0
address 172.21.32.1
netmask 255.255.192.0
# be sure all incoming traffic is handled by the appropriate rt_table
post-up /sbin/ip rule add iif $IFACE table stuttgart priority 7000
pre-down /sbin/ip rule del iif $IFACE table stuttgart priority 7000
# default route is unreachable
post-up /sbin/ip route add unreachable default table stuttgart
post-down /sbin/ip route del unreachable default table stuttgart
iface ffs-br inet6 static
address fd21:b4dc:4b1e::a38:8
netmask 64
# ULA route mz for rt_table stuttgart
post-up /sbin/ip -6 route add fd21:b4dc:4b1e::/64 proto static dev $IFACE table stuttgart
post-down /sbin/ip -6 route del fd21:b4dc:4b1e::/64 proto static dev $IFACE table stuttgart
allow-hotplug ffs-vpn
iface ffs-vpn inet6 manual
hwaddress 02:00:0a:38:00:8
pre-up /sbin/modprobe batman-adv
post-up /usr/sbin/batctl -m bat0 if add $IFACE
post-up /sbin/ip link set dev bat0 up
allow-hotplug bat0
iface bat0 inet6 manual
pre-up /sbin/modprobe batman-adv
post-up /sbin/brctl addif ffs-br $IFACE
post-up /usr/sbin/batctl -m $IFACE it 10000
post-up /usr/sbin/batctl -m $IFACE vm server
post-up /usr/sbin/batctl -m $IFACE gw server 96mbit/96mbit
pre-down /sbin/brctl delif ffs-br $IFACE || true
@]
=== VPN/Fastd einrichten (IPs anpassen!!!) ===
mkdir /etc/fastd/ffs-vpn
git clone https://github.com/freifunk-stuttgart/peers-ffs /etc/fastd/ffs-vpn/peers
/etc/fastd/ffs-vpn/fastd.conf
# error|warn|info|verbose|debug|debug2
log level info;
hide ip addresses yes;
hide mac addresses yes;
interface "ffs-vpn";
method "salsa2012+umac"; # new method (faster)
method "salsa2012+gmac";
# Bind von v4 and v6 interfaces
bind 1.2.3.4:10037;
bind [2001:1111:2222:3333::1]:10037;
include "secret.conf";
mtu 1406; # 1492 - IPv4/IPv6 Header - fastd Header...
include peers from "peers";
status socket "/var/run/fastd-ffs.status";
=== Key generieren, alternativ vorhandenen nehmen ===
fastd --generate-key > /etc/fastd/ffs-vpn/gateway.key
echo -n "secret" >/etc/fastd/ffs-vpn/secret.conf
cat /etc/fastd/ffs-vpn/gateway.key | head -1 | awk '{print " \""$2"\";"}' >>/etc/fastd/ffs-vpn/secret.conf
cat /etc/fastd/ffs-vpn/secret.conf
Ergebis sollte eine Zeile sein die so aussieht:
secret "1234567890123456789012345678901234567890123456789012345678901234";
=== Alfred einrichten ===
/etc/default/alfred
INTERFACE=ffs-br
BATMANIF=bat0
DAEMON_ARGS="--master"
=== dnsmasq konfigurieren ===
/etc/dnsmasq.d/allgemein
interface=ffs-br
interface=bat0
interface=ffs-vpn
bind-interfaces
log-facility=/var/log/dnsmasq.log
/etc/dnsmasq.d/dhcp (IPs anpassen!!!)
dhcp-authoritative
#log-dhcp
domain=freifunk-stuttgart.de
dhcp-range=set:ffs,172.21.32.21,172.21.33.253,255.255.192.0,5m
dhcp-option=tag:ffs,3,172.21.32.1
dhcp-option=tag:ffs,option:dns-server,172.21.32.1,8.8.8.8
dhcp-option=tag:ffs,option:ntp-server,172.21.32.1
dhcp-range=set:ffsv6,::,constructor:ffs-br,slaac,ra-only,5m
dhcp-option=tag:ffsv6,option6:dns-server,fd21:b4dc:4b1e::a38:8
enable-ra
ra-param=ffs-br,low,0,0
/etc/dnsmasq.d/dns
no-resolv
no-hosts
cache-size=4096
#log-queries
# Forward DNS requests via wan-vpn
server=85.214.20.141 #@tun0 # FoeBud
server=213.73.91.35 #@tun0 # dnscache.berlin.ccc.de
server=141.1.1.1 #@tun0 #
server=8.8.8.8 #@tun0 # Google
server=8.8.4.4 #@tun0 # Google
=== Openvpn Berlin (anderer Anbieter wie CyberGhost) ===
/etc/openvpn/freifunk.conf
# Datei von Berlin (xxxxxxx-udp.ovpn) rein kopieren oder umbenennen
# folgende Zeilen am Anfang hinzufügen
route-noexec
script-security 2
up "openvpn-up"
down "openvpn-down"
/etc/openvpn/openvpn-up
#!/bin/sh
ip rule add from $ifconfig_local table stuttgart priority 9970
ip route add 0.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart
ip route add 128.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart
# NAT aktivieren, wird benötigt wenn NICHT Berlin
#iptables -t nat -A POSTROUTING -o $dev -j MASQUERADE
exit 0
/etc/openvpn/openvpn-down
#!/bin/sh
ip rule del from $ifconfig_local table stuttgart priority 9970
# NAT deaktivieren, wird benötigt wenn NICHT Berlin
#iptables -t nat -D POSTROUTING -o $dev -j MASQUERADE
exit 0
chmod +x /etc/openvpn/openvpn-*
reboot
=== Funktionstest kann beginnen ===
=== Freifunk Aktualisierungen ===
/etc/crontab
_ */3 * * * * root update-freifunk
/usr/local/bin/update-freifunk
#!/bin/sh
# Peers aktualisieren
cd /etc/fastd/ffs-vpn/peers
git pull -q
# fastd Config reload
killall -SIGHUP fastd
# VPN Status
connections.py >/var/www/html/fastd.html
====== Gateway sicher vom Netz nehmen ======
Wenn ein Gateway aus dem Netz raus soll, bitte wiefolgt vorgehen, damit es keine Ausfälle bei den Nodes und Clients gibt
* batctl gw off
* 1 Minute warten
* DHCP Server deaktivieren, bei Dnsmasq die Datei /etc/dnsmasq.d/dhcp entfernen und dnsmasq neu starten
* 10 Minuten warten, damit die Clients eine IP vom Alternativ-DHCP Server bekommen
* fastd beenden
{{tag>gw setup howto}}
! Kurzanleitung für Ubuntu 14.04
!!! Freifunk Repo zufügen und benötigte Pakete installieren
[@
aptitude install software-properties-common
add-apt-repository ppa:freifunk-mwu/freifunk-ppa
echo "deb http://repo.universe-factory.net/debian/ sid main" > /etc/apt/sources.list.d/freifunk.list
apt-key adv --keyserver keyserver.ubuntu.com --recv 16EF3F64CB201D9C
aptitude update
aptitude remove bind9
aptitude install dnsmasq build-essential bridge-utils git batctl fastd batman-adv-dkms alfred alfred-json batadv-vis openvpn tinc vnstat vnstati
@]
Test ob **modprobe batman-adv** eine Fehler ergibt, dann gibt es Probleme mit dem Kernel.
!!! Routing aktivieren
/etc/sysctl.conf
[@
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
@]
sysctl -p /etc/sysctl.conf
!!! Policyrouting vorbereiten
/etc/iproute2/rt_tables
[@
70 stuttgart
42 icvpn
@]
!!! Interfaces einrichten (IPs anpassen!!!)
/etc/network/interfaces
[@
auto ffs-br
iface ffs-br inet static
bridge_ports none
bridge_fd 0
bridge_maxwait 0
address 172.21.32.1
netmask 255.255.192.0
# be sure all incoming traffic is handled by the appropriate rt_table
post-up /sbin/ip rule add iif $IFACE table stuttgart priority 7000
pre-down /sbin/ip rule del iif $IFACE table stuttgart priority 7000
# default route is unreachable
post-up /sbin/ip route add unreachable default table stuttgart
post-down /sbin/ip route del unreachable default table stuttgart
iface ffs-br inet6 static
address fd21:b4dc:4b1e::a38:8
netmask 64
# ULA route mz for rt_table stuttgart
post-up /sbin/ip -6 route add fd21:b4dc:4b1e::/64 proto static dev $IFACE table stuttgart
post-down /sbin/ip -6 route del fd21:b4dc:4b1e::/64 proto static dev $IFACE table stuttgart
allow-hotplug ffs-vpn
iface ffs-vpn inet6 manual
hwaddress 02:00:0a:38:00:8
pre-up /sbin/modprobe batman-adv
post-up /usr/sbin/batctl -m bat0 if add $IFACE
post-up /sbin/ip link set dev bat0 up
allow-hotplug bat0
iface bat0 inet6 manual
pre-up /sbin/modprobe batman-adv
post-up /sbin/brctl addif ffs-br $IFACE
post-up /usr/sbin/batctl -m $IFACE it 10000
post-up /usr/sbin/batctl -m $IFACE vm server
post-up /usr/sbin/batctl -m $IFACE gw server 96mbit/96mbit
pre-down /sbin/brctl delif ffs-br $IFACE || true
@]
=== VPN/Fastd einrichten (IPs anpassen!!!) ===
mkdir /etc/fastd/ffs-vpn
git clone https://github.com/freifunk-stuttgart/peers-ffs /etc/fastd/ffs-vpn/peers
/etc/fastd/ffs-vpn/fastd.conf
# error|warn|info|verbose|debug|debug2
log level info;
hide ip addresses yes;
hide mac addresses yes;
interface "ffs-vpn";
method "salsa2012+umac"; # new method (faster)
method "salsa2012+gmac";
# Bind von v4 and v6 interfaces
bind 1.2.3.4:10037;
bind [2001:1111:2222:3333::1]:10037;
include "secret.conf";
mtu 1406; # 1492 - IPv4/IPv6 Header - fastd Header...
include peers from "peers";
status socket "/var/run/fastd-ffs.status";
=== Key generieren, alternativ vorhandenen nehmen ===
fastd --generate-key > /etc/fastd/ffs-vpn/gateway.key
echo -n "secret" >/etc/fastd/ffs-vpn/secret.conf
cat /etc/fastd/ffs-vpn/gateway.key | head -1 | awk '{print " \""$2"\";"}' >>/etc/fastd/ffs-vpn/secret.conf
cat /etc/fastd/ffs-vpn/secret.conf
Ergebis sollte eine Zeile sein die so aussieht:
secret "1234567890123456789012345678901234567890123456789012345678901234";
=== Alfred einrichten ===
/etc/default/alfred
INTERFACE=ffs-br
BATMANIF=bat0
DAEMON_ARGS="--master"
=== dnsmasq konfigurieren ===
/etc/dnsmasq.d/allgemein
interface=ffs-br
interface=bat0
interface=ffs-vpn
bind-interfaces
log-facility=/var/log/dnsmasq.log
/etc/dnsmasq.d/dhcp (IPs anpassen!!!)
dhcp-authoritative
#log-dhcp
domain=freifunk-stuttgart.de
dhcp-range=set:ffs,172.21.32.21,172.21.33.253,255.255.192.0,5m
dhcp-option=tag:ffs,3,172.21.32.1
dhcp-option=tag:ffs,option:dns-server,172.21.32.1,8.8.8.8
dhcp-option=tag:ffs,option:ntp-server,172.21.32.1
dhcp-range=set:ffsv6,::,constructor:ffs-br,slaac,ra-only,5m
dhcp-option=tag:ffsv6,option6:dns-server,fd21:b4dc:4b1e::a38:8
enable-ra
ra-param=ffs-br,low,0,0
/etc/dnsmasq.d/dns
no-resolv
no-hosts
cache-size=4096
#log-queries
# Forward DNS requests via wan-vpn
server=85.214.20.141 #@tun0 # FoeBud
server=213.73.91.35 #@tun0 # dnscache.berlin.ccc.de
server=141.1.1.1 #@tun0 #
server=8.8.8.8 #@tun0 # Google
server=8.8.4.4 #@tun0 # Google
=== Openvpn Berlin (anderer Anbieter wie CyberGhost) ===
/etc/openvpn/freifunk.conf
# Datei von Berlin (xxxxxxx-udp.ovpn) rein kopieren oder umbenennen
# folgende Zeilen am Anfang hinzufügen
route-noexec
script-security 2
up "openvpn-up"
down "openvpn-down"
/etc/openvpn/openvpn-up
#!/bin/sh
ip rule add from $ifconfig_local table stuttgart priority 9970
ip route add 0.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart
ip route add 128.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart
# NAT aktivieren, wird benötigt wenn NICHT Berlin
#iptables -t nat -A POSTROUTING -o $dev -j MASQUERADE
exit 0
/etc/openvpn/openvpn-down
#!/bin/sh
ip rule del from $ifconfig_local table stuttgart priority 9970
# NAT deaktivieren, wird benötigt wenn NICHT Berlin
#iptables -t nat -D POSTROUTING -o $dev -j MASQUERADE
exit 0
chmod +x /etc/openvpn/openvpn-*
reboot
=== Funktionstest kann beginnen ===
=== Freifunk Aktualisierungen ===
/etc/crontab
_ */3 * * * * root update-freifunk
/usr/local/bin/update-freifunk
#!/bin/sh
# Peers aktualisieren
cd /etc/fastd/ffs-vpn/peers
git pull -q
# fastd Config reload
killall -SIGHUP fastd
# VPN Status
connections.py >/var/www/html/fastd.html
====== Gateway sicher vom Netz nehmen ======
Wenn ein Gateway aus dem Netz raus soll, bitte wiefolgt vorgehen, damit es keine Ausfälle bei den Nodes und Clients gibt
* batctl gw off
* 1 Minute warten
* DHCP Server deaktivieren, bei Dnsmasq die Datei /etc/dnsmasq.d/dhcp entfernen und dnsmasq neu starten
* 10 Minuten warten, damit die Clients eine IP vom Alternativ-DHCP Server bekommen
* fastd beenden
{{tag>gw setup howto}}
Page last modified on 26 May 2015 12:50 Uhr