IC-VPN: Unterschied zwischen den Versionen
Yanosz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Yanosz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Archiv]] | |||
{{:Archiv-Hinweis}} | |||
[[Kategorie:Infrastruktur]] | [[Kategorie:Infrastruktur]] | ||
Zeile 23: | Zeile 26: | ||
* Trennung über lxc (application container). Wichtig: Policy-Router vermeidung - wird fies! | * 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 | * 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! | * Wenn VPN, lxc konfigurieren - Idee: Gleiches rootfs verwenden (wg. cronjobs, auf dem Host, etc.) aber nur die notwendigen Interfaces durchreichen! | ||
<pre> | <pre> | ||
# /var/lib/lxc/router/config | # /var/lib/lxc/router/config | ||
lxc.rootfs = / | |||
lxc.utsname = router | lxc.utsname = router | ||
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