Překlad
Nastavit jako výchozí jazyk český jazyk
 Upravit překlad

Instalace VPN s tpřír na Ubuntu 16.04 LTS

 

Virtuální privátní sítě (VPN) je bezpečné privátní síť, která má více než větší veřejné sítě, například Internetu. Připojení VPN se stává stále více populární v posledních letech, z velké části proto, že nabízejí zvýšenou bezpečnost a soukromí bez nutnosti nastavování nákladnou a složitou nový hardware. Nabízejí také řadu dalších výhod, včetně snížení nákladů na vytváření sítí a podpůrných.

VPN práce tím, že vytvoří šifrovaný tunel přes veřejnou síť, a pomocí této možnosti bezpečně odesílání dat mezi servery a terminály. Tyto spoje mohou být šifrována v mnoha různými způsoby, a existuje mnoho různých VPN klienty a démony, aby vyhovoval vaší architektury, rozpočet, a úroveň zkušeností.

Tinc je jeden takový roztok (1,2). Open-source VPN daemon, je nyní k dispozici pro širokou škálu platforem, a má několik výhod ve srovnání s podobnými VPN klientů. Nabízí bezpečné a spolehlivé šifrování, volitelně komprese, a je snadno rozšiřitelný, jak vaše síť roste. Automatické směrování full mesh znamená, že VPN provoz je vždy (pokud je to možné) zaslány přímo do cílového počítače, aniž by došlo k přechodné převody, a to značně zvyšuje bezpečnost tím, že omezí možnost krádeže dat (3). Navíc, protože Tinc VPN se zobrazí na IP kódu úrovni sítě jako běžné síťové zařízení, Po nastavení Tinc VPN není nutné přizpůsobit stávající software. Tím se Tinc VPN neodmyslitelně škálovatelné.

Jediný menší problém s Tinc je, že někteří lidé zjistili, že je trochu složitější nastavit. Pokud to zní, jako jste vy, Nikdy se obávají - dnes Vezmu tě skrze (více či méně) bezproblémové způsob, jak dostat Tinc VPN a provoz na vašich serverech.

Předpoklady

Chcete-li sledovat tento návod plně, budete potřebovat alespoň tři Ubuntu 16.04 servery, a přístup uživatele root na každém počítači. Pokud nemáte tento nebo si nejste jisti, co to znamená, Tento výukový program není pro vás - měli byste nejprve zjistit, jak nastavit server pomocí Ubuntu (4).

Pokud vytváříte serverový systém od nuly, musíte nejprve přemýšlet o tom, jak vaše stroje budou vzájemně komunikovat. V tomto kurzu, Budu používat názvy proměnných, které Myslím, že většina lidí by si vybrat, ale být vědomi toho, že budete muset přizpůsobit některé názvy proměnných tak, aby vyhovovaly svůj vlastní nastavení.

Chcete-li přesně sledovat tento tutoriál, budete muset nejprve nastavit dva VPS ve stejném datovém centru, a poté provést třetí VPS v druhém datovém centru. Mé datová centra jsou nazývány NYC2, který má dva VPS, a AMS2, který má třetí jeden. Tyto VPS se nazývají následující:

externalnyc - Všechny naše VPN uzlů se chystáte připojit k tomuto serveru, což znamená, že musí zůstat ve spojení a je k dispozici ke správné síťové funkce. Pokud si nakonec chcete přidat další servery do svého zřizovací, budou muset být nastaveny stejným způsobem jako externalnyc.

internalnyc - Tento VPS připojí k externalnyc VPN uzel s použitím privátního síťového rozhraní.

AMS1 - To je naše veřejná připojení VPN. To se připojí k externalnyc pomocí veřejného internetu.

Fotbalová branka

To, co chceme dosáhnout, je následující:

Naše privátní síť je představována zelenou linku, a spojuje všechny tři servery. Oranžová je naše privátní sítě, propojením dvou NYC2 servery. Všechny tři servery se mohou připojit přes VPN, ačkoli privátní síť není přístupná AMS1.

Chcete-li to, postupujte takto:

I instalovat

První na řadě, musíme nainstalovat Tinc. Jako vždy, ujistěte se, že všechny vaše apt jsou aktuální spuštěním:

sudo pøíhodný brát aktualizovat

Poté nainstalujte Tinc standardním způsobem přes apt:

sudo apt-get install I

A to je vše! Zařízení se nyní stáhnout Tinc, plus veškeré předpoklady budete potřebovat. Nyní je třeba se podívat na konfiguraci.

Konfigurace

Konfigurace Tinc může být trochu odlišný od ostatních VPN jste zvyklí. Využívá „síťový_název“ odlišit jeden od druhého VPN, To se stává velmi užitečné, pokud máte více VPN běh přes Tinc, ale je trochu neintuitivní zprvu. Vzhledem k tomu, je to náš první síť Tinc, Pojďme držet to jednoduchý a volejte VPN „síťový_název“.

Nyní pro každý z našich serverů. Každý bude potřebovat tři konfigurační složky:

Konfigurační soubory: tinc.conf, my-up, I-down, a libovolný počet dalších souborů.

Veřejné a soukromé dvojice klíčů: jsou pro šifrování a autentizace.

Hostit konfiguračních souborů: Ty obsahují veřejné klíče, a další konfigurace prvků VPN.

Pojďme nyní konfigurovat každý z našich serverů v pořadí. První na řadě, externalnyc.

konfigurovat externalnyc

Ok, Nyní se šrouby a matice. On externalnyc, začít tím, že vytvoří strukturu adresáře konfigurace pro VPN síťový_název. Spusťte:

sudo mkdir -p / etc / I / síťový_název / hosts

Právě otevřeno tinc.conf ve zvoleném textovém editoru:

sudo vi /etc/tinc/netname/tinc.conf

Jakmile budete mít soubor před sebou, přidejte následující dolní části souboru:

Name = externalnyc
AddressFamily = ipv4
Interface = tun0

Vše, co děláte, je zde ke konfiguraci uzlu s názvem externalnyc si, a říkat server, který je síťové rozhraní bude používat IPv4 a být nazýván „tun0“. Uložte soubor, a zavřít.

Další na řadě, musíme vytvořit konfigurační soubor hostitel externalnyc. Chcete-li to, Otevřete konfigurační soubor hosts v textovém editoru:

sudo vi / etc / I / síťový_název / hosts / externalnyc

Znovu, přidat nějaké řádky na konec tohoto souboru, náhradou veřejnou IP adresu vašeho VPS v prvním řádku:

Address = externalnyc_public_IP
Subnet = 10.0.0.1/32

Jedná se o soubor, který ostatní servery budou používat pro připojení k externalnyc. Adresa říká další uzly, jak a kde se připojit k tomuto serveru, a adresa podsítě je podsítě, že tento démon bude pracovat na. Znovu, Uložte změny do tohoto souboru a zavřít.

Nyní se musíme vytvářet veřejnost / soukromý pár klíčů pro tohoto hostitele. Je to snadné, Stačí spusťte:

sudo tincd -n síťový_název -K4096

To dělá soukromý klíč RSA, a přidává veřejný pár klíčů na konci konfiguračního souboru, který jsme právě vytvořili. Můžete jej otevřít znovu vidět, že to bylo provedeno, Pokud se vám líbí.

Teď, potřebujeme, aby tinc-up, malý skript, který se spustí, když je spuštěna naše VPN. Otevřete následující soubor pro úpravy:

sudo vi / etc / I / síťový_název / my-up

A dodávám:

#!/bin/sh
ifconfig $INTERFACE 10.0.0.1 Maska sítě 255.255.255.0

Při každém spuštění VPN síťový_název, tento skript poběží. To bude síťové rozhraní, které mají být použity naší VPN, a na tomto VPN externalnyc bude mít IP adresu 10.0.0.1.

Ale když se zastaví VPN, Chceme toto síťové rozhraní zmizí, takže potřebujeme ještě jeden scénář. To by mělo být připojeno k tinc-down. Otevřené:

sudo vi / etc / I / síťový_název / I-down

A pak přidejte:

#!/bin/sh
ifconfig $INTERFACE down

A opět uložit a ukončit. V současné době máme své skripty, ale tak, aby pro ně práce musejí být označeny jako spustitelný. Je to snadné, pomocí příkazového řádku:

sudo chmod 755 /etc / I / síťový_název / tinc- *

Uložit a skončit, a dokončení konfigurace tohoto serveru. Další na řadě, internalnyc a AMS1.

Konfigurace internalnyc a AMS1

Konfigurovat dva zbývající servery, je třeba spustit stejné příkazy na každém stroji. Existuje několik drobné odchylky, který budu poukázat, ale proces je v podstatě stejný.

Stejně jako jsme to udělali s externalnyc výše, musíme nejprve vytvořit adresářovou strukturu pro naše konfiguračních souborů. Na každém serveru, spusťte následující, a pak otevřete konfigurační soubor Tinc pro úpravy:

sudo mkdir -p / etc / I / síťový_název / hosts
sudo vi /etc/tinc/netname/tinc.conf

Pak přidejte několik řádků do dolní části tohoto souboru, nahrazením „jméno_uzlu“ s názvem každého uzlu:

Name = node_name
AddressFamily = ipv4
Interface = tun0
ConnectTo = externalnyc

Můžete vidět, že obě naše servery jsou nyní nakonfigurován tak, aby se pokusí připojit k externalnyc. Tento soubor uložit, a zavřít.

Nyní potřebujeme, aby konfigurační soubor hosts. Spusťte:

sudo vi / etc / I / síťový_název / hosts / název_uzlu

Pak pro internalnyc, přidejte tento řádek:

podsítě = 10.0.0.2/32

A AMS1, přidejte tento řádek:

podsítě = 10.0.0.3/32

Jediný rozdíl je, že adresy se liší, takže můžeme říci, že naše servery sebe. Tento soubor uložit, a zavřít.

Teď, stejně jako předtím, musíme vytvářet naši veřejnost / dvojice soukromých klíčů, a vytvořit síťové rozhraní spuštění skriptu. Na každém serveru, Spusťte:

sudo tincd -n síťový_název -K4096

A pak:

sudo vi / etc / I / síťový_název / my-up

Teď. Pro každý server, musíme použít adresy jsme uvedené dříve. Pokud jste mi po precizně, Pro internalnyc je třeba přidat:

ifconfig $ INTERFACE 10.0.0.2 Maska sítě 255.255.255.0

A pro AMS1:

ifconfig $ INTERFACE 10.0.0.3 Maska sítě 255.255.255.0

Ale, pokud jste zadali jinou adresu výše, změňte je i zde. Uložit tyto soubory, a skončit. Už tam skoro jsme.

Potřebujeme jen, aby síťové rozhraní zastavení skriptu, jako předtím:

sudo vi / etc / I / síťový_název / I-down

A pak přidejte tento řádek na obou serverech:

ifconfig $ INTERFACE dolů

A úplně poslední kousek konfigurace je, aby naše nové skripty spustitelný:

sudo chmod 755 /etc / I / síťový_název / tinc- *

Uložit a skončit. Fuj. Pokud vše dopadne dobře, všechny tři servery jsou nyní nakonfigurován. Nyní pro implementaci kryptografie.

distribuci klíčů

Pokud již používáte systém správy config, Nacházíte se v štěstí. V ideálním světě, každý uzel, který jsme nyní také musí být schopen hovořit přímo s jiným uzlem pomocí veřejnost / Rozhraní soukromý klíč. Klíče, jak jsme viděli výše, jsou nyní v konfiguračních souborech hosts na každém serveru. V jednoduchém síti jsme udělali tady, vlastně jen externalnyc potřebuje vyměnit klíče s ostatními uzly.

A tak, Nejjednodušší způsob, jak to udělat, je jednoduše zkopírovat každý veřejný klíč ke všem členům různých uzlů. Je to vlastně docela jednoduché, jen dávat pozor na změnu hodnoty „adresa“ v konfiguračním souboru externalnyc, aby jeho vlastní privátní IP adresou při kopírování. Tímto způsobem, připojení bude zřízeno přes privátní sítě.

Jestli mě následoval a zavolal svou VPN „síťový_název“, konfigurační hostitelé soubory Nacházíte se zde: / etc / tinc / síťový_název / hosts

Výměnné Keys Mezi externalnyc a internalnyc

To je jednoduché,. On internalnyc, najít konfigurační soubor hosts a zkopírujte do externalnyc:

scp / etc / I / síťový_název / hosts / internalnyc [email protected]_private_IP: / tmp

Pak, na externalnyc, zkopírujte stejný soubor do správného umístění:

cd / etc / I / síťový_název / hosts; sudo cp / tmp / internalnyc .

Teď děláme opačný postup. On externalnyc, kopírování konfiguračního souboru hosts na internalnyc:

scp / etc / I / síťový_název / hosts / externalnyc [email protected]_private_IP: / tmp

A pak na internalnyc zkopírovat soubor, takže je na správném místě:

cd / etc / I / síťový_název / hosts; sudo cp / tmp / externalnyc .

Nyní budeme muset upravit konfigurační soubor hosts externalnyc o internalnyc takže je adresa správná. Je tomu tak proto, že uzly budou připojovat k VPN přes privátní sítě. Tak, na internalnyc, Otevřete konfigurační soubor hosts pro externalnyc:

sudo vi / etc / I / síťový_název / hosts / externalnyc

A změňte hodnotu adresy na privátní IP adresu externalnyc je, Nějak tak:

Adresa = externalnyc_private_IP

Uložte soubor, a skončit. To je tyto dva klíče provedeno. Teď už stačí jen vyměnit klíče s naší zbývajícím jedním uzlem.

Výměnné Keys Mezi externalnyc a AMS1

Tento proces je zde dost podobné. používání AMS1, kopírování konfiguračního souboru hosts na externalnyc:

scp / etc / I / síťový_název / hosts / AMS1 [email protected]_public_IP: / tmp

A znovu jej zkopírujte na správném místě, použitím externalnyc:

cd / etc / I / síťový_název / hosts; sudo cp / tmp / AMS1 .

Zůstat na externalnyc, zkopírujte soubor na druhou stranu, napříč k AMS1:

scp / etc / I / síťový_název / hosts / externalnyc [email protected]_public_IP: / tmp

A ještě jednou, je AMS1, zkopírujte tento soubor, takže je na správném místě:

cd / etc / I / síťový_název / hosts; sudo cp / tmp / externalnyc .

A máte hotovo s výměnu klíčů. V teorii, Nyní jste dostal práci, šifrované VPN přes Tinc. Pokud jste postupovali podle tohoto návodu na dopis, můžete přejít k testování set up. Pokud, Nicméně, jste také vzít možnost přidat další uzly, Nyní je ten správný čas k výměně všechny klíče, které budete potřebovat.

Nezapomeňte, že pokud používáte centrální uzel, jako tady dělám, nemusíte kopírovat všechny klíče ke všem serverům. Nicméně, Pokud chcete uzly, aby mohl mluvit s každým jiný přímo, budou muset vyměňovat klíče. Proces, jak toho dosáhnout, je stejný, jak jsem popsal výše - prostě tolik iterací, jak budete potřebovat, aby se dosáhlo požadovaného konektivitu.

Testování

Nyní byste měli být připraveni k testování. Chcete-li to, je to dobrý nápad začít Tinc v režimu ladění, takže můžeme zachytit případné chyby a získat nějaké další informace, pokud se něco pokazí. Uvědomte si, že špatně nakonfigurován VPN může být ve skutečnosti představovat bezpečnostní riziko, tak ujistit, že všechno funguje správně dříve, než začnete svůj VPN pro nic důležitého.

Chcete-li začít Tinc v režimu ladění, v každém uzlu, počínaje externalnyc, Spusťte:

sudo tincd -n síťový_název -D -d3

Pokud jste volal váš VPN něco jiného, Samozřejmě, změnit „síť_název“ proměnnou příslušný název.

Poté, co démon začíná v každém uzlu, že by se měl vrátit výstup dává vám název každého uzlu, jak se připojit. Pokud se tak nestane, že jste někde udělali chybu.

Teď, můžeme otestovat VPN. V novém okně na AMS1, ping internalnyc pomocí IP adresy. přidělen jsme to 10.0.0.2 dříve, tak napište:

příkaz ping 10.0.0.2

Doufejme, že, Váš ping bude fungovat. Také byste měli vidět nějaké ladění výkonu v druhém oken, popisující připojení, které jste právě pořídili. AMS1 je nyní připojeno, prostřednictvím svého nového VPN, na externalnyc, a může se připojit k internalnyc přes něj. Hit CTRL + C a ping se zastaví.

Nyní máte zabezpečené připojení VPN, můžete jej použít pro jakýkoli jiný typ síťové komunikace - propojení aplikací, kopírování souborů, SSH, nebo cokoliv jiného se vám líbí.

Pokud váš ping nefunguje, ale myslíte, že jste udělal všechno správně, to by mohlo být, že firewall dostal v cestě. Zkontrolujte nastavení brány firewall, a zkusit znovu.

Tam, kde jsem Boot

Jen jedna věc. Pokud se chystáte používat svůj Tinc VPN pro všechny své sítě, možná budete chtít nastavit na spuštění při startu. Budete muset provést na každém uzlu, úpravou konfiguračního souboru nets.boot. Otevřete soubor pomocí:

sudo vi /etc/tinc/nets.boot

A pak přidat název svého nového VPN do tohoto souboru. Pokud jste zvolili „síťový_název“ jako já, to bude vypadat takto:

# Tento soubor obsahuje všechny názvy sítí, které mají být spuštěn při každém startu systému.
síťový_název

Uložit a skončit, a máte hotovo. Tinc nyní pracuje, a spustí se při bootu. Dobře jsi to udělal.

Pokud potřebujete ovládat Tinc, Nyní můžete spustit „služba“ příkaz, aby tak učinily. V každém uzlu, Stačí spusťte:

Začnu sudo službu

A mají vůli kolem. Nejzákladnější regulace lze dosáhnout pomocí tohoto příkazu.

Závěr

Nyní byste měli mít zabezpečené připojení VPN procházející Tinc na všech vašich strojích. Tato VPN může být použit jako základ pro vybudování další síťové funkce.

Chcete-li přidat další uzly v budoucnu, nebo kombinovat s jinými Tinc VPN, Tinc vám umožní to. Postup pro každý další uzel je stejný, jak jsem je popsáno výše, a vy byste měli být schopni snadno zjistit, které proměnné a adresy potřebují změnu. Jen nezapomeňte, že pokud chcete uzly, aby bylo možné se připojit k sobě přímo, budete muset rovnou vyměnit klíče mezi nimi. Takhle, Tinc pracuje jako pletivo VPN, což je o něco bezpečnější než svém přístupu (3). Jinak, stačí nastavit síť, jako jsem učinil, a mají všechno, co prochází centrálním uzlem.

Ať tak či onak, Nyní si pohrát. Hodně zdaru!

Zdroje

(1) https://www.tinc-vpn.org/

(2) https://www.linux.com/news/creating-vpn-tinc

(3) https://thebestvpn.com/cryptography/

(4) https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04

Zdroj