Výukový program pro nastavení vpn serverů na ubuntu. Nejjednodušší způsob, jak nastavit Ubuntu jako server VPN. Nastavení certifikační autority

If ($answer_counter == 1): ?> endif; ?>

AKTUALIZACE. Pokud jde o Sierru, macOS již nepodporuje PPTP vpn. Tato odpověď neplatí pro klienty macOS Sierra a další.

PPTP přes PopToP je snadné

  1. apt-get install pptpd
  2. upravte soubor /etc/pptpd.conf a nastavte volbu remoteip na hodnotu ve vaší síti, kterou NENÍ obsluhován serverem DHCP.
  3. upravit /etc/ppp/chap-secrets a přidat uživatelské jméno a heslo

například.

vpnuser pptpd vpnpassword*

To je vše, co potřebujete k instalaci pptp. Nyní to otestujte s klientem OS X.

Odpověděl Jay _silly_evarlast_ Wren dne 04.06.2012 v 23:24

VAROVÁNÍ: PPTP JE NEBEZPEČNÝ PROTOKOL! Nejen, že bylo prolomeno šifrování, ale odesílá vaše ověření v čistém textu a je snadno zachyceno. Odhaduje se, že doba potřebná k hrubému vynucení hesla je zhruba ekvivalentní době potřebné k vynucení jednoho klíče DES. Zvažte použití OpenVPN nebo jiné architektury VPN místo PPTP!

Odpověděl Qasim dne 6. 10. 2013 v 16:09

Ostatní odpovědi v tomto vláknu byly v mém případě pouze částečné odpovědi. Zde je to, co pro mě fungovalo na Ubuntu 12.04.3

sudo apt-get install pptpd

Přidejte následující do /etc/pptpd.conf: (Na IP adrese nezáleží, jedná se pouze o IP adresy vašeho rozhraní ppp0.)

localip 10.0.0.1 remoteip 10.0.0.100-200

Přidejte servery DNS do /etc/ppp/pptpd-options

ms-dns 8.8.8.8 ms-dns 8.8.4.4

Povolit předávání IP adres

sudo vim /etc/sysctl.conf

Odkomentujte tento řádek

sudo sysctl -p /etc/sysctl.conf

Upravte /etc/ppp/chap-secrets, přidejte uživatele VPN v tomto formátu:

# Tajemství pro autentizaci pomocí CHAP # tajné IP adresy klientského serveru uživatelské jméno pptpd supertajné heslo *

Restartujte PPTP

Restart služby pptpd

Spusťte ifconfig a najděte své výchozí rozhraní, v mém případě to tak bylo br0(Změnil jsem to, abych umožnil virtuálním počítačům na mém fyzickém počítači sdílet rozhraní. Pravděpodobně to bude en0)

záloha iptables

iptables-save > ~/iptables.save

Nyní mají změny iptables používat své výchozí rozhraní, jak ukazuje ifconfig.

Nastavení připojení VPN v Debianu

Zde je příklad nastavení připojení VPN pro Debian Linux pomocí příkazového řádku. Neméně užitečné to však bude pro majitele distribucí založených na Debianu, například Ubuntu.

  1. Nejprve potřebujete balíček pptp:
    # apt-get install pptp-linux
  2. Upravte (nebo vytvořte, pokud neexistuje) soubor /etc/ppp/options.pptp. Měl by obsahovat následující parametry:
    zámek
    noauth
    nobsdcomp
    nodeflate
  3. Dále musíte do souboru /etc/ppp/chap-secrets přidat řádek jako je tento:
    „uživatelské jméno“ PPTP „heslo“ *
  4. Vytvořte soubor /etc/ppp/peers/XXX (XXX je název sítě). Zadejte do něj následující:
    pty "pptp vpn.XXX.ru --nolaunchpppd"
    jméno "uživatelské jméno"
    vzdálené jméno PPTP
    soubor /etc/ppp/options.pptp
    výchozí trasa
    „uživatelské jméno“ a „heslo“ musí být nahrazeno vaším uživatelským jménem a heslem bez uvozovek, jak je uvedeno ve vaší smlouvě. vpn.XXX.ru - adresa serveru vpn - zeptejte se svého poskytovatele.
  5. Chcete-li automaticky nahradit výchozí trasu, vytvořte soubor /etc/ppp/ip-up.d/routes-up:
    # su touch /etc/ppp/ip-up.d/routes-up
    # su chown a+x /etc/ppp/ip-up.d/routes-up

    A zadejte do něj následující:
    #!/bin/sh
    /sbin/route del default
    /sbin/route přidat výchozí dev ppp0
    Vytvořte soubor /etc/ppp/ip-down.d/routes-down:
    # su dotkněte se /etc/ppp/ip-down.d/routes-down
    # su chown a+x /etc/ppp/ip-down.d/routes-down
    A zadejte do něj následující:
    #!/bin/sh
    /sbin/route del default
    /sbin/route přidat výchozí dev eth0

  6. Nyní se můžete připojit pomocí příkazu:
    # su pon XXX
    Chcete-li získat podrobné informace o procesu připojení, zadejte:
    # su pon XXX výpis ladění logfd 2 nodetach
    Zda jste připojeni k VPN, můžete zkontrolovat zadáním příkazu ifconfig. Pokud je na jeho výstupu sekce ppp0, pak jste připojeni a můžete začít pracovat s internetem. Chcete-li deaktivovat, stiskněte ctrl+c nebo napište:
    # su poff XXX
  7. Aby váš počítač mohl přijímat trasy z našeho serveru, musí být v souboru /etc/dhcp3/dhclient.conf přítomny následující řádky:
    #
    volba rfc3442-classless-static-routes kód 121 = pole celého čísla bez znaménka 8;
    volba ms-classless-static-routes kód 249 = pole celého čísla bez znaménka 8;
    #
    request-subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, static-route , rfc3442-classless-static-routes, ms-classless-static-routes;
    #
  8. Chcete-li se při spuštění operačního systému automaticky připojit k internetu, vytvořte soubor /etc/init.d/XXX
    # dotkněte se /etc/init.d/XXX
    # su chown a+x /etc/init.d/XXX
    # su ln -s /etc/init.d/XXX /etc/rc2.d/S99XXX
    Napíšeme to následovně:
    #!/bin/sh
    su /usr/bin/ponXXX

Ve všech příkazech je XXX název vaší sítě.

Skutečná privátní virtuální síť nebo virtuální privátní síť (VPN) je šifrovaný propojený tunel mezi dvěma sítěmi, který spojuje dva důvěryhodné body. Nejedná se o webový protokol HTTPS, který považuje všechny klienty za důvěryhodné. K VPN se mohou připojit pouze klienti, kteří mají speciální přístupové klíče.

Koncept VPN se v dnešní době velmi rozšířil, s příchodem soukromých virtuálních sítí, které důvěřují všem, a rozšířením HTTPS. Mnohé z VPN jsou komerční řešení s minimální konfigurací, která zaměstnancům umožňuje vzdálený přístup. Ne každý ale těmto rozhodnutím důvěřuje. Soukromá virtuální síť spojuje dvě sítě do jedné, jako je kancelářská síť a domácí síť zaměstnance. Server VPN je vyžadován, aby se server a klient mohli vzájemně autentizovat.

Nastavení autentizace serveru a klienta vyžaduje hodně práce, a proto komerční řešení s minimem nastavení v tomto ohledu prohrávají. Ale ve skutečnosti není tak těžké nastavit server OpenVPN. K nastavení testovacího prostředí budete potřebovat dva uzly v různých sítích, například můžete použít několik virtuálních strojů nebo skutečných serverů. Jak jste již pochopili, tento článek se bude zabývat nastavením OpenVPN v Ubuntu za účelem vytvoření plnohodnotné privátní virtuální sítě.

Oba stroje by měly mít nainstalované OpenVPN, je to docela oblíbený program, takže si ho můžete nainstalovat z oficiálních repozitářů. Pro práci s tajnými klíči potřebujeme také Easy-RSA. Chcete-li nainstalovat programy v Ubuntu, použijte následující příkaz:

sudo apt install openvpn easy-rsa

Oba balíčky musí být nainstalovány na serveru i na klientovi. Budou potřeba ke konfiguraci programu. První fáze článku instalace a konfigurace openvpn je nyní dokončena.

Nastavení certifikační autority

První věc, kterou musíte udělat, je nastavit na serveru správnou infrastrukturu veřejných klíčů. Server považujeme za stroj, ke kterému se budou uživatelé připojovat. Mít vlastní CA má několik výhod, budete mít vlastní CA, což usnadňuje distribuci a správu klíčů. Můžete například odvolat klientské certifikáty na serveru. Nyní také není nutné ukládat všechny klientské certifikáty, bude stačit, aby certifikační autorita věděla, že certifikát je podepsán CA. Kromě složitého systému klíčů můžete použít statické klíče, pokud chcete udělit přístup pouze několika uživatelům.

Upozorňujeme, že všechny tajné klíče musí být na bezpečném místě. V OpenVPN se veřejný klíč nazývá certifikát a má příponu .crt a soukromý klíč se nazývá klíč, jeho přípona je .key.

Nejprve vytvořte složku pro uložení certifikátů Easy-RSA. Ve skutečnosti se konfigurace OpenVPN provádí ručně, takže složku lze umístit kamkoli:

sudo mkdir /etc/openvpn/easy-rsa

Poté zkopírujte všechny potřebné skripty easy-rsa do této složky:

cd /etc/openvpn/easy-rsa/

sudo -i
# zdroj ./vars
# ./vymazat vše
# ./build-ca

Prvním příkazem se přepneme do konzole jménem superuživatele, druhým načteme proměnné prostředí ze souboru ./vars. Příkaz ./clear-all vytvoří složku klíčů, pokud neexistuje, a vymaže její obsah. A poslední příkaz inicializuje naši certifikační autoritu. Nyní se všechny potřebné klíče objevily ve složce .keys:

Nastavení klientských certifikátů

sudo cp -R /usr/share/easy-rsa /etc/openvpn/

Nyní musíme zkopírovat certifikát, soubor .crt, do složky /etc/openvpn na všech klientech. Například si stáhněte tento soubor pro našeho klienta pomocí scp:

sudo scp uživatel@hostitel: /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys

Teprve nyní můžete vytvořit svůj soukromý klíč na základě certifikátu CA:

cd /etc/openvpn/easy-rsa/

sudo -i
# zdroj ./vars
# build-req Sergiy

Upozorňujeme, že ca.crt musí být ve složce klíčů, jinak nebude nic fungovat. Nyní nástroj vytvoří klíč, na základě kterého se můžete připojit k serveru OpenVPN, ale stále jej musíte na serveru podepsat. Odešlete výsledný soubor .csr na server pomocí stejného scp:

scp /etc/openvpn/easy-rsa/keys/Sergiy.csr user@host:~/

Poté na serveru ve složce /etc/openvpn/easy-rsa musíte provést příkaz k podpisu certifikátu:

./sign-req ~/Sergiy

Podpis certifikátu musí být ověřen. Poté program oznámí, že byl podepsán a přidán do databáze. Ve složce s certifikátem csr se objeví soubor .crt, který je třeba vrátit zpět na klientský počítač:

sudo scp uživatel@hostitel:/home/Sergiy.crt /etc/openvpn/easy-rsa/keys

Teprve poté mají server a klient všechny potřebné klíče pro připojení a navázání komunikace. Zbývá několik dalších nastavení. Pokud plánujete používat šifrování TLS, musíte na serveru vytvořit datovou sadu Diffie-Huffman, k tomu použijte příkaz:

Konfigurace OpenVPN

Nyní nakonfigurujte server OpenVPN. Ve výchozím nastavení není ve složce konfiguračních souborů OpenVPN nic. Musíte je vytvořit sami, v závislosti na tom, co plánujete nakonfigurovat, server nebo klient. Požadovaný konfigurační soubor OpenVPN lze nalézt na /usr/share/doc/openvpn/examples/sample-config-files/. Nejprve vytvořte konfigurační soubor pro server:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Zde je třeba upravit několik nastavení:

přístav a proto- port a protokol, na kterém bude program pracovat;

port 1194
proto udp

Všechny vytvořené klíče musí být zaregistrovány v konfiguračním souboru. Naše klíče jsou uloženy v /etc/openvpn/easy-rsa/keys:


cert /etc/openvpn/easy-rsa/keys/ca.crt
klíč /etc/openvpn/easy-rsa/keys/ca.key
dh /etc/openvpn/easy-rsa/keys/dh.pem

Nastavili jsme rozsah adres pro virtuální síť, náš server bude dostupný na první z nich - 10.8.0.1:

server 10.8.0.0 255.255.255.0

Po dokončení konfigurace uložte změny do souboru, celou tuto konfiguraci můžete buď vložit sami, nebo soubor upravit s příkladem. Nastavení připraveného funkčního serveru:

port 1194
proto udp
comp lzo
dev melodie
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topologie podsítě
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf

Pro připojení k různým serverům můžete vytvořit více konfiguračních souborů klienta. Otevřete konfigurační soubor a změňte v něm následující parametry:

dálkový je adresa vašeho serveru OpenVPN, adresa a port se musí shodovat s adresami nakonfigurovanými na serveru, například:

vzdálené 194.67.215.125 1194

ca- klíč, který jste obdrželi od certifikační autority, jsme jej našli ve složce /etc/openvpn/.

certifikát a klíč- jedná se o veřejné a soukromé klíče klienta, pomocí kterých se připojíte k serveru. Jak si pamatujete, uložili jsme je do složky /etc/openvpn/easy-rsa/keys/.

ca /etc/openvpn/easy-rsa/keys/ca.crt

Zbytek nastavení lze ponechat tak, jak je. Zde je kompletní konfigurační soubor, který si můžete zkopírovat:

klienta
dev melodie
proto udp
vzdálené 194.67.215.125 1194
resolv-retry infinite
nobind
přetrvávající klíč
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
klíč /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp lzo
sloveso 3

Uložte nastavení, klient je nyní připraven k připojení. Upozorňujeme, že konfigurační soubory by se měly co nejvíce shodovat, absence určitých možností v jednom ze souborů může vést k chybám. Neznamená to, že soubory budou totožné, ale základní parametry openvpn by měly být stejné. Vše, co musíte udělat, je spustit OpenVPN na tomto počítači pomocí tohoto konfiguračního souboru:

openvpn /etc/openvpn/client.conf

Hotovo, nyní vše funguje, pokud spustíte ifconfig, uvidíte, že bylo přidáno rozhraní tun0:

Můžete také zkusit ping na adresu 10.8.0.1, to je adresa, kterou jsme nakonfigurovali pro náš OpenVPN server, ping pakety budou odesílány normálně. Pokud pakety nepřicházejí nebo nefunguje něco jiného, ​​věnujte pozornost výstupu obou programů, mohou se vyskytnout nějaké chyby nebo varování, také se ujistěte, že firewall serveru umožňuje přístup zvenčí přes udp na portu 1194. také spusťte server nebo klienta nastavením úrovně výřečnosti v konfiguraci na maximální sloveso 9. Velmi často to pomůže pochopit, proč něco nefunguje. Ale zatím nemůžete směrovat dopravu tunelem. Chcete-li to provést, musíte povolit přeposílání a přidat několik pravidel iptables. Nejprve povolíme přenos paketů na serveru:

sysctl -w net.ipv4.ip_forward=1

Pak přidejte tato pravidla. Umožňujeme každému připojit se k našemu serveru:

iptables -A INPUT -p udp --dport 1194 -j PŘIJÍMAT

Uživatelům OpenVPN umožňujeme přístup k internetu:

iptables -I VPŘED -i tun0 -o eth0 -j PŘIJMOUT
# iptables -PŘEDÁM -i eth0 -o tun0 -j PŘIJMOUT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

závěry

V tomto článku jsme se podívali na to, jak se OpenVPN Ubuntu nainstaluje a nakonfiguruje, a také jak nakonfigurovat openvpn pro práci s ověřováním klíče. Organizace privátních virtuálních sítí může být velmi užitečná nejen v organizacích, ale také, řekněme, pro výměnu dat mezi vašimi dvěma počítači nebo pro zvýšení bezpečnosti sítě.

Návod

Zkontrolujte, zda v jádře vašeho operačního systému existuje podpora PPP. Nejjednodušší způsob, jak to udělat, je podívat se na hodnoty voleb s předponou CONFIG_PPP v aktuálním konfiguračním souboru jádra. Obvykle se instaluje do adresáře /boot a má název začínající na config. Zjistěte název tohoto souboru pomocí příkazu
ls /boot
nebo
ls /boot | grep conf
Vytiskněte požadované řádky pomocí příkazu cat, filtrujte pomocí grep. Například:
cat /boot/config-2.6.30-std-def-alt15 | grep PPP
Analyzujte řádky obsahující možnosti CONFIG_PPP, CONFIG_PPP_ASYNC, CONFIG_PPP_SYNC_TTY. Pokud před nimi není znak #, je k dispozici podpora pro odpovídající funkcionalitu (pro hodnoty m - ve formě externího modulu, pro hodnoty y - zahrnuté v jádře).

Zkontrolujte, zda je v systému nainstalován klientský software pro navazování připojení VPN. Požadovaný balíček má obvykle název začínající na pptp. Pomocí apt-cache s volbou hledání vyhledejte požadovaný balíček v dostupných úložištích a pomocí rpm s volbou -qa zkontrolujte, zda je balíček nainstalován. Při práci v grafickém prostředí může mít smysl používat programy, jako je synaptic.

Nainstalujte chybějící software. Používejte vhodné správce balíčků (apt-get, rpm v konzoli, synaptic v grafickém prostředí atd.). Pokud jste nainstalovali balíček ppp s moduly jádra pro podporu příslušného protokolu, restartujte počítač.

Zkuste nastavit VPN pomocí konfiguračních skriptů, jako je pptp-command nebo pptpsetup. Často jsou dodávány s klientským softwarem pro navazování připojení VPN. Chcete-li získat nápovědu k parametrům příkazového řádku těchto nástrojů, spusťte je s volbou --help. Například:
pptpsetup --help
Pokud konfigurační skripty nebyly nainstalovány, pokračujte dalším krokem a ručně nakonfigurujte VPN.

Vytvořte adresář /etc/ppp a v něm soubor s názvem chap-secrets. Otevřete soubor v textovém editoru. Přidejte k tomu řádek jako tento:
PŘIHLAŠOVACÍ HESLO SERVERU *
Hodnoty LOGIN a PASSWORD jsou uživatelské jméno a heslo. Musí je poskytnout poskytovatel přístupových služeb VPN. Místo SERVER zadejte libovolný název připojení nebo *.

Vytvořte adresář /etc/ppp/peers. Vytvořte v něm soubor, který má stejný název jako hodnota SERVER z předchozího kroku (nebo libovolný název, pokud bylo zadáno *). Upravte tento soubor a přidejte informace jako:
pty "pptp SERVER --nolaunchpppd"
jméno PŘIHLÁSIT
IPparam SERVER
vzdálené jméno SERVER
zámek
noauth
nodeflate
nobsdcomp
Hodnoty LOGIN a SERVER jsou stejné jako v kroku 5. Tím je nastavení VPN v systému Linux dokončeno.

Chcete mít bezpečný a bezpečný přístup k internetu ze svého smartphonu nebo notebooku při připojení k nezabezpečené síti přes WiFi v hotelu nebo kavárně? Virtuální privátní síť (VPN) vám umožňuje používat nezabezpečené sítě, jako byste byli v privátní síti. Veškerý váš provoz v tomto případě prochází serverem VPN.

V kombinaci s použitím připojení HTTPS vám níže popsaná nastavení umožní zabezpečit vaše soukromé informace, jako jsou přihlašovací údaje a hesla, a také vaše nákupy. A co víc, můžete obejít regionální omezení a cenzuru, stejně jako skrýt svou polohu a nešifrovaný HTTP provoz z nezabezpečené sítě.

Profil můžete přenést z počítače do telefonu připojením zařízení Android k počítači přes USB a zkopírováním souboru. Soubor profilu můžete také přesunout pomocí karty SD zkopírováním profilu na kartu a vložením karty do zařízení Android.

Spusťte aplikaci OpenVPN a kliknutím na nabídku importujte profil.

Sloučenina

Pro navázání spojení stiskněte tlačítko Připojit. Budete dotázáni, zda důvěřujete aplikaci OpenVPN. Odpověď OK k navázání spojení. Chcete-li připojení zastavit, přejděte do aplikace OpenVPN a vyberte Odpojit.

Krok 13 Testování připojení VPN

Po instalaci a konfiguraci se ujistěte, že vše funguje správně. Bez navázání připojení VPN otevřete prohlížeč a přejděte na DNSLeakTest.

Tato stránka vrátí IP adresu, kterou vám přidělil váš ISP. Chcete-li zkontrolovat, které servery DNS se používají, klikněte na rozšířený test.

Nyní vytvořte připojení pomocí klienta VPN a obnovte stránku v prohlížeči. Adresa IP, která vám byla přidělena, musí být zcela odlišná. Nyní tuto novou IP adresu používáte pro všechny na internetu. Klikněte rozšířený test znovu zkontrolujte nastavení DNS a ujistěte se, že nyní používáte DNS server vaší VPN.

Krok 14: Zrušte klientské certifikáty

Čas od času může být nutné zrušit klientský certifikát, abyste zabránili přístupu k serveru VPN

Chcete-li to provést, přejděte do adresáře certifikační autority a zadejte příkazy:

  • cd ~/openvpn-ca
  • zdroj vars
  • ./revoke-full client3

Výstup tohoto příkazu skončí chybou 23. To je normální. Výsledkem práce bude v adresáři klíčů vytvořen soubor crl.pem s informacemi nezbytnými pro zneplatnění certifikátu.

Přesuňte tento soubor do adresáře /etc/openvpn:

  • sudo cp ~/openvpn-ca/keys/crl.pem /etc/openvpn
  • sudo nano /etc/openvpn/server.conf

Na konec souboru přidejte crl-verify. Server OpenVPN zkontroluje CRL pokaždé, když někdo naváže připojení k serveru.

/etc/openvpn/server.conf

crl-verify crl.pem

Uložte a zavřete soubor.

Restartujte OpenVPN, abyste dokončili proces odvolání certifikátu:

Nyní se klient nebude moci připojit k serveru OpenVPN pomocí starého certifikátu.

Chcete-li zrušit další certifikáty, proveďte následující kroky:

    Vygenerujte nový seznam odvolaných certifikátů pomocí příkazu source vars v adresáři ~/openvpn-ca a zadáním příkazu revoke-full se jménem klienta.

    Zkopírujte nový seznam odvolaných certifikátů do adresáře /etc/openvpn, čímž přepíšete starý seznam.

    Restartujte službu OpenVPN.

Tento postup lze použít k odvolání jakýchkoli certifikátů, které jste dříve vytvořili.

Závěr

Gratulujeme! Nyní můžete bezpečně přistupovat k internetu, veškerý váš provoz je chráněn před odposlechy cenzory a vetřelci.

Chcete-li nakonfigurovat další klienty, opakujte kroky 6 a 11-13 pro každé nové zařízení. Chcete-li zrušit přístup klienta, použijte krok 14 .