Tinc

Linux.fista
Versio hetkellä 9. marraskuuta 2014 kello 18.39 – tehnyt Oselotti (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun
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

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.

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