Tinc
Tinc | |
---|---|
Käyttöliittymä | teksti |
Lisenssi | GPLv2+ |
Kotisivu | tinc-vpn.org |
Tinc (There Is No Cabal) on VPN-daemon, joka käyttää tunnelointia ja salausta turvallisen ja yksityisen verkon luomiseen turvattoman internetin yli. OpenVPN-protokollasta poiketen, Tincin avulla voidaan toteuttaa Mesh-verkko. Tällöin verkon käyttäjät reitittävät toistensa liikennettä ilman keskuspalvelinta.
Asennus
Tinc löytyy useimpien jakeluiden paketinhallinnasta nimellä tinc. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
Turvallisuus
Tincin vakaa 1.0-versio käyttää oletuksena salaukseen Blowfish-algoritmia 128-bittisillä avaimilla (OpenSSL:n oletuspituus) CBC-tilassa, 32-bittisiä järjestysnumeroita, sekä 4-bittisiä viestin varmennuskoodeja. Autentikointiin käytetään RSA-algoritmia. Ohjelman asetuksista voi kuitenkin vaihtaa salaus- ja autentikointialgoritmeja.
Version 1.1 julkaisun myötä algoritmeja tullaan vaihtamaan.
Verkon pystyttäminen
Otetaan esimerkiksi Matti ja Teppo, jotka haluavat pystyttää yksityisen VPN-verkon. Verkon nimeksi annetaan omavpn. Oletuksena tinc kuuntelee porttia 655, eli tuo portti tulee avata palomuurista ja mahdollisesti myös uudelleenohjata reitittimen asetuksista.
Aloitetaan Matin koneella. Ensin luodaan hakemisto /etc/tinc/omavpn/hosts, jossa omavpn on verkon nimi.
# mkdir -p /etc/tinc/omavpn/hosts
Seuraavaksi luodaan asetustiedosto tinc.conf.
# vim /etc/tinc/omavpn/tinc.conf
Asetustiedostoon lisätään rivit:
Name = matti AddressFamily = ipv4 Interface = tun0
Luodaan uusi asetustiedosto /etc/tinc/omavpn/hosts/matti.
# vim /etc/tinc/omavpn/hosts/matti
Lisätään asetustiedostoon rivit:
Address = matin.domain.fi Subnet = 10.0.0.1/32
Address voi olla verkkotunnus tai IP-osoite.
Seuraavaksi luodaan avainpari. Komento luo 4096-bittisen RSA-avainparin. Salainen avain tallennetaan /etc/tinc/omavpn/rsa_key.priv tiedostoon. Julkinen avain lisätään tiedoston /etc/tinc/omavpn/hosts/matti perään.
# tincd -n omavpn -K4096
Seuraavaksi tehdään tinc-up -skripti, joka suoritetaan tinc-daemonin käynnistyessä.
# vim /etc/tinc/omavpn/tinc-up
Lisätään tiedostoon rivit:
#!/bin/sh ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0
tinc-down -skripti suoritetaan taas tinc-daemonin sammuessa.
# vim /etc/tinc/omavpn/tinc-down
Lisätään tiedostoon rivit:
#!/bin/sh ifconfig $INTERFACE down
Tiedostojen oikeudet pitää myös muuttaa hieman sallivammiksi.
# chmod 755 /etc/tinc/omavpn/tinc-*
Nyt Matin asetusten pitäisi olla kunnossa ja voidaan siirtyä Tepon koneeseen. Tepon tulee noudattaa samoja ohjeita kuin Matin, paitsi luoda hieman erilaiset asetustiedostot. Tepon /etc/tinc/omavpn/tinc.conf:
Name = teppo AddressFamily = ipv4 Interface = tun0 ConnectTo = matti
Tepon /etc/tinc/omavpn/hosts/teppo:
Subnet = 10.0.0.2/32
Address-kohtaa ei välttämättä tarvita sillä Matilla on se jo ja Tepon tinc voi täten yhdistää Matin tinciin.
Tepon /etc/tinc/omavpn/tinc-up:
#!/bin/sh ifconfig $INTERFACE 10.0.0.2 netmask 255.255.255.0
Tepon /etc/tinc/omavpn/tinc-down on samanlainen kuin Matillakin.
Seuraavaksi Tepon tulee luoda RSA-avainpari samalla tavalla kuin Matinkin. Luomisen jälkeen Matti ja Teppo voivat vaihtaa host-tiedostojaan. Ne tulee asettaa /etc/tinc/omavpn/hosts/-hakemistoon. Lopputuloksena kummallakin on hakemistossansa, sekä oma, että toisen host-tiedosto.
Viimein voidaan käynnistää tinc, koska Teppo yhdistää Mattiin, käynnistetään Matin tinc ensin ja vasta sitten Tepon tinc.
# tincd -n omavpn
Oman tunnelin (tun0) näkee esimerkiksi komentamalla:
# ifconfig