
V tomto tutoriálu vám ukážeme, jak nainstalovat OpenVPN na váš CentOS 7. Pro ty z vás, kteří nevěděli, OpenVPN je open-source aplikace, která se široce používá k vytváření zabezpečené virtuální privátní sítě přes nezabezpečený veřejný internet. OpenVPN je řešení SSL VPN, které bezpečně odčerpává vaše systémové připojení přes internet. OpenVPN funguje ve struktuře klient-server. Všechna zařízení připojená k virtuální privátní síti fungují, jako by byla propojené s vaší místní sítí. Pakety odesílané tunelem VPN jsou šifrovány 256bitovým šifrováním AES, což znemožňuje krádež dat.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo ‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci open-source virtuální privátní sítě OpenVPN na server CentOS 7.
Nainstalujte OpenVPN na CentOS 7
Krok 1. Nejprve začněme tím, že zajistíme, aby byl váš systém aktuální.
yum clean all yum -y install epel-release yum -y update
Krok 2. Instalace OpenVPN na CentOS 7.
Nyní nainstalujeme balíčky OpenVPN a Easy-RSA. Balíček Easy-RSA poskytujeme, abychom mohli mít jednodušší způsob generování certifikátů:
yum install openvpn easy-rsa
Krok 3. Konfigurace Easy-RSA.
Nyní, když jste úspěšně nainstalovali OpenVPN, musíte vytvořit klíče a certifikáty, postupujte podle této části:
mkdir -p /etc/openvpn/easy-rsa/keys
Dále zkopírujeme skripty pro generování certifikátů z jejich výchozího umístění do naší složky OpenVPN:
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Přejdeme do adresáře easy-RSA a zdroje proměnných:
cd /etc/openvpn/easy-rsa source ./vars
Poté ihned spusťte „./clean-all“, abyste zajistili, že máme čisté nastavení certifikátu:
./clean-all
Nyní musíte vygenerovat soubor „Certifikační autorita (ca)“. Budete požádáni o název země atd., který jste upravili v souboru „vars“. Můžete stisknout "Enter" pro přijetí vašich výchozích hodnot.
Nyní se přesuňte do následujícího adresáře:
cd /etc/openvpn/easy-rsa/2.0/ ./build-ca
Krok 4. Vygenerování klíče serveru a certifikátu.
Spusťte níže uvedený příkaz v aktuálním adresáři:
./build-key-server server
Budeme také muset vytvořit soubor Diffie-Hellman. Vytvoření tohoto souboru bude záviset na délce klíče. Pro toto výchozí nastavení použijeme 2048bitový klíč, ale můžete jej kdykoli změnit úpravou souboru vars ve složce easy-RSA:
./build-dh
Krok 5. Konfigurace serveru OpenVPN.
Nyní nakonfigurujeme server OpenVPN. Nejprve vytvořte konfigurační soubor s názvem server.conf:
nano /etc/openvpn/server.conf
Vložte níže uvedené konfigurace (můžete změnit hodnoty portu atd.):
local 192.168.77.20 port 443 proto tcp dev tun tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem server 10.8.0.0 255.255.255.0 #-ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 4.2.2.1" keepalive 2 30 comp-lzo persist-key persist-tun status 443status.log log-append 443log.log verb 3logverb
Uložte soubor a povolte a spusťte službu OpenVPN:
systemctl enable openvpn@server systemctl start openvpn@server
Krok 6. Nakonfigurujte Iptables pro OpenVPN.
Budeme muset zadat některá pravidla IPtables, abychom povolili internet na klientském počítači:
### KVM ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE ### OpenVZ ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.77.20 iptables-save
Dále upravte systctl.conf pro povolení předávání paketů:
nano /etc/sysctl.conf
Přidejte řádek:
net.ipv4.ip_forward=1
Krok 7. Vytvořte klientský certifikát a klíč.
Následující příkazy vygenerují klientský certifikát a klíč:
nano client
Přidejte následující řádek:
cd /etc/openvpn/easy-rsa/2.0/
echo -en "Nama Client: "
read client
echo -en "Server IP: "
read servip
echo -en "TCP or UDP?: "
read proto
echo -en "Server port: "
read servport
. ../vars
source ./vars
echo "####################################"
echo "Feel free to accept default values"
echo "####################################"
./build-key $client
cd /etc/openvpn/easy-rsa/2.0/keys
rm -rf $client
echo "client
dev tun
proto $proto
remote $servip $servport
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
cert $client.crt
key $client.key
;auth-user-pass
comp-lzo
verb 3" > $client.ovpn
mkdir d${client}
cp ${client}* d${client}
cp ca.crt d${client}
mv d${client} $client
zip -r $client.zip $client
cp $client.zip /var/www/html
echo "Now grab the $client.zip file and extract it under your Openvpn\config dir!" Nastavte oprávnění k souboru a vytvořte spustitelný:
chmod 755 client ./client
Blahopřejeme! Úspěšně jste nainstalovali OpenVPN. Děkujeme, že jste použili tento návod k instalaci open source virtuální privátní sítě OpenVPN do vašeho systému CentOS 7. Pro další pomoc nebo užitečné informace doporučujeme zkontrolovat oficiální webové stránky OpenVPN.