GNU/Linux >> Znalost Linux >  >> OpenSuse

Jak nainstalovat a nakonfigurovat OpenVPN na OpenSUSE Leap 42.1

VPN nebo Virtual Private Network je zabezpečená soukromá síť přes veřejnou síť, jako je internet. VPN je bezpečný tunel přes internet, který chrání váš datový provoz a zvyšuje soukromí a zabezpečení internetu. Přístup k síti VPN je omezen zabezpečenými metodami ověřování.

OpenVPN je software s otevřeným zdrojovým kódem pro vytváření virtuálních privátních sítí, používá knihovnu OpenSSL k šifrování tunelovaných dat a podporuje přenosy UDP nebo TCP. OpenVPN může používat předsdílené klíče, autentizační mechanismy založené na certifikátu a uživatelském jménu/heslu.

V tomto tutoriálu vám ukážu, jak implementovat virtuální privátní síť pomocí OpenVPNvpn pod operačním systémem Linux OpenSUSE Leap 42.1.

Předpoklady

  • OpenSUSE Leap 42.1 – 64bit
  • Oprávnění uživatele root
  • TUN/TAP povoleno

Krok 1 – Kontrola, zda je povoleno TUN/TAP

Pokud chcete na svém serveru vytvořit síť VPN, ujistěte se, že je nainstalován a povolen TUN/TAP. Můžete to zkontrolovat pomocí příkazu níže:

cat /dev/net/tun

Výsledek by měl být:

cat: /dev/net/tun: File descriptor in bad state

Krok 2 – Instalace OpenVPN

OpenVPN je k dispozici v úložišti OpenSUSE. Můžete jej nainstalovat pomocí příkazu zypper:

zypper in openvpn

Krok 3 – Nastavení Easy-RSA

Dále si stáhněte easy-rsa a vygenerujte soubor certifikátu. Easy-rsa je nástroj pro správu certifikátů, můžete s ním vytvořit kořenovou certifikační autoritu a vyžadovat a podepisovat certifikáty.

Přejděte do adresáře OpenVPN a stáhněte si easy-rsa pomocí příkazu wget:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Rozbalte archiv a přesuňte adresář easy-rsa:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Nakonfigurujte klíč

Přejděte do adresáře easy-rsa a upravte soubor vars pro konfiguraci klíče a certifikátu:

cd easy-rsa/2.0/
vim vars

Řádek 53 – Pokud jste opravdu paranoidní, můžete zvětšit velikost klíče.

export KEY_SIZE=2048

Řádek 56 a 59 – Za kolik dní vyprší platnost klíče a certifikátu.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Řádek 64 - 72 - Změňte výchozí hodnotu informací o klíči a certifikátu.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]main"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Uložte soubor a ukončete.

Inicializujte PKI

Dále inicializujte PKI (Infrastructure Public Key):

source ./vars && ./clean-all && ./build-ca

Ponecháme výchozí hodnotu, stačí stisknout "Enter".

Vygenerujte parametry Diffie Hellmana

Spusťte níže uvedený příkaz:

./build-dh

Uvidíte výstup:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Vygenerujte soukromý klíč serveru

Vygenerujte soukromý klíč s názvem "server":

./build-key-server server

Stiskněte enter a zadejte "y" pro potvrzení vygenerování klíče.

Vygenerujte klíč a certifikát pro klienta

Vygenerujte klientský klíč a certifikát s názvem "client1":

./build-key client1

Stiskněte enter a zadejte "y" pro potvrzení generování klíče.

Klíč a certifikát byly vygenerovány v adresáři "keys". Nyní vytvořte kopii adresáře "keys" a vložte ji do adresáře "openvpn".

cp -r keys/ /etc/openvpn/

Krok 4 – Konfigurace OpenVPN

V tomto kroku nakonfigurujeme OpenVPN tak, aby běžela na protokolu UDP pomocí portu 2034 pro připojení klienta. Vytvořte nový konfigurační soubor server.conf v adresáři OpenVPN.

cd /etc/openvpn/
vim server.conf

Vložte konfiguraci níže:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Uložte soubor a ukončete editor.

Dále vytvořte nový adresář a soubor pro protokol openvpn:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Krok 5 – Konfigurace SuSEfirewall2

SuSEfirewall2 je skript pro generování pravidel iptables na základě souboru "/etc/sysconfig/SuSEfirewall2". Nainstalujeme SuSEfirewall2 a poté nakonfigurujeme port pro přístup k OpenVPN, poté povolíme NAT pomocí skriptu iptables pro OpenVPN.

Nainstalujte SuSEfirewall2 pomocí příkazu zypper:

zypper in SuSEfirewall2

Nyní přejděte do adresáře sysconfig a upravte konfigurační soubor SuSEfirewall2:

cd /etc/sysconfig/
vim SuSEfirewall2

Linka 134 – Povolit trasu.

FW_ROUTE="yes"

Řádek 253 – Povolte TCP port 22 pro přístup SSH z vnějšku sítě.

FW_SERVICES_EXT_UDP="22"

Řádek 267 – Povolení portu udp pro klientský přístup openvpn – port 2034.

FW_SERVICES_EXT_UDP="2034"

Řádek 877 – Povolit vlastní pravidla SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Uložte a ukončete.

Dále upravte vlastní pravidla SuSEfirewall2 v adresáři scripts.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

Do direktivy „fw_custom_after_chain_creation“ vložte nová pravidla iptables pro OpenVPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Uložte a ukončete.

Poznámka:

IP 10.10.2.0/24 je síť z konfiguračního souboru server.conf OpenVPN.

Nyní můžeme povolit přeposílání přidáním tohoto nového konfiguračního řádku do souboru sysctl.conf.

vim /etc/sysctl.conf

Vložte konfiguraci níže:

net.ipv4.ip_forward = 1

Uložte a ukončete.

Poznámka:

Pokud již řádek v souboru máte, změňte hodnotu z "0" na "1" namísto přidávání nového řádku.

Nyní spusťte příkaz níže a použijte změnu konfigurace.

sysctl -p

Spusťte server SuSEfirewall2 a OpenVPN:

systemctl start SuSEfirewall2
systemctl start [email protected]

Pokud máte chybu, můžete vidět podrobnou chybovou zprávu v protokolu OpenVPN.

Přidejte všechny služby do spuštění systému:

systemctl enable SuSEfirewall2
systemctl enable [email protected]

Krok 5 – Konfigurace klienta

Stáhněte si klientský klíč a certifikát z adresáře klíčů do místního počítače. Můžete použít příkaz scp nebo sftp, já jsem zde pomocí scp:

Příkaz, který musí být spuštěn na místním počítači.

scp [email protected]:~/etc/openvpn/keys/ca.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.key ~/myvpn/

V adresáři myvpn vytvořte nový konfigurační soubor pro klienta "client1.ovpn".

cd ~/myvpn/
vim client1.ovpn

Vložte konfiguraci níže:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Uložte a ukončete.

Pro připojení k naší VPN si můžete nainstalovat VPN klienta nebo pokud používáte Linux, můžete použít "Network-Manager". Pokud chcete VPN otestovat pomocí terminálu, můžete použít níže uvedený příkaz:

cd ~/myvpn/
sudo openvpn --config client1.ovpn


OpenSuse
  1. Jak nainstalovat a nakonfigurovat Postgres 14 na OpenSUSE Leap 15.3

  2. Jak nainstalovat Mongodb 5 v Opensuse Leap 15.3

  3. Jak nainstalovat a nakonfigurovat Redis 6 na OpenSUSE Leap 15.3

  1. Jak nainstalovat Java 17 v OpenSUSE Leap 15.3

  2. Jak nainstalovat a nastavit Nginx jako proxy OpenSUSE Leap 15.3

  3. Jak nainstalovat a nakonfigurovat Mariadb 10 v OpenSUSE Leap 15.3

  1. Jak nainstalovat PostgreSQL a phpPgAdmin na OpenSUSE Leap 42.1

  2. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na OpenSUSE Leap 11