====== Mesh ======
^Pomysłodawca | vovcia |
^Koordynator | vovcia |
^Status | Otwarty |
===== Opis =====
Celem projektu jest stworzenie wolnej i otwartej sieci WiFi na terenie Krakowa. Kluczowe cechy to:
* Topologia siatki (partial mesh)
* Pełne wsparcie IPv6
**Aktualnie poszukujemy peerów na N-E.**
Nawiązaliśmy współpracę z projektem [[http://meshnet.pl|Meshnet.pl]], który jest zaangażowany w rozwój sieci [[https://hyperboria.net/|Hyperboria]].
Aktualna konfiguracja:
* system OpenWrt Chaos Calmer
* trzy nieopisane routery TP-LINK w szafie HS (chwilowo poza HS)
* **zaszyfrowane wifi na 802.11ac, SSID: [[http://krkmesh.net|krkmesh.net]]**
* [[http://www.pps.univ-paris-diderot.fr/~jch/software/babel/|Babel]]
* [[https://github.com/cjdelisle/cjdns/blob/master/doc/Whitepaper.md|Cjdns]]
* serwer do peerowania z hyperborią: [[https://vovcia.net/cjdns/]]
* serwer do peerowanie z publicznym IPv6 dzięki uprzejmości vrs pod adresm [[http://cjdns.vrs.hostv.pl/|cjdns.vrs.host.pl]] :)
===== Wersje ======
* OpenWrt trunk CHAOS CALMER
* babeld 1.6.0-3
* cjdns 16
===== Konfiguracja =====
Część prekonfigurowanych obrazów OpenWrt jest dostępna w wiadrze S3: [[http://openwrt-mesh.s3.eu-central-1.amazonaws.com/index.html|OpenWrt-Mesh]], jest to wersja rozwojowa i może się często zmieniać lub nie działać. W celu instalacji należy odszukać wersję do swojego routera oraż wykonać upgrade firmware np. przez interfejs www.
Ręczna konfiguracja na np. desktopie polega na zainstalowaniu i konfiguracji cjdns oraz babeld. Babeld należy uruchomić na interfejsie wifi oraz odpowiednio dostosować reguły redystrybucji adresów w sieci. Domyślnie redystrybucji podlegają tylko adresy lokalne (przypisane bezpośrednio do węzła).
Cjdns działa zarówno bezpośrednio na warstwie fizycznej, jak i za pomocą tuneli przez internet. Szczegółowa instrukcja konfiguracji cjdns jest dostępna na stronie [[http://meshnet.pl/#connect|meshnet.pl]]. Oprócz podanego tam peera //alien//, proponujemy podłączyć się do trochę szybszego węzła [[https://vovcia.net/cjdns|vovcia.net]]. Zewnętrzny adres IPv6 jest dostępny po podłączeniu się do peera [[http://cjdns.vrs.hostv.pl/|vrs]].
Po podłączeniu się do Hyperborii zapraszamy na kanał meshneta, IRC irc.hypeirc.net #cjdns-pl
===== Babel =====
Babel to protokół trasowania operujący na wektorze odległości, opisany w RFC 6126 w 2011 roku. Został on specjalnie zaprojektowany do bezprzewodowych sieci mesh, ale nadaje się również do sieci przewodowych. Komunikacja polega na regularnym rozsyłania tras na broadcast przez wszystkie routery oraz potwierdzeń IHU (I Heard You). Standardowo komunikacja odbywa się w link-local IPv6 - to oznacza że do działania nie potrzebuje adresacji interfej
===== Cjdns =====
Cjdns jest bezpiecznym i skalowalnym protokołem implementującym szyfrowaną sieć IPv6 z routingiem opartym o DHT. Używa kryptografii klucza publicznego do przydzielania adresów IP - dzięki temu nie da się w niej podrobić adresu. Transmisja w sieci jest w pełni szyfrowana end-to-end. Działa zarówno bezpośrednio na warstwie fizycznej, jak i poprzez tunele UDP dzięki sieci wzajemnie połączonych węzłów. Wyjście na świat jest realizowane poprzez osobne serwisy wewnątrz sieci.
sów (ani adresu IPv4, ani nawet IPv6 poza link-local).
===== TO DO =====
* łatwa aktualizacja oprogramoania
===== Changelog =====
* v3 - Uruchomienie linków na 802.11ac 5GHz
* v2 - Postawienie serwerów cjdns oraz linki do Hyperborii
* v1 - Uruchomienie trzech testowych węzłów w HS