GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat OpenVPN na AlmaLinux 8, Centos 8 nebo Rocky Linux 8

VPN „Virtual Private Network“ je soukromá síť, která skrývá identitu uživatele, původ a data pomocí šifrování. Jeho hlavním využitím je soukromí dat uživatele a bezpečné připojení k internetu. Protože skrývá data, umožňuje vám přístup k datům, která jsou obvykle blokována geografickými omezeními.

OpenVPN je software VPN s otevřeným zdrojovým kódem, který je sám o sobě softwarem i protokolem. Je velmi ceněn, protože stále obchází firewally.

Tento tutoriál vám krok za krokem ukáže, jak nainstalovat a nastavit server OpenVPN a připojit jej ke klientovi OpenVPN. K instalaci použijeme server CentOS 8, stejný postup bude fungovat i na Rocky Linux 8 a AlmaLinux 8.

Předpoklady

Terminálový přístup

Uživatelský účet s právy sudo.

Poznámka: Příkazy v tomto tutoriálu se provádějí na CentOS 8. Všechny metody v tutoriálu jsou platné také pro CentOS 7.

Aktualizace a upgrade systému

Ujistěte se, že je váš systém aktuální aktualizací a upgradem systému spuštěním následujícího příkazu.

sudo dnf update && sudo dnf upgrade

Zakázat SELinux

Dále musíte deaktivovat SELinux, protože je v konfliktu s OpenVPN a brání jeho spuštění.

Chcete-li zakázat SELinux, otevřete konfigurační soubor SELinux pomocí následujícího příkazu.

sudo nano /etc/selinux/config

Jakmile je soubor otevřen pomocí nano editoru. Vyhledejte SELinux a změňte jeho hodnotu na vypnuto nebo ji jednoduše nahraďte následujícím řádkem kódu.

SELINUX=disabled

Stiskněte Ctrl+O a poté Ctrl+X pro uložení a ukončení souboru.

Povolit přesměrování IP

Nyní musíte povolit předávání IP, aby mohly být příchozí pakety předávány do různých sítí.

Chcete-li povolit předávání IP, otevřete konfigurační soubor sysctl pomocí editoru nano.

sudo nano /etc/sysctl.conf

Přidejte do souboru následující kód.

net.ipv4.ip_forward = 1

Stiskněte Ctrl+O a poté Ctrl+X.

Nainstalujte OpenVPN Server

Ujistěte se, že jste nainstalovali balíček epel-release.

sudo dnf install epel-release -y

Nyní můžete OpenVPN nainstalovat pomocí následujícího příkazu.

sudo dnf install openvpn -y

Nyní, když je nainstalován OpenVPN. Přejděte do jeho instalační složky a stáhněte si easy-rsa. Easy-RSA vytváří a spravuje certifikační autority (CA).

cd /etc/openvpn
sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz

Rozbalte stažený soubor zip.

sudo tar -xvzf EasyRSA-unix-v3.0.6.tgz

A přesuňte soubor EasyRSA do jeho složky.

sudo mv EasyRSA-v3.0.6 easy-rsa

Konfigurace Easy-RSA

Dále musíme přidat a vytvořit SSL certifikát. Chcete-li to provést, nejprve přejděte do adresáře easy-rsa.

cd /etc/openvpn/easy-rsa

Chcete-li otevřít soubor vars v editoru nano, spusťte následující příkaz.

sudo nano vars

Nyní zkopírujte a vložte následující řádky kódu do souboru vars.

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "USA"
set_var EASYRSA_REQ_PROVINCE "Newyork"
set_var EASYRSA_REQ_CITY "Newyork"
set_var EASYRSA_REQ_ORG "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL ""
set_var EASYRSA_REQ_OU "osradar EASY CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"

Hodnotu země, města, provincie a e-mailu můžete změnit podle svých požadavků.

Stiskněte Ctrl+O a poté Ctrl+X.

Nyní spusťte adresář PKI pomocí následujícího příkazu.

./easyrsa init-pki

Nakonec si můžete vytvořit svůj certifikát CA.

sudo ./easyrsa build-ca

Generovat soubory certifikátu serveru

Pomocí následujícího příkazu získáte svůj pár klíčů a žádost o certifikát.

sudo ./easyrsa gen-req vitux-server nopass

Podepište klíč serveru pomocí CA

Chcete-li podepsat klíč serveru pomocí CA, spusťte následující příkaz.

sudo ./easyrsa sign-req server vitux-server
 

Potřebujeme klíč Diffie-Hellman pro účely výměny klíčů. Vygenerujte klíč spuštěním následujícího příkazu.

sudo ./easyrsa gen-dh

Dále zkopírujte všechny tyto soubory do /etc/openvpn/server/ adresář.

cp pki/ca.crt /etc/openvpn/server/
cp pki/dh.pem /etc/openvpn/server/
cp pki/private/vitux-server.key /etc/openvpn/server/
cp pki/issued/vitux-server.crt /etc/openvpn/server/

Vygenerujte klientský klíč a certifikát

Klientský klíč můžete získat spuštěním následujícího příkazu.

sudo ./easyrsa gen-req client nopass

Dále podepište svůj klientský klíč pomocí vygenerovaného certifikátu CA.

sudo ./easyrsa sign-req client client

Zkopírujte tyto soubory do /etc/openvpn/client/ adresář

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/openvpn/client/

Konfigurace serveru OpenVPN

Vytvořte a otevřete nový konfigurační soubor v adresáři klienta pomocí následujícího příkazu.

sudo nano /etc/openvpn/server/server.conf

Poté do souboru přidejte následující řádky kódu.

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vitux-server.crt
key /etc/openvpn/server/vitux-server.key
dh /etc/openvpn/server/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nobody
log-append /var/log/openvpn.log
verb 3

Stiskněte Ctrl+O a Ctrl+X.

Spusťte a povolte službu OpenVPN

Vaše OpenVPN je připravena ke spuštění. Spusťte a povolte server pomocí následujících příkazů.

sudo systemctl start [email protected]
sudo systemctl enable [email protected]

Aktivní stav můžete zobrazit a ověřit pomocí následujícího příkazu.

systemctl status [email protected]

Po úspěšném spuštění OpenVPN serveru se vytvoří nové síťové rozhraní. Chcete-li zobrazit podrobnosti, spusťte následující příkaz.

ifconfig

Vygenerujte konfigurační soubor klienta

Dalším krokem je připojení klienta k serveru OpenVPN. K tomu potřebujeme konfigurační soubor klienta. Chcete-li vygenerovat konfigurační soubor klienta, spusťte následující příkaz.

sudo nano /etc/openvpn/client/client.ovpn

Nyní zkopírujte a vložte následující kód do souboru.

client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
resolv-retry infinite
compress lz4
nobind
persist-key
persist-tun
mute-replay-warnings
verb 3

Stiskněte Ctrl+O pro uložení změn a stiskněte Ctrl+X pro ukončení editoru.

Konfigurovat směrování

Nastavte službu OpenVPN pomocí následujících příkazů, abyste ji umožnili přes firewall.

firewall-cmd --permanent --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-interface=tun0

firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

Nastavte směrování pro předávání příchozího provozu z VPN do místní sítě.

routecnf=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $routecnf -j MASQUERADE

Znovu načtěte, aby se změny projevily.

firewall-cmd --reload

Nainstalujte a používejte OpenVPN v klientském počítači

Musíte nainstalovat epel-release a OpenVPN stejně jako na straně serveru.

dnf install epel-release -y
dnf install openvpn -y

Nyní zkopírujte konfigurační soubory klienta ze serveru pomocí příkazu uvedeného níže.

sudo scp -r [email protected]:/etc/openvpn/client .

Přejděte do adresáře klienta a připojte se k serveru OpenVPN pomocí následujících příkazů.

cd client
openvpn --config client.ovpn

Spusťte ifconfig, abyste viděli přiřazenou IP adresu.

ifconfig tun0


Cent OS
  1. Jak nainstalovat PostgreSQL na CentOS 8 / Rocky Linux 8 / RHEL 8

  2. Jak nainstalovat OpenVPN na CentOS/RHEL 8

  3. Jak nainstalovat klienta FreeIPA na Rocky Linux/Alma Linux/CentOS 8

  1. Jak nainstalovat Mysql 8 na Rocky Linux/Centos 8

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Rocky Linux/Centos 8

  3. Jak nainstalovat Erlang na Rocky Linux/Alma Linux/CentOS 8

  1. Jak nainstalovat Terraform na AlmaLinux 8, CentOS 8 a Rocky Linux 8

  2. Jak nainstalovat VirtualBox na Rocky Linux 8 / CentOS 8 / RHEL 8

  3. Jak nainstalovat Docker na Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux