IC-VPN: Unterschied zwischen den Versionen
Kerel (Diskussion | Beiträge) (Neuer Artikel IC-VPN (unfertig!)) |
Yanosz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Archiv]] | |||
{{:Archiv-Hinweis}} | |||
[[Kategorie:Infrastruktur]] | |||
==Überblick== | ==Überblick== | ||
Das [https://wiki.freifunk.net/IC-VPN InterCity-VPN] verbindet die einzelnen Städte/Freifunk-Communities in Deutschland untereinander. | Das [https://wiki.freifunk.net/IC-VPN InterCity-VPN] verbindet die einzelnen Städte/Freifunk-Communities in Deutschland untereinander. | ||
Es ermöglicht den Zugriff auf netzinterne Dienste aller verbundenen Communities. | Es ermöglicht den Zugriff auf netzinterne Dienste aller verbundenen Communities. | ||
Mit [[ | Mit [[Dienst:Tinc|tinc]] werden Tunnel aufgebaut, auf denen BGP (Border Gateway Protocol) gesprochen wird. Einige Communities betreiben eigene TLDs (Top Level Domains). Diese DNS-Zonen sind (in Zukunft) auch im KBU-Netz bekannt. | ||
Die Koordinierung des Netzes erfolgt über das (globale) [https://wiki.freifunk.net/ Freifunk-Wiki] und einige Github-Repositorys ([https://github.com/freifunk/icvpn-meta icvpn-meta] und [https://github.com/freifunk/icvpn icvpn]). | Die Koordinierung des Netzes erfolgt über das (globale) [https://wiki.freifunk.net/ Freifunk-Wiki] und einige Github-Repositorys ([https://github.com/freifunk/icvpn-meta icvpn-meta] und [https://github.com/freifunk/icvpn icvpn]). | ||
Zeile 13: | Zeile 18: | ||
Im IC-VPN gibt es einige netzinterne Dienste. Ein Beispiel aus Hamburg ist "start.ffhh". | Im IC-VPN gibt es einige netzinterne Dienste. Ein Beispiel aus Hamburg ist "start.ffhh". | ||
== ICVPN-Router installieren == | |||
Benötigte Dienste: | |||
* Tinc (VPN) | |||
* Babel (für BGP) | |||
=== Notizblock === | |||
* Trennung über lxc (application container). Wichtig: Policy-Router vermeidung - wird fies! | |||
* Host (für VPN-Interfaces, z.B. eine VM) wie normal aufsetzen. Tinc einrichten + Verbindung testen: https://github.com/freifunk/icvpn | |||
* Network Namespaces kann Debian nicht wirklich - damit würde das recht hakish. LXC FTW - docker der, der will. | |||
* Wichtig: Alle benötigten Dienste nicht auf dem Host starten | |||
* Kein lxc-start. Kommandos: '''lxc-execute''' (initial), dann '''lxc-attach''' | |||
* vim in der lxc-shell macht schmerzen. Auf dem Host verwenden! | |||
* bird braucht nicht mehr die table 66 zu verwenden. | |||
<pre> | |||
root@icvpn:~# systemctl disable bird.service | |||
root@icvpn:~# systemctl disable bird6.service | |||
root@icvpn:~# systemctl disable babeld.service | |||
</pre> | |||
* Wenn VPN, lxc konfigurieren - Idee: Gleiches rootfs verwenden (wg. cronjobs, auf dem Host, etc.) aber nur die notwendigen Interfaces durchreichen! | |||
<pre> | |||
# /var/lib/lxc/router/config | |||
lxc.rootfs = / | |||
lxc.utsname = router | |||
lxc.tty = 4 | |||
lxc.pts = 1024 | |||
lxc.arch = amd64 | |||
lxc.network.type = phys | |||
lxc.network.flags = up | |||
lxc.network.link = icvpn | |||
lxc.network.name = icvpn | |||
lxc.network.hwaddr = A2:FF:FF:FF:02:01 | |||
lxc.network.ipv4 = 10.207.0.42/16 | |||
lxc.network.ipv6 = fec0::a:cf:0:2a/96 | |||
lxc.network.type = phys | |||
lxc.network.flags = up | |||
lxc.network.link = backbone | |||
lxc.network.name = backbone | |||
lxc.network.type = phys | |||
lxc.network.flags = up | |||
lxc.network.link = backbone-fastd | |||
lxc.network.name = backbone-fastd | |||
</pre> |
Aktuelle Version vom 28. August 2019, 11:26 Uhr
Hinweis: Diese Seite wurde in das Archiv verschoben. Die Informationen sind größtenteils veraltet und nur für Spezialfälle relevant.
Überblick
Das InterCity-VPN verbindet die einzelnen Städte/Freifunk-Communities in Deutschland untereinander. Es ermöglicht den Zugriff auf netzinterne Dienste aller verbundenen Communities.
Mit tinc werden Tunnel aufgebaut, auf denen BGP (Border Gateway Protocol) gesprochen wird. Einige Communities betreiben eigene TLDs (Top Level Domains). Diese DNS-Zonen sind (in Zukunft) auch im KBU-Netz bekannt.
Die Koordinierung des Netzes erfolgt über das (globale) Freifunk-Wiki und einige Github-Repositorys (icvpn-meta und icvpn).
Umsetzung
Zur Zeit haben einzelne Supernodes (siehe Infrastruktur ) Zugang zum IC-VPN. Alle Nodes mit einer Verbindungen zu einem dieser Supernodes steht das IC-VPN bisher zur Verfügung.
netzinterne Dienste
Im IC-VPN gibt es einige netzinterne Dienste. Ein Beispiel aus Hamburg ist "start.ffhh".
ICVPN-Router installieren
Benötigte Dienste:
- Tinc (VPN)
- Babel (für BGP)
Notizblock
- Trennung über lxc (application container). Wichtig: Policy-Router vermeidung - wird fies!
- Host (für VPN-Interfaces, z.B. eine VM) wie normal aufsetzen. Tinc einrichten + Verbindung testen: https://github.com/freifunk/icvpn
- Network Namespaces kann Debian nicht wirklich - damit würde das recht hakish. LXC FTW - docker der, der will.
- Wichtig: Alle benötigten Dienste nicht auf dem Host starten
- Kein lxc-start. Kommandos: lxc-execute (initial), dann lxc-attach
- vim in der lxc-shell macht schmerzen. Auf dem Host verwenden!
- bird braucht nicht mehr die table 66 zu verwenden.
root@icvpn:~# systemctl disable bird.service root@icvpn:~# systemctl disable bird6.service root@icvpn:~# systemctl disable babeld.service
- Wenn VPN, lxc konfigurieren - Idee: Gleiches rootfs verwenden (wg. cronjobs, auf dem Host, etc.) aber nur die notwendigen Interfaces durchreichen!
# /var/lib/lxc/router/config lxc.rootfs = / lxc.utsname = router lxc.tty = 4 lxc.pts = 1024 lxc.arch = amd64 lxc.network.type = phys lxc.network.flags = up lxc.network.link = icvpn lxc.network.name = icvpn lxc.network.hwaddr = A2:FF:FF:FF:02:01 lxc.network.ipv4 = 10.207.0.42/16 lxc.network.ipv6 = fec0::a:cf:0:2a/96 lxc.network.type = phys lxc.network.flags = up lxc.network.link = backbone lxc.network.name = backbone lxc.network.type = phys lxc.network.flags = up lxc.network.link = backbone-fastd lxc.network.name = backbone-fastd