Wpis z mikrobloga

Dobra Mirki - zebrałem się i stwierdziłem, że napiszę coś od siebie w temacie #cjdns no i ogólnie #meshnet #siecikomputerowe #internet
Dzięki @majsterV2 mam zajawkę na to i wciąż odkrywam coraz fajniejsze zastosowania tego wynalazku i uważam to za doskonałą alternatywę dla #openvpn ( ͡° ͜ʖ ͡°)
Nie lubię się rozpisywać, więc postaram się opisać krótko i w punktach, zaczynając najpierw od tego czym jest ten szalony Cjdns: implementacja zaszyfrowanej end-to-end sieci IPv6 z wykorzystaniem kryptografii klucza publicznego oraz DHT (ang. Distributed Hash Table) wykorzystywanego do routingu w tejże sieci. Dzięki temu wynalazkowi możemy stworzyć nowy, być może lepszy Internet ʕʔ.
Ja skupiłem się głównie na wykorzystaniu tego narzędzia jako alternatywy dla OpenVPNa i okazuje się, że jest to strzał w dziesiątkę :D
1. Konfiguracja, wystarczy otrzymać od swojego znajomego dane do autoryzacji (mniej niż 10 linii tekstu) i wkleić do swojego pliku konfiguracyjnego i odpalić usługę. Gotowe ʕʔ (w przypadku, jeśli Ty i Twój znajomy nie macie np. publicznego adresu IP, wystarczy, że znajdziecie sobie inny węzeł Cjdns, do którego można się podłączyć, w ten sposób trochę okrężną drogą ale będziecie mogli się znaleźć w jednej sieci).
2. Szybkość działania tej sieci - szybko! ( ͡° ͜ʖ ͡°) Testowane na linku pomiędzy mną i znajomym. Pingi standardowej wielkości 56 bajtów dla IPv6 na poziomie 20-70 ms (duże wahania), przy olbrzymich pakietach 65 kB pingi na poziomie 270-450 ms (ja od siebie pingując DNSy Google'a z takim pakietem mam ping 330 ms)
3. "Pseudo"-routing w Cjdns - sytuacja do ogarnięcia: 2x RaspberryPi. Jedno u mnie, drugie u znajomego, tworzą sobie tunel Cjdns no i wszystko fajnie. Mamy dostęp do wszystkich swoich usług, ale tylko między tymi malinami ( ͡° ʖ̯ ͡°). Komputery będące w naszych LANach, nie mają jak się dostać na drugą stronę (mają do pokonania barierę IPv4 - IPv6). Na szczęście da się to ogarnąć i działa to również bardzo dobrze (testowane na streamowaniu nagrania w 4K 30 Mbps). Z pomocą przychodzi pakiet: socat. Ten mały soft potrafi między innymi przewalić cały ruch z jednego protokołu na drugi, w tym wypadku z IPv6 na IPv4 i odwrotnie. Jak to działa?
1) Mój komputer - serwer WWW, adres IP 192.168.1.1
2) Moje raspberry pi spięte w tunel IPv6 z adresem IPv6: fd61:c47f:a245:5b9a:ffff:ffff:ffff:ffff (jakiś randomowy :D), oraz IPv4 192.168.1.2

3) Komputer znajomego, który chce otworzyć sobie stronę z mojego serwera WWW. IPv4: 10.10.1.1
4) Raspi znajomego spięte w tunel z adresami IPv6: fd61:c47f:a245:5b9a:aaaa:aaaa:aaaa:aaaa oraz IPv4 10.10.1.2

Z pomocą socat'a mogę ustawić swoje raspberry jako forwarder protokołów:
Moje raspberry na swoim adresie IPv6 przewala cały ruch przychodzący z dowolnie wybranego portu i kieruje ten ruch na wskazany port 80 IPv4 na moim PC (czyli: IPv6 -> IPv4)
Raspberry znajomego przewala cały ruch przychodzący ze swojego IPv4 z dowolnym portem na wskazany port na mojej malinie z IPv6 (czyli IPv4 -> IPv6)

Efekt?
Znajomy na swoim kompie wklepuje adres IPv4 swojej maliny z portem jaki sobie wybrał i ma dostęp do mojego serwera WWW ( ͡° ͜ʖ ͡°)-

Może obrazkowo wyszłoby to na bardziej zrozumiałe, ale nie mam weny na obrazki w paincie ( ͡º ͜ʖ͡º) (no chyba, że będzie duży popyt na to

Gorąco polecam przetestowanie tych wynalazków - oczywiście idea #cjdns i #meshnet jest trochę inna, bo w tym wypadku nadal jesteśmy uzależnieni od normalnych Internetów, ale poruszyłem tutaj wątek tworzenia tunelu, a nie nowej wersji Internetów :)
  • 7
@majsterV2: Ale co tu do szykowania? ( ͡° ͜ʖ ͡°) Ściagnij, skompiluj, weź od kumpla mniej niż 10 linijek konfiguracji i ciesz się tunelem ʕʔ
Życie nigdy nie było prostsze :D
@super_tux: To nie żart, jak kolega mi tłumaczył to musiałem sporo pakietów pobrać, co mnie wkurzyło, zwłaszcza że woałbym aby to potrafiło wejść na dyskietkę.
Pragnę aby to było minimalistyczne...
@majsterV2: Właśnie mi Internety poszły na spacer ( ͡° ʖ̯ ͡°)
A znajomy ma teraz problem bo nie ma widoku na monitoring akwarium ( ͡º ͜ʖ͡º)
Cjdns robi swoje - podpięty jest do dwóch węzłów i nadal może się dostać tym "pseudo" routingiem, ale inny adres sobie wbija w przeglądarke ʕʔ