Construirea unei rețele virtuale cu Tinc

Construirea unei rețele virtuale cu Tinc

Atunci când protocoalele copilarie utilizate în Internet de astăzi, nimeni nu a crezut că, după ceva timp pentru ea, milioane de utilizatori se pot conecta fara probleme, iar compania își va desfășura activitatea cu ea. De-a lungul timpului, am început să iasă la suprafață defectele creatorilor și a început treptat să apară proiecte, al căror scop principal - pentru a minimiza erorile. Astăzi, după antivirus și firewall cele mai populare și căutate mijloace sunt de rețea virtuală privată (Virtual Private Network - VPN), care, în ciuda tam-tam inițial cu instalare și depanare, la urma urmei, face viața mai sigură și mai ușoară de administrare configurează multe servicii de rețea.

Deși există o mulțime de produse comerciale pe piață, inclusiv soluții hardware, proiectele gratuite sunt de mare interes. Există multe motive. Deci, nu devine imediat clar dacă o anumită organizație va aborda schema de rețea cu VPN și va investi banii experimentului pentru că nimeni nu se va aventura. Pe de altă parte, foarte des, tranziția rețelei la VPN este o inițiativă personală a administratorului, care se plictisește de problemele apărute în mod constant. Iar atitudinea față de software-ul liber ca software sub-standard, secundar trece treptat. Cele mai multe utilități gratuite pentru crearea unui VPN sunt disponibile numai în UNIX, iar dacă administratorul nu a mai lucrat cu astfel de sisteme, el nu va putea imediat să-și dea seama de configurația software-ului. De asemenea, nu toate proiectele au implementări pentru diferite sisteme de operare. Ieșiți unul - aveți nevoie de un instrument convenabil, simplu și în același timp funcțional. Ideea principală a proiectului Tinc (scurtarea de la No There Cabal) este doar ușurința înființării unei rețele VPN.

O caracteristică a lui tinc este utilizarea unui fișier executabil - daemonul tincd, care este atât un server cât și un client. Care sunt avantajele acestui fapt? În Tinc, conectarea unui nou computer la o rețea virtuală deja funcțională este destul de ușoară, trebuie doar să adăugați un singur fișier, fără a începe un nou daemon sau alt dispozitiv de rețea virtuală. Calculatoarele de la distanță pot schimba informații între ele, pe un canal direct, și nu prin serverul principal, deoarece sunt implementate în același sistem vtun. În vtun pentru un schimb direct, este necesar să se creeze un tunel suplimentar, care, la o cantitate considerabilă de clienți, complică ajustarea. Deși este posibil să se ruleze mai multe instanțe de tinc pe un singur computer, ceea ce vă permite să creați mai multe rețele virtuale. În acest caz, daemonul efectuează independent rutarea și trimite pachetele la destinație cât mai repede posibil.

Procesul de prelucrare a informației are loc în spațiul de utilizator și nu necesită neapărat recompilarea kernel-ul. Se crede că aceste implementări sunt mai lente și încărcați sistemul mai mult, dar trebuie sa marturisesc ca testele meticuloase nu au văzut, și performanța VPN depinde de mai mulți factori, printre care echipamentul utilizat, canalul, sarcina totală pe rețea, astfel încât este aproape imposibil să vorbim despre avantaj deplină și necondiționată a VPN-sisteme integrate în kernel-ul, totul depinde de situația specifică. Dar instala acum de utilizator spațiu-implementare mai ușoară, deși după IPSec incluse în seria 2.6 de nucleu, unele întrebări de configurare au dispărut de la sine.

Dezvoltatorii angajat într-o simplificare a procesului de instalare și configurare, pe baza sistemelor tinc, și documentația pe site-ul, deși relativ puțin, dar reflectă aproape toate problemele majore care pot apărea atunci când înființarea tinc, inclusiv aspectele unei instalații într-o varietate de sisteme de operare . Prin urmare, nu cred că este posibil să vorbim despre toate variantele posibile de semnificație. Voi vorbi despre instalarea VPN între două sisteme, pentru care procesul de configurare este diametral diferit. Una este bazată pe Linux, ca platformă pentru al doilea Windows XP selectat. În procesul de configurare BSD și Solaris este destul de un pic diferit de Linux și cunoașterea caracteristicilor serviciilor de rețea în aceste sisteme și înțelege sensul acțiunilor desfășurate, setați tinc le specială nu este dificil.

Caracteristici de instalare Linux tinc

Sistemul Tinc utilizează tunul universal și conducătorii auto pentru operare. Tun este utilizat pentru tunelarea pachetelor IP și atingeți, care este etertap, pentru tunelarea cadrelor Ethernet. Driverul TUN / TAP permite programelor utilizatorilor să proceseze ele însele pachetele corespunzătoare. Prin urmare, aceste dispozitive trebuie să fie activate atunci când configurați kernelul. În majoritatea distribuțiilor, acest lucru sa făcut deja, dar dacă comenzile:

# ls -al / dev / net / ton

nimic nu este afișat, atunci fie va trebui să le creați sau le încredințeze la sistemul prevăzut în linia de fișier /etc/modules.conf (pentru kernel 2.4.0 și mai târziu):

alias char-major-10-200 tone

După actualizarea dependențelor modulului de kernel cu comanda:

ar trebui să vedeți dispozitivele necesare. Mai multe detalii sunt descrise în toate ethertap.txt tuntap.txt și fișierele care sunt în directorul / usr / src / linux / Documentation / rețea (cu codurile sursă stabilite de kernel). În caz contrar, este necesar să recompilați kernel-ul, inclusiv următoarele rânduri.

Opțiunile nivelului de maturitate a codului

[*] Prompt pentru dezvoltare și / sau cod / drivere incomplete

Suport pentru dispozitive de rețea

Suport pentru driverul dispozitivului universal / robinet

Instalare sub Windows

După instalarea tuturor bibliotecilor necesare și a tincului, accesați directorul C: Program Files inc ap-win32 și executați fișierul addtap.bat. Acum, în meniul "Conexiuni în rețea", ar trebui să apară o nouă conexiune, la care puteți atribui un nume mai semnificativ.

În cea mai recentă versiune, tinc însuși se prestează la serviciile pornite automat după primul început de succes, dar doar în caz contrar, verificați prezența acestuia în meniul "Setări -> Panou de control -> Administrare -> Servicii".

Fișiere de configurare Tinc

Tinc în timpul activității sale utilizează două tipuri de fișiere de configurare, plus scripturile sunt scrise în doi parametri specifici sistemului necesare pentru a ridica și a opri interfețele VPN-rețea (pentru sistemele bazate pe UNIX), și într-un dosar separat (rsa_key.priv) sunt cheile de server închise . este o arhivă de probă-config.tar.gz, care conțin fișiere de configurare în subdirectoare doc-fișier cu codul sursă al programului. Implicit tincd Daemon va căuta fișierele de configurare în directorul / usr / local / etc / tinc /, dacă vă decideți să le pună, de exemplu, în / etc / tinc /, atunci când începe să utilizați opțiunea suplimentară --config = / etc trebuie să / tinc /.

Pentru o rețea virtuală a fișierului de locație este suficient, dar dacă aveți de gând să organizeze mai multe rețele virtuale un calculator, atunci fiecare va avea nevoie pentru a crea un subdirector, alegând ca numele său nume de VPN-rețea. De exemplu, pentru a crea un director vpn_net rețea virtuală / usr / local / etc / tinc / vpn_net /. Acum, când porniți tincd daemon cu opțiunea vpn_net specifica -n numele rețelelor virtuale dorite, jurnalele informațiile despre acesta vor fi afișate ca tinc.vpn_net. În subdirector creat trebuie să fie în mod necesar două scripturi tinc-up și tinc-down, care descriu comenzile pentru interfața de rețea. Pentru Linux, aceste fișiere arată așa.

ifconfig $ INTERFACE 192.168.10.1 netmask 255.255.0.0

ifconfig $ INTERFACE în jos

Firește, pentru alte sisteme asemănătoare UNIX aceste linii vor fi ușor diferite, pentru detalii vezi manualul tinc. Secțiunea 7. "Informații specifice platformei". Pentru Windows, aceste fișiere nu sunt necesare.

Pentru a lucra la sistemele de tip UNIX, este de dorit să aveți următoarele rânduri în fișierul / etc / services.

tinc 655 / tcp TINC

tinc 655 / udp TINC

Și în / etc / rețele trebuie să fie specificat numele simbolic al viitorului VPN.

După cum sa menționat mai sus, Tincd este atât client cât și server. Din acest motiv, configurarea sistemului este substanțial simplificată, iar rețeaua este extinsă în orice direcție.

Pentru a opera daemon partea de server folosit tinc.conf-l fișier clienți care trebuie să se conecteze la serverul definit parametrul ConnectTo și descris mai detaliat într-un fișier separat, apoi culcat în aceleași gazde subdirectorul și având același nume ca și în opțiunea ConnectTo. În același timp, pe partea opusă poate fi atribuit unui contra-conexiune, specificând ConnectTo demoni parametri pe aceste sisteme nu începe lupta peste care este cel mai important, dar în acest fel vă puteți construi cu ușurință o rețea virtuală în viitor, fără a fi nevoie să vă faceți griji cu privire la conflicte. Toți parametrii tinc.conf fișier sunt prezentate în tabelul 1. Pentru a folosi toți parametrii nu este necesară, în cazul cel mai general, fișierul va arăta astfel:

# Sample file configuration

Acesta este demonul care poartă numele de birou, va încerca să se conecteze la două calculatoare acasă și stocul de camere, dintre care descrierea este în fișierele corespunzătoare, situată într-o gazde subdirectoare. În Windows, în loc de Device, este mai convenabil să utilizați parametrul Interface; fișierul va arăta astfel:

În cazul în care există două interfețe VPN, trebuie să scrieți Interface = VPN2 și să îl numiți în "Network Connections".

Tabelul 1. Parametrii care pot fi utilizați în fișierul tinc.conf

Când această opțiune este tincd daemon poate trimite informații la alți demoni, în caz contrar acesta va funcționa numai cu nodurile prezente în / usr / local / etc / tinc / [NetName] / hosts /

Toate opțiunile care pot fi utilizate în fișierul de descriere a nodului la distanță sunt listate în Tabelul 2. În fișierul cel mai simplu, casa va arăta astfel:

# Sample file configuration file

-----BEGIN RSA KEY PUBLIC -----

-----END KEY PUBLIC RSA -----

Deoarece în Windows toți parametrii sunt setați la configurarea unei conexiuni de rețea, numai secțiunea Subnet este suficientă în fișierul client.

Tabelul 2. Parametrii fișierului de descriere a clientului

Când se stochează cheia publică a clientului într-un fișier separat, această opțiune specifică calea completă la acesta

Dar, pe lângă parametrii corect descriși în fișierele de configurare, pentru funcționarea normală a întregului sistem, este necesar să avem o pereche de taste, cu ajutorul cărora informațiile vor fi închise. Pentru a genera cheile, daemonul cu opțiunea -K pornește și dacă mai multe rețele virtuale sunt lansate pe computer, se adaugă opțiunea -n. De exemplu, pe un computer de birou, executați următoarea comandă:

# tincd -K -n vpn_net

Generarea cheilor de 1024 biți:

Adăugarea cheii la conținutul existent.

Asigurați-vă că în fișier este stocată o singură cheie.

În acest caz, cheia privată implicit va fi scrise în fișierul / usr / / etc / tinc / vpn_net /rsa_key.priv, iar cheia publică în fișierul / usr / local / etc / tinc / vpn_net / gazde / birou local. Pentru Windows, ar fi firesc să o cale ușor diferită, C: Program Files tincvpn_net sa_key.priv, și deschis - C: Program Files tincvpn_nethostshome.

Prin urmare, cea mai optimă este o astfel de opțiune pentru configurarea unei rețele virtuale. Fiecare nod își creează propriul fișier gazdă, în care, pe lângă parametri, se scrie și cheia publică. Apoi administratorii schimbă aceste fișiere între ele și se conectează cu opțiunea ConnectTo. Acum că totul este setat, puteți încerca să porniți daemonul.

# tincd -n vpn_net

Cel mai probabil, la prima pornire, o astfel de eroare va sari.

Ar putea scrie fișierul pid /usr/local/var/run/tinc.vpn_net.pid: Nu există un astfel de fișier sau director

Indică faptul că daemonul nu poate găsi fișierul tinc.vpn_ net.pid. Cauza probabilă a unui astfel de mesaj este lipsa directoarelor necesare. Ieșiți: fie creați toate directoarele necesare, fie specificați o locație nouă pentru fișierul pid, utilizând opțiunea --pidfile = / cale / către / fișier.

Pentru a detecta erorile posibile, pot fi utile parametrii de pornire suplimentari. Opțiunea --logfile [= fișier] indică necesitatea de logare (în mod implicit, va înregistra în /usr/local/var/log/tinc.netname.log), opțiunea --debug specifică nivelul mesajelor de depanare (0-5) și - securitatea bypass dezactivează criptarea.

Asta e totul. În ciuda faptului că multe sunt scrise, configurarea serviciului pe un computer separat nu durează mai mult de 10-15 minute. De-a lungul timpului, dezvoltatorii vor integra toate aplicațiile de care depind tinc într-un singur pachet, ceea ce ar trebui să simplifice și mai mult instalarea. Deoarece Tinc este un instrument destul de la îndemână, flexibil și simplu, care vă permite să creați rapid și să construiți cu ușurință rețele virtuale, disponibile la fel pentru toate sistemele de operare de astăzi populare.

Articole similare