Benutzer-Werkzeuge


    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/main.php on line 62
  • Admin

  • Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 50

    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 77
  • Registrieren

Webseiten-Werkzeuge


Dies ist eine alte Version des Dokuments!


Intercity-VPN

Mit dem IC-VPN vernetzen sich die verschiedenen Freifunker aus Deutschland und auch anderen Ländern untereinander. Technisch geschieht dies mit Tinc, per BGP werden dann die eigenen Subnetze bekannt gegeben.

Damit es zu keinen Überschneidungen bei den Subnetzen kommt, existieren im Freifunkwiki mehrere Seiten:

    • Bielefeld IPv4: 10.29.0.0/16
      • Transfernetz-IP vpn1: 10.207.0.59
      • Transfernetz-IP vpn2: 10.207.0.67
    • Bielefeld IPv6: fdef:17a0:ffb1::/48
      • Transfernetz-IP vpn1: fec0::a:cf:0:59/96
      • Transfernetz-IP vpn2: fec0::a:cf:0:60/96
    • Bielefeld AS: 65529

Stand 19.12.13

  • Auf vpn1 läuft ein LookingGlass für IPv4 und IPv6, leider hakt das noch etwas, weil der User vom Apache Zugriff auf den bird-Prozess braucht
  • Peering mit
    • Lübeck1
    • Augsburg1
    • Gronau1
    • noch ein paar andere Städte
    • AS64753 (barnslig, dn42)
    • AS76119 (kiwi-IX, dn42)
    • Uplink für AS76124 (bodems, dn42)
  • todo: neue bird.conf mit OSPF anstatt BGP als IGP und preferences, sodass BGP-Routen bevorzugt werden.

Einrichten

Pakete

  • bird
  • bird6
  • tinc

tinc

  • tinc.conf
Name = bielefeld1
PrivateKeyFile = /etc/tinc/icvpn/rsa_key.priv
Mode = Switch
PingTimeout = 30
Port = 655
Hostname = yes
ConnectTo = augsburg1
ConnectTo = luebeck1
ConnectTo = gronau1
  • tinc-up
!/bin/sh
ip link set dev icvpn up
ip addr add dev icvpn 10.207.0.59/16 broadcast 10.207.255.255
ip -6 addr add dev icvpn fec0::a:cf:0:59/96
ip rule add dev br-mesh table icvpn prio 32764
ip -6 rule add dev br-mesh table icvpn prio 32764
  • tinc-down
#!/bin/sh
ip del dev icvpn 10.207.0.59/16 broadcast 10.207.255.255
ip -6 addr del dev icvpn fec0::a:cf:0:59/96
ip link set dev icvpn down
ip rule del prio 32764
ip -6 rule del prio 32764
  • /etc/iproute2/rt_tables

zusätzliche Zeile mit

200 icvpn

bird

  • bird.conf
log "/var/log/bird.log" all;
log syslog all;

router id 10.29.132.192;
define myas = 65529;
table icvpn;


### filters and functions ###

function net_martian()
{
return net ~ [ 169.254.0.0/16+, 127.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+, 0.0.0.0/0{0,7}, 192.168.0.0/16+ ];
}

function net_local() {
	return net ~ [ 10.29.0.0/16+];
}


function export_all()
{
	if net_martian() then return false;
	return true;
}

function import_all()
{
	if net_martian() || net_local() then return false;
	return true;
}

filter bgp_out
{
	if ! export_all() then reject;
	accept;
}

filter bgp_in
{
	if ! import_all() then reject;
	accept;
}

protocol kernel {
	scan time 10;
	table icvpn;
	kernel table 200;
	import none;
	export filter {
		krt_prefsrc = 10.29.132.192; # edit: own ip
		accept;
	};
};

protocol device {
	scan time 10;
}

protocol static {
	route 10.29.0.0/16 via "br-mesh";
	table icvpn;
}

template bgp PEERS {
	local as myas;
	import filter bgp_in;
	export filter bgp_out;
	route limit 10000;
	rs client;
	table icvpn;
};

template bgp bgp_ibgp {
	table icvpn;
	local as myas;
	source address 10.29.132.192; #edit: own ip
	import filter bgp_in;
	export filter bgp_out;
	gateway direct;
	next hop self;
};


### iBGP ###

### vpn1 ####
protocol bgp vpn1 from bgp_ibgp {
	neighbor 10.29.131.187 as 65529;
};


### eBGP ###

### Leipzig1 ###
protocol bgp Leipzig1 from PEERS {
	description "Leipzig1";
	neighbor 10.207.0.1 as 65041;
}
...
  • bird6.conf

Siehe bird.conf, Router-ID spielt keine Rolle

Peering mit AS64753

openvpn.conf

remote fidelity.techel.net
mode p2p
lport 50001
rport 50009
proto udp
dev-type tun
dev dn42
comp-lzo
secret secret.psk
user nobody
group nogroup
persist-key
persist-tun
ifconfig 10.207.0.59 172.22.119.194

Zum Starten zusammen mit tinc, folgende Zeile in tinc-up

openvpn --daemon --config openvpn.conf

/etc/bird.conf

protocol bgp dn42_barnslig from PEERS {
    import filter bgp_in_barnslig;
    description "dn42 AS64753, barnslig";
    neighbor 172.22.119.227 as 64753;
}

Peering mit AS76119

openvpn.conf

mode p2p
remote 185.28.77.10
lport 20001
rport 20000
proto udp
dev-type tap
dev peer-kiwi
tun-mtu 1380
secret secret.psk 
user nobody 
group nogroup  
persist-key
persist-tun
status /var/log/openvpn-kiwi-status.log
log-append /var/log/openvpn-kiwi-status.log
verb 1
ifconfig 172.23.197.5 255.255.255.0
comp-lzo

/etc/bird.conf

protocol bgp kiwi from PEERS {
      description "kiwi IX, AS76119";
      neighbor 172.23.197.1 as 76119;
}