OpenVPN telepítési és beállítási Ubuntu Linux alatt 5 percig, programozó jegyzetek

Rendszeres olvasója ennek a blognak valószínűleg már egy párszor az életben felállított OpenVPN. De azt hiszem, hogy az újonnan, ez a cikk hasznos lesz, és érdekes. Belőle akkor megtanulják, hogyan kell emelni a saját VPN-szerver, valamint amit ténylegesen szüksége van öt percig. Nos, figyelembe véve a nyilvántartásba vétel időpontjában semmilyen Amazon'e. DigitalOcean, VDSina vagy FastVDS és fizetési VDS, talán nem kell öt percig, és az „egész” tizenöt.

Szóval, miért valaki járni egy VPN? Az a tény, számos oka lehet. Például, hogy a jelszót küldött HTTP-n keresztül nem folyt, amikor ülsz a nyílt WiFi pontot ismeretlen eredetű. És valóban, még a rendszeres szolgáltató nem szükséges tudni, hogy melyik oldalakat látogat. Mégis - hogy ne égesse meg IP IRC hálózatok és más szolgáltatásokat, amelyekkel dolgozik. Tudják a hely is elég haszontalan. Is, akkor érdemes kipróbálni néhány új szolgáltatás, amely eddig nem áll rendelkezésre az oroszországi IP. Ezen túlmenően, a forgalom közted és a VPN-szerver nem csak a titkosított, hanem sűrített, amelyek gyakran okoznak az érzés egy gyors internet. OpenVPN is hasznos lehet sok más esetben - az alkalmazottak hozzáférhetnek a belső forrásokat a cég, az építési alkalmazásáról szóló VDS'ah a mikroservisnoy építészet és azon túl.

Miért van szükség a VPN, nem pedig a proxy vagy a pattogás a kikötők SSH-n keresztül, remélem is érthető. VPN elég, hogy hozzanak létre egy időben, és azonnal a közlekedés valamennyi alkalmazás megy keresztül VPN szerver, vagy egy tömörített és titkosított formában.

Hogy növelje annak a VPN, akkor szükség van a saját szerver Ubuntu Linux (vagy más Linux / BSD, de akkor lesz elég nehéz követni az utasításokat ebben a cikkben), valamint a jogot, hogy root meg. Ha már van egy szerver is. Ha nem, ne aggódj. Ma, vegyél egy megfelelő VDS / VPS lehet vicces 150 rubelt havonta. Cégek, amelyek a kapcsolódó szolgáltatások - több tucat, egyes nevezték elején a jegyzetet. Tanácsot adott nehéz. Ha szüksége van egy autó valahol az Egyesült Államokban, fizetni csak hitelkártyával és az árak dollárban nem zavaros, nézd meg a DigitalOcean. Ha elégedett a helyét a szerver Amszterdam c orosz IP és akar fizetni a lehető legkisebb, a Yandex.Money, WebMoney vagy hasonló rendszerek (rendre Bizottság) próbálja VDSina. Nos, mondanom sem kell, ne legyen lusta, hogy vizsgálja meg a saját, mert mire ezeket a sorokat olvassák, a helyzet a VDS lehet változtatni a piacon. És nem, ez a post nem fizetett senki :)

Menj a szerver, lesz gyökér, azt mondjuk:

apt-get update
apt-get install openvpn

Korábban OpenVPN benne nevű segédprogram könnyen rsa, amelynek célja a generációs kulcsok és tanúsítványok. Kezdve 2.3 verzió A segédprogram vágott csomagot, így van, hogy töltse le és fordítsd magad:

cd / tmp
wget https: // github.com / OpenVPN / easy-rsa / archive / master.zip
apt-get install kicsomagoló
kicsomagolás master.zip
cd könnyen rsa-master
. / Építése / build-dist.sh
tar xvzf. / EasyRSA-git-development.tgz
cd EasyRSA-git-fejlesztés

Mi generálni az összes szükséges kulcsokat és tanúsítványokat. Készülj fel, hogy adja meg a jelszavakat őket. Mivel mi létrehozott személyes VPN szerver, úgy tűnik, akkor egy jelszót, de hosszabb:

/ Easyrsa init-pki
. / Easyrsa épít-ca
. / Easyrsa build-szerver teljes kiszolgáló
. / Easyrsa build-kliens teljes client1
. / Easyrsa gen-dh

Az utolsó parancs több percig is eltarthat.

Transzfer a kapott kulcsokat és tanúsítványokat az / etc / openvpn /:

mv. / Pki / dh.pem / etc / openvpn / dh.pem
mv. / Pki / private / client1.key / etc / openvpn /
mv. / Pki / private / server.key / etc / openvpn /
mv. / Pki / ca.crt / etc / openvpn /
mv. / Pki / ki / client1.crt / etc / openvpn /
mv. / Pki / ki / server.crt / etc / openvpn /

Ugyanabban a könyvtárban hozzon létre egy fájlt server.conf:

mód szerver
dev tun
szerver 10.128.0.0 255.255.255.0
push "redirect-gateway dEF1"
# Fontos! különben megy a DNS-szolgáltató
push "dhcp-opció DNS 8.8.8.8"
tls-szerver
ca ca.crt
cert server.crt
kulcs server.key
dh dh.pem
proto tcp-szerver
port 1194
# Ügyfelek látják egymást
kliens-kliens
comp-LZO
keepalive 10120
ige 4
rejtjel AES-256-CBC
nobody felhasználó
csoport nogroup
max-ügyfelek 10

Próbáljuk futtatni a OpenVPN. Amikor megszökött, akkor meg kell adnia egy jelszót. Ennek megfelelően, egy újraindítás után fel kell emelni a OpenVPN kezét. De mivel felállítottuk a VPN személyes, ez valószínűleg nem jelent nagy problémát, mint kulcs feküdt a tiszta, vagy ami még rosszabb - a tárolt jelszavakat. fut:

szolgáltatás OpenVPN Start

A szerver kell hallgatni porton 1194. Ha nem, akkor a füst / var / log / syslog.

Most a kliens oldalon. Meg kell client1.crt fájlok client1.key és ca.crt:

mkdir vpn
cd vpn
scp vpn-server: / etc / openvpn / client1.crt. /
scp vpn-server: / etc / openvpn / client1.key. /
scp vpn-server: / etc / openvpn / ca.crt. /

Client.conf hozzon létre egy fájlt:

# A következő két sor csak akkor érvényesek, * nix rendszerek
# A gyakorlatban ezek nem nagyon kényelmes, mert nem OpenVPN
# Normál esetben minden a tiszta munka végeztével

# User nobody
# Group nogroup

fennállnak-kulcs
fennállnak-tun
ca ca.crt
cert client1.crt
kulcs client1.key
rejtjel AES-256-CBC
comp-LZO
ige 3

Hem a szerverre, figyelmesen olvassa el a rönk:

sudo OpenVPN --config client.conf

A szomszédos terminál azt mondják:

ping 10.128.0.1
traceroute mail.ru

Ha mindent helyesen tette, akkor azt találjuk, hogy a ping sikeresen eléri 10.128.0.1 (első csapat), de a csomagok rajta nem fog múlni (második csapat). Ez azért van, mert elfelejtette beállítani NAT a szerveren. Amit személyesen találom furcsának. Halványan emlékszem, hogy amikor időm tettem fel OpenVPN FreeBSD alatt. Egy ilyen lépés nem szükséges. Azonban lehet, hogy tévedek.

Ahhoz nem kell újraindítani, azt mondjuk:

echo 1 >> / proc / sys / net / ipv4 / conf / all / fuvarozás

iptables -A FORWARD -s 10.128.0.0 / 24 -j ACCEPT
iptables -A FORWARD -d 10.128.0.0 / 24 -m state \
--kialakult állapotnak, KAPCSOLÓDÓ -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.128.0.0 / 24 \
-j SNAT --to forráskódú 123.45.67.89

... ahol 123.45.67.89 - a kiszolgáló IP címét. És leválasztotta a kliens, igyekszünk menni bármely 2ip.ru vagy ip.xss.ru - most minden kell dolgozni. Ha nem, a dohányzás naplókat. Ha minden rendben van, csak a tűzfal szabályok a szerveren:

iptables-save> / etc / iptables.rules

... és ellenőrizze, hogy a / etc / network / interfaces egy sort:

pre-up iptables-restore,

Ha a szerver már korábban hangolt tűzfal. lehet, hogy a szabályokat fájlban tárolt névvel eltérő /etc/iptables.rules.

Azt lehet mondani, újraindítás, és ellenőrizze, hogy a beállítások tartják újraindítása után a kiszolgáló:

cat / proc / sys / net / ipv4 / conf / all / fuvarozás
iptables -L -n

Az OpenVPN szerver természetesen újra kell indítani a kezét.

Ami marad, az utolsó simítás a kliens. Az a tény, hogy (1) fut openvpnt egy külön terminál, és kövesse őt, ha ő esett ott, kényelmetlen. Ezen túlmenően, (2), ha azt mondja az ügyfél:

nm-szerszám | grep DNS
sudo iptables -A OUTPUT -d 192.168.0.1 -j DROP
# ^ Törléséhez a szabályt írja be ugyanazt a parancsot a -D helyett -A

... ahol a 192.168.0.1 - DNS a szolgáltató (közüzemi származó nm-eszköz), azt találjuk, hogy a domén rezolving törött, ezért az ügyfél továbbra is a DNS-szolgáltatót. Akkor két legyet egy csapásra, mondván:

sudo apt-get install network-manager-openvpn-gnome

... és konfigurálása VPN keresztül NetworkManager (a hálózat ikonra a jobb felső sarokban az Egység). Ez lesz könnyű, sőt meg kell ismételni egy szöveges config használó ügyfél jelölőnégyzetek és beviteli mezőt. Megérteni, mi a pipa a config vonal megfelel, nagyon könnyen. A legfontosabb dolog - ne legyen lusta mászni mindenféle fejlett funkciók a hálózat, és más konfigurációs szakaszok. Ha hibázik valahol, a probléma könnyen diagnosztizálható a fájl a / var / log / syslog.

Annak ellenére, hogy a jegyzet kiderült, elég hosszú, OpenVPN konfiguráció tényleg csak néhány percet vesz igénybe. Biztonságos és gyorsan böngészhet az interneten! És azt is, mint mindig, én is nagyon örülök a kérdésekre, és kiegészítéseket.

Mint a bejegyzést? Oszd meg másokkal:

(Meg kell adni JS)

Kapcsolódó cikkek