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.