Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


intercity-vpn

Dies ist eine alte Version des Dokuments!


InterCity-VPN

ASN 65433 (Autonomes System)

siehe: https://wiki.freifunk.net/IC-VPN

Öffentliche IPv6-Adressen: 2001:bf7:70::/44 die 70 ist entsprechend Wahlkreis 70 „Pinneberg“ vergeben worden.

Transfernetz IPv6: fec0:a:cf:1e

Registrieren bei NOC Berlin: mailto:noc@berlin.freifunk.net

Konfiguration unter https://github.com/freifunk-pinneberg/icvpn-meta/blob/master/pinneberg, die Daten dort müssen vor Inbetriebnahme aktualisiert werden.

Vorüberlegungen

  • Damit eine redundante Anbindung realisiert werden kann, sollten zwei Systeme das Routing übernehmen
    • gate01
    • gate04

Basisdaten

Informationen zu den einzelnen am ICVPN teilnehmenden Communities.

Die Metadaten werden in /var/lib/icvpn-meta gespeichert. Der Ursprung ist ein Git-Repository, die Aktualisierung erfolgt durch ein Script mit Cron-Job (s.u.).

Es gibt eine Sammlung von Scripts für ICVPN: icvpn-scripts.

Voraussetzung und Installation

aptitude install python3 python3-yaml
cd /opt
git clone https://github.com/freifunk/icvpn-scripts

Das folgende Script wird mittels eines Cron-Jobs (in cron.daily) täglich ausgeführt

icvpn-update
#!/bin/sh
#
# Freifunk Intercity VPN:  Daten aktualisieren
#
 
OWN_COMMUNITY=pinneberg
ICVPN_META_DIR=/var/lib/icvpn-meta
BIRD_CONF=/etc/bird/bird.d/icvpn.conf
NAMED_CONF=/etc/bind/named.conf.icvpn-zones
 
# Basisdaten über Git aktualisieren
cd /etc/tinc/icvpn
git pull -q
cd $ICVPN_META_DIR
git pull -q
 
# Konfigurationsdateien aus den neuen Daten erzeugen
/opt/icvpn-scripts/mkbgp -f bird -4 -s $ICVPN_META_DIR -d peers -x $OWN_COMMUNITY > $BIRD_CONF
/opt/icvpn-scripts/mkdns -f bind -s $ICVPN_META_DIR -x $OWN_COMMUNITY > $NAMED_CONF

Tinc

  • ReplayWindows (in Bytes) in tinc.conf erhöhen hilft ggf. bei Packet losts?
    • 16 bytes = 128 packets

Bird

Wir konfigurieren die Protokollierung etwas anders als in den übrigen Anleitungen, da ggf. viele Meldungen ausgegeben werden. Ins Syslog kommen nur die wichtigen Nachrichten, alles übrige wird in andere Dateien unter /var/log/bird/ geschrieben

/etc/bird/bird.conf
[...]
log syslog { auth, fatal, bug };
log "/var/log/bird/default.log" { debug, trace, info, remote, warning };
log "/var/log/bird/error.log" { error };
[...]

Sinnvollerweise sollten die Protokolldateien rotiert werden, wir wollen die Logdateien für eine Woche vorhalten, für jeden Tage eine:

/etc/logrotate.d/bird
/var/log/bird/*.log {
    daily
    rotate 7
    missingok
    compress
    create 0640 bird bird
    sharedscripts
    postrotate
        [ -e /var/run/bird/bird.ctl ] && invoke-rc.d bird reload >/dev/null
    endscript
}

Invalid NEXT_HOP

Anscheinend ist dies ein komplizierteres Thema.

Zusammenfassung, wer mit welche Adressen im Protokoll auftaucht kann man mit dem folgenden Befehl erhalten:

grep "Invalid NEXT_HOP" /var/log/syslog | cut -f 7,13 -d "> " | sort | uniq -c | sort -n | tail

Namensauflösung mit Bind

Ziel ist es, daß die Namen anderer Communities aufgelöst werden.

TODO Testen bzw. zu Ende konfigurieren

/etc/bind/named.conf
[...]
include "/etc/bind/named.conf.icvpn-zones";

Wenn der folgende Wert auf auto steht (Standardeinstellung), dann funktioniert die Namensauflösung im ICVPN nicht. Deshalb:

/etc/bind/named.conf.options
        dnssec-validation no;
touch /etc/bind/named.conf.icvpn-zones
intercity-vpn.1481914931.txt.gz · Zuletzt geändert: 16.12.2016 20:02 von havelock