GNU/Linux >> Znalost Linux >  >> Panels >> OpenVPN

Nainstalujte a nakonfigurujte klienta OpenVPN na CentOS 8/Ubuntu 18.04

Abyste se mohli připojit k serveru OpenVPN a umožnit vám přístup k místním intranetovým zdrojům, jednoduše byste potřebovali klienta OpenVPN. V této příručce se naučíme, jak nainstalovat a nakonfigurovat klienta OpenVPN na CentOS 8/Ubuntu 18.04. Pamatujte, že software OpenVPN lze nakonfigurovat tak, aby fungoval jako server nebo klient.

Zjistěte, jak nainstalovat a nakonfigurovat OpenVPN Server na CentOS 8 pomocí níže uvedeného odkazu;

Nastavte OpenVPN Server na CentOS 8

Instalace a konfigurace klienta OpenVPN na CentOS 8/Ubuntu 18.04

Abychom demonstrovali komunikaci dvou serverů na různých intranetech, máme dva servery, Ubuntu 18.04 a CentOS 8, které nemohou komunikovat, protože jsou v různých sítích LAN, dosažitelných pouze přes OpenVPN Server. Tyto dva servery mají připojena pouze rozhraní NAT.

Nainstalujte klienta OpenVPN na Ubuntu 18.04

OpenVPN spravuje několik softwarových úložišť OpenVPN (OSS), ze kterých lze nainstalovat nejnovější a stabilní verzi klienta OpenVPN. Tento seznam zdrojů však musíte vytvořit ručně, jak je uvedeno níže;

Nainstalujte podpisový klíč úložiště OpenVPN.

wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg| sudo apt-key add -

Dále nainstalujte seznam zdrojů pro Ubuntu 18.04.

echo "deb http://build.openvpn.net/debian/openvpn/stable $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/openvpn-aptrepo.list

Aktualizujte mezipaměť balíčku.

apt update

Nainstalujte klienta OpenVPN na Ubuntu 18.04

apt install openvpn

Verzi pak můžete ověřit spuštěním příkazu níže;

openvpn --version

Nainstalujte klienta OpenVPN na CentOS 8

Na CentOS 8 je nejnovější OpenVPN, verze 2.4.8 v době psaní tohoto článku, poskytována úložištěm EPEL.

dnf info openvpn
Name         : openvpn
Version      : 2.4.8
Release      : 1.el8
Arch         : x86_64
Size         : 540 k
Source       : openvpn-2.4.8-1.el8.src.rpm
Repo         : epel
Summary      : A full-featured SSL VPN solution
URL          : https://community.openvpn.net/
License      : GPLv2
...

Chcete-li nainstalovat klienta OpenVPN na CentOS 8, musíte nainstalovat úložiště EPEL, pokud nemáte;

dnf install epel-release

Poté můžete nainstalovat klienta OpenVPN spuštěním příkazu;

dnf install openvpn

Konfigurace klienta OpenVPN na CentOS 8/Ubuntu 18.04

Abyste se mohli připojit k serveru OpenVPN, musíte vytvořit konfiguraci klienta obsahující certifikát CA, certifikát klientského serveru a klíč.

Pokud jste postupovali podle našeho průvodce nastavením serveru OpenVPN na CentOS 8, popsali jsme, jak vygenerovat soubory certifikátů klientů a klíče.

Jakmile klíče vygenerujete, zkopírujte je do klienta a poznamenejte si cestu, kde jsou uloženy.

Musíte také zkopírovat klíč HMAC a certifikát CA do klienta.

Poté můžete vytvořit konfiguraci klienta OpenVPN.

Chcete-li například vytvořit konfigurační soubor OpenVPN pro klienta, koromicha , jehož certifikáty a klíče jsou koromicha.crt a koromicha.key;

vim koromicha.ovpn
client
tls-client
pull
dev tun
proto udp4
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
comp-lzo
verb 3
auth SHA512
tls-auth ta.key 1
ca ca.crt
cert koromicha.crt
key koromicha.key

Všimněte si, že v tomto nastavení jsou klientský certifikát, klíč, certifikát CA a klíč HMAC umístěny na stejné cestě jako samotná konfigurace klienta OpenVPN, koromicha.ovpn.

ls
ca.crt koromicha.crt koromicha.key koromicha.ovpn ta.key

Abyste se vyhnuli problémům s cestami k certifikátům a klíčům, můžete je vložit do konfiguračního souboru;

client
tls-client
pull
dev tun
proto udp4
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#group nogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
comp-lzo
verb 3
auth SHA512
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
feb1af5407baa247d4e772c76aed6c75
...
-----END OpenVPN Static key V1-----
</tls-auth>
<ca>
-----BEGIN CERTIFICATE-----
MIIDTjCCAjagAwIBAgIUX0VQrHTgLDabUUIOAf7tD9cGp4YwDQYJKoZIhvcNAQEL
...
WA9BBk2shVWfR849Lmkep+GPyqHpU47dZAz37ARB2Gfu3w==
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
...
/7FvJaeLqmUHnvSs5eBlRZSgtOL19SCFkG0HXdnw3LtBaoHQXxgzOkDPW1+5
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+DI7kg6MsRoCs
...
6WdLcNtWKAcU294xJEZoOA8/
-----END PRIVATE KEY-----
</key>

Proveďte totéž na všech klientských serverech pro každého uživatele, který se potřebuje připojit k vpn.

Pokud jste si všimli, řádky níže jsou komentovány, aby se předešlo chybě, CHYBA:Příkaz přidání trasy pro Linux se nezdařil:externí program byl ukončen s chybovým stavem:2 vyprázdněním vytvořených tras před jejich opětovným přidáním při opětovném připojení.

#user nobody
#group nogroup

Konfigurační soubor klienta OpenVPN je nyní připraven.

Poté se můžete na požádání připojit k serveru OpenVPN nebo nakonfigurovat server tak, aby vytvořil konfigurační soubor VPN, kdykoli se systém restartuje.

Chcete-li se připojit na vyžádání, jednoduše použijte příkaz openvpn jako;

sudo openvpn client.ovpn

nebo

sudo openvpn --config client.ovpn

Pokud je připojení k serveru OpenVPN úspěšné, měli byste vidět Initialization Sequence Completed .

...
Wed Apr 14 15:23:19 2020 ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:8d:b0:f8
Wed Apr 14 15:23:19 2020 TUN/TAP device tun0 opened
Wed Apr 14 15:23:19 2020 TUN/TAP TX queue length set to 100
Wed Apr 14 15:23:19 2020 /sbin/ip link set dev tun0 up mtu 1500
Wed Apr 14 15:23:19 2020 /sbin/ip addr add dev tun0 10.8.0.3/24 broadcast 10.8.0.255
Wed Apr 14 15:23:19 2020 /sbin/ip route add 192.168.2.132/32 via 10.0.2.2
Wed Apr 14 15:23:19 2020 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Wed Apr 14 15:23:19 2020 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Wed Apr 14 15:23:19 2020 Initialization Sequence Completed

Chcete-li zkontrolovat adresy IP;

[[email protected] ~]$ ip add show tun0
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.3/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::8d65:4038:acb0:b954/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
[email protected]:~$ ip add show tun0
10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::bd3d:27ff:84d5:e587/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Otestujte konektivitu mezi dvěma vzdálenými servery;

[email protected]:~$ ping 10.8.0.3 -c 4
PING 10.8.0.3 (10.8.0.3) 56(84) bytes of data.
64 bytes from 10.8.0.3: icmp_seq=1 ttl=64 time=3.78 ms
64 bytes from 10.8.0.3: icmp_seq=2 ttl=64 time=3.59 ms
64 bytes from 10.8.0.3: icmp_seq=3 ttl=64 time=3.61 ms
64 bytes from 10.8.0.3: icmp_seq=4 ttl=64 time=3.30 ms

--- 10.8.0.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 3.307/3.576/3.786/0.172 ms
[[email protected] ~]$ ping 10.8.0.2 -c 4
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=6.77 ms
64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=1.57 ms
64 bytes from 10.8.0.2: icmp_seq=3 ttl=64 time=4.37 ms
64 bytes from 10.8.0.2: icmp_seq=4 ttl=64 time=13.6 ms

--- 10.8.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15ms
rtt min/avg/max/mdev = 1.571/6.572/13.577/4.443 ms

Měli byste být také schopni získat přístup k internetu v závislosti na nastavení tras vašeho serveru.

Spuštění klienta OpenVPN jako systémové služby

Chcete-li automaticky navázat připojení, kdykoli se server restartuje, můžete povolit službu OpenVPN client systemd.

Než to budete moci udělat, změňte příponu konfiguračního souboru VPN z .ovpn na .conf . Názvy souborů nahraďte odpovídajícím způsobem.

cp koromicha.ovpn koromicha.conf

Zkopírujte soubor .conf soubor do adresáře s konfiguracemi klienta OpenVPN, /etc/openvpn/client .

cp koromicha.conf /etc/openvpn/client

Dále spusťte službu OpenVPN klienta systemd. Nahraďte název koromicha s názvem vašeho konfiguračního souboru .conf.

systemctl start [email protected]koromicha

Chcete-li zkontrolovat stav;

systemctl status [email protected]
[email protected] - OpenVPN tunnel for koromicha
   Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-14 16:00:35 EAT; 8s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
 Main PID: 6877 (openvpn)
   Status: "Initialization Sequence Completed"
    Tasks: 1 (limit: 2300)
   CGroup: /system.slice/system-openvpn\x2dclient.slice/[email protected]
           └─6877 /usr/sbin/openvpn --suppress-timestamps --nobind --config koromicha.conf

Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: ROUTE_GATEWAY 10.0.2.2/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:4b:ff:18
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP device tun0 opened
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: TUN/TAP TX queue length set to 100
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip link set dev tun0 up mtu 1500
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 192.168.2.132/32 via 10.0.2.2
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Elb 14 16:00:37 ubuntu1804.kifarunix-demo.com openvpn[6877]: Initialization Sequence Completed

Chcete-li povolit spuštění při spouštění systému;

systemctl enable [email protected]

Úspěšně jste nainstalovali a nastavili klienta OpenVPN na Ubuntu 18.04 a CentOS 8. Tím se dostáváme na konec našeho návodu, jak nainstalovat a nakonfigurovat klienta OpenVPN na CentOS 8/Ubuntu 18.04.

Související výukové programy

Přiřaďte klientům OpenVPN statické IP adresy

Nakonfigurujte klienta strongSwan VPN na Ubuntu 18.04/CentOS 8

Nakonfigurujte IPSEC VPN pomocí StrongSwan na Ubuntu 18.04

Nainstalujte a nakonfigurujte OpenVPN Server FreeBSD 12

Nainstalujte a nastavte OpenVPN Server na Fedora 29/CentOS 7

OpenVPN
  1. Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8

  2. Nainstalujte a nastavte OpenVPN Server na Ubuntu 20.04

  3. Připojte se k OpenVPN pomocí Správce sítě na CentOS 8/Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat klienta FreeIPA na Ubuntu 20.04

  2. Nakonfigurujte klienta strongSwan VPN na Ubuntu 18.04/CentOS 8

  3. Nainstalujte a nakonfigurujte OpenVPN Server FreeBSD 12

  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat OpenVPN Server a klienta na CentOS 7

  3. Jak nainstalovat a nakonfigurovat OpenVPN Server na Ubuntu 20.04