Ferex Blog

czyli coś o niczym

Mikrus - hamachi, prosody, tinc, ipv6

Napisano przez Ferex dnia 10-03-2018

Ostatnia notka była tak dawno, że kiedyś trzeba było ją zrobić i napisać następne możliwości na serwerkach Mikrusowych, a oto i one

Na start postanowiłem wziąć coś raczej wśród adminów nie jest ciekawe, a jest tym hamachi, lecz wziąłem go dlatego bo w dalszej części notki pojawi się coś co powinno być już interesujące.
Aby zainstalować hamachi należy pobrać wersję beta (gdyż ta akurat działa) z tego, a następnie zainstalować używając komendy:

dpkg -i logmein-hamachi_2.1.0.189-1_i386_beta.deb

Przed instalacją hamachi zalecane jest zainstalowanie dodatkowych biliotek poleceniem:

apt install lsb

Skoro już mamy wszystko zainstalowane to teraz

hamachi login

i można bawić się dalej

Myśleliście kiedyś nad bezpieczeństwem? No tym w internecie. Jeżeli tak to warto tutaj wspomnieć o "Prosody" i "OpenVPN".
Prosody zagra tutaj rolę jako serwera XMPP, zaś OpenVPN to wiadomo, zrobi nam tunel vpn do Mikrusa
Dlaczego wybrałem Prosody? Dlatego że z ejabberdem zawsze miałem problem, zaś konfiguracja Prosody jest banalnie prosta i wymaga zmiany kilku linijek oraz wpisania jednej komendy. Do Prosody ważne jest aby mieć domenę
Aby zainstalować prosody należy wklepać polecenie:

apt install prosody

Teraz możemy przystąpić do zmiany konfiguracji w pliku: /etc/prosody/prosody.cfg.lua
- linia 23: wpisać JID admina np. "admin@domena.tld"
- linia 85: zostawić false
- linia 100: wstawić swój certyfikat
- linia 108: true
- linia 116: false
- linia 210: VirtualHost "" np. VirtualHost "domena.tld"
- linia 211: c2s_ports = { 1234 }
- linia 212: s2s_ports = { 1235 }
No to skoro mamy serwer XMPP odpalony już to należy dodać 5 rekordów DNS do domeny pod którą Prosody było konfigurowane:
_xmpp-server._tcp.domena.tld. 300 IN SRV 10 0 1235 domena.tld.
_xmpp-client._tcp.domena.tld. 300 IN SRV 10 0 1234 domena.tld.
_jabber._tcp.domena.tld. 300 IN SRV 10 0 1235 domena.tld.
domena.tld. 300 IN A 80.82.28.20
domena.tld. 300 IN AAA adresipv6
Teraz aby można było zalogować się do naszego konta xmpp wydajemy polecenie: prosodyctl adduser nickname@domena.tld
Prosody poprosi o podanie hasła do konta, zaś po wpisaniu go będzie można rozpocząć swoją przygodę z xmpp!
Przypominając, adres IP "80.82.28.20" jest adresem IPv4 serwera Mikrusa.
Skoro już wspomniałem o OpenVPN to polecam zainteresować się tym skryptem.

Wspomniałem o hamachi, gdyż budowa tamtejszych sieci nie odbiega normą od tego co teraz zaprezentuję. Jako następny na ogień biorę tinc vpn!
Nie wiem sam jak mam tą sieć nazwać bo niby sieć typu mesh, niby sieć p2p, ale jednak master tutaj jest bo musi się łączyć z urządzeniem o publicznym adresie IP - masterem ogólnie musi być urządzenie które będzie widoczne dla klienta.
Warto poeksperymentować tutaj z adresacją IPv6, gdyż w dzisiejszych czasach jest łatwiej o publiczny adres IPv6 niż o publiczny adres IPv4
Skoro już tutaj z lekka teorii zapodałem to zaczynamy! Więc teraz instalujemy i robimy to co potrzebne (po obu stronach!):

apt install openvpn tinc
mkdir -p /etc/tinc/nazwasieci/hosts
mknod /dev/net/tun1 c 10 200
openvpn --mktun --dev tun1

Teraz czas przyszedł na pierwszą część konfiguracji :
== /etc/tinc/nazwasieci/ ==
# ~~~~ host ~~~~
# ---- tinc.conf -----
Name = vpnhost
Device = /dev/net/tun1
Mode = switch
Port = 655

# ~~~~ client ~~~~
# ---- tinc.conf -----
Name = nazwaklienta
Device = /dev/net/tun1
ConnectTo = vpnhost
Mode = switch
Teraz tworzymy klucze dla naszej sieci mesh i o cokolwiek poprosi to wciskamy po prostu enter

tincd -n nazwasieci -K

Teraz druga część konfiguracji
(te pliki należy skopiować na każde urządzenie (host i klient mają je mieć) )
== /etc/tinc/nazwasieci/hosts/ ==
# ---- vpnhost ----

Address = 1.2.3.4 655
Subnet = 10.0.0.1/32
# public key here#

# ---- nazwaklienta ----
Subnet = 10.0.0.2/32
# public key here
A na sam koniec dodajemy do klienta jak i do hosta poniższe pliki:
# ~~~~ tinc-up for host ~~~~
# ---- tinc-up ----
ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0

# ~~~~ tinc-up for client ~~~~
# ---- tinc-up ----
ifconfig $INTERFACE 10.0.0.2 netmask 255.255.255.0

# ~~~~ tinc-down for host ~~~~
# ---- tinc-down ----
ifconfig $INTERFACE down

# ~~~~ tinc-down for client ~~~~
# ---- tinc-down ----
ifconfig $INTERFACE down
Teraz troszkę opisu tego powyżej czyli co jeżeli zobaczymy takie coś i od razu wyjaśnienie:

# ---- nazwa pliku ----
== lokalizacja pliku ==
# ~~~~ mały opis ~~~~

Prosody mamy, OpenVPN mamy, hamachi mamy, tinc mamy, to jeszcze małe info.
Wspominałem o adresacji IPv6 i wiadomo już nawet, że łatwiej jest w dzisiejszych czasach o publiczny adres IPv6 niż o IPv4.
A dlaczego?
Ponieważ firma Hurricane Electric Internet Services w skrócie HE udostępnia możliwość stworzenia sobie tunelu IPv4->IPv6 co w rezultacje daje nam publiczny adres IPv6 (wraz z tym co się dowiedziałem to też całą pulę adresową).
Jak zdobyć swój taki adres IPv6? To proste! Wystarczy się zarejestrować na stronie Tunelu HE, po rejestracji wybrać opcję "Create Regular Tunnel", a następnie wypełnić kilka danych i po otrzymaniu tunelu skonfigurować odpowiednio swoją kartę sieciową - wyświetlane są przykładowe konfiguracje dla każdego systemu.
Dla każdego kto nie wie (bo padło już takie pytanie), w jaki sposób pingować adresację IPv6 (nie widać jej) to przypominam, że należy samemu posiadać adres IPv6.

Jeżeli w mojej notce popełniłem jakiś błąd, lub napisałem coś niejasno to proszę o napisanie mi tego, gdyż sam nie jestem specjalistą ani ekspertem w tych sprawach, więc mogę się w czymś pomylić.
Chciałbym również przypomnieć, że ta strona to tak na prawdę mój mały dzienniczek internetowy, więc mam prawo do pomyłek.

W następnej notce nie będzie już nic na temat serwerów, gdyż raczej wyczerpałem ten temat, zaś postaram się napisać małe ciekawostki związane z Mikrusem - jak np. ciekawe komunikatory internetowe
Pozdrawiam,

Ferexio

~~~~ Komentarze ~~~~