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

Nejjednodušší způsob instalace a konfigurace serveru OpenVPN v systému Linux

Tato příručka popisuje, jak nainstalovat a nakonfigurovat server OpenVPN v systémech založených na RPM a DEB. V této příručce budeme používat skript nazvaný openvpn-install který automatizuje celý proces instalace a konfigurace serveru OpenVPN. Tento skript vám pomůže nastavit váš vlastní VPN server během několika minut, i když jste OpenVPN dosud nepoužívali.

Pojďme začít.

Instalace a konfigurace serveru OpenVPN v systému Linux

Pro účely této příručky budu používat dva systémy se systémem CentOS 7 64bit edition. Jeden funguje jako OpenVPN server, druhý jako openVPN klient. Níže jsou uvedeny podrobnosti o mých testovacích boxech.

Server OpenVPN:

  • OS :CentOS 7 64bit minimální edice
  • IP :192.168.43.150/24
  • Název hostitele :vpnserver.ostechnix.local

Klient OpenVPN:

  • OS  :CentOS 7 64bit minimální edice
  • IP :192.168.43.199/24

Nejprve uvidíme konfiguraci na straně serveru.

Instalace a konfigurace serveru OpenVPN

Stáhněte si skript openvpn-install z jeho stránky GitHub.

wget https://git.io/vpn -O openvpn-install.sh

Poté spusťte skript pomocí následujícího příkazu jako uživatel root:

bash openvpn-install.sh

Budete požádáni, abyste odpověděli na řadu otázek. Odpovězte na ně.

Ujistěte se, že IP adresa serveru VPN je správná. Pokud používáte více IP adres, zadejte IP síťového rozhraní, které má OpenVPN poslouchat.

Welcome to this quick OpenVPN "road warrior" installer

I need to ask you a few questions before starting the setup
 You can leave the default options and just press enter if you are ok with them

First I need to know the IPv4 address of the network interface you want OpenVPN
 listening to.
 IP address: 192.168.43.150

Vyberte protokol, který chcete použít. Chci použít tcp port, proto jsem zvolil číslo 2.

Which protocol do you want for OpenVPN connections?
 1) UDP (recommended)
 2) TCP
Protocol [1-2]: 2

Zadejte číslo portu.

What port do you want OpenVPN listening to?
Port: 1194

Zadejte podrobnosti o serveru DNS, který chcete používat s VPN. Chci používat Google DNS resolvery, tak jsem zvolil možnost 2.

Which DNS do you want to use with the VPN?
 1) Current system resolvers
 2) Google
 3) OpenDNS
 4) NTT
 5) Hurricane Electric
 6) Verisign
DNS [1-6]: 2

Dosáhli jsme posledního kroku. Zadejte název klientského certifikátu. Název by měl být jednoslovný a neměl by obsahovat žádné speciální znaky.

Finally, tell me your name for the client certificate
Please, use one word only, no special characters
Client name: client

Stisknutím klávesy ENTER spusťte instalaci serveru OPENVPN.

Okay, that was all I needed. We are ready to setup your OpenVPN server now
Press any key to continue...

Npw, tento skript začne instalovat všechny potřebné balíčky pro nastavení OpenVPN serveru. Anslo, vytvoří všechny potřebné klíče a certifikáty pro ověření s klienty VPN. Bude to několik minut trvat.

Nakonec se vás skript zeptá, zda máte nějakou externí IP adresu. Pokud žádné nemáte, jednoduše je ignorujte tak, že je necháte prázdné a stisknete klávesu ENTER.

If your server is NATed (e.g. LowEndSpirit), I need to know the external IP
If that's not the case, just ignore this and leave the next field blank
External IP: 

Finished!

Your client configuration is available at /root/client.ovpn
If you want to add more clients, you simply need to run this script again!

Instalace a konfigurace serveru OpenVPN je dokončena. Jak vidíte v posledním výstupu, podrobnosti o konfiguraci klienta jsou uloženy v souboru /root/client.ovpn . Tento soubor musíte zkopírovat do všech vašich klientských systémů VPN.

Zkopíroval jsem soubor client.ovpn do svého VPN klienta

scp client.ovpn [email protected]:/etc/openvpn/

Dále musíme nakonfigurovat klienta OpenVPN.

StáhnoutVideo zdarma:„Tréninkový kurz metodologií penetračního testování (v hodnotě 99 USD!) ZDARMA“

Konfigurace klienta OpenVPN

Ujistěte se, že jste zkopírovali soubor client.ovpn ze systému serveru VPN. Tento soubor jsem již zkopíroval do adresáře /etc/openvpn/ svého klientského systému VPN.

Nainstalujte balíček OpenVPN pomocí správce distribučních balíčků.

yum install openvpn

Dále spusťte následující příkaz k navázání zabezpečeného připojení k serveru VPN.

openvpn --config /etc/openvpn/client.ovpn

Ukázkový výstup:

Wed Apr 5 18:50:44 2017 Unrecognized option or missing parameter(s) in /etc/openvpn/client.ovpn:14: block-outside-dns (2.3.14)
Wed Apr 5 18:50:44 2017 OpenVPN 2.3.14 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec 7 2016
Wed Apr 5 18:50:44 2017 library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.06
Wed Apr 5 18:50:44 2017 Control Channel Authentication: tls-auth using INLINE static key file
Wed Apr 5 18:50:44 2017 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Socket Buffers: R=[87380->87380] S=[16384->16384]
Wed Apr 5 18:50:44 2017 Attempting to establish TCP connection with [AF_INET]192.168.43.150:1194 [nonblock]
Wed Apr 5 18:50:45 2017 TCP connection established with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link local: [undef]
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link remote: [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TLS: Initial packet from [AF_INET]192.168.43.150:1194, sid=c6fb554e 362eb192
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=1, CN=ChangeMe
Wed Apr 5 18:50:45 2017 Validating certificate key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has key usage 00a0, expects 00a0
Wed Apr 5 18:50:45 2017 VERIFY KU OK
Wed Apr 5 18:50:45 2017 Validating certificate extended key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Wed Apr 5 18:50:45 2017 VERIFY EKU OK
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=0, CN=server
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Wed Apr 5 18:50:45 2017 [server] Peer Connection Initiated with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:48 2017 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Apr 5 18:50:48 2017 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.255.0'
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: timers and/or timeouts modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ifconfig/up options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route-related options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Apr 5 18:50:48 2017 ROUTE_GATEWAY 192.168.43.1/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:28:98:6b
Wed Apr 5 18:50:48 2017 TUN/TAP device tun0 opened
Wed Apr 5 18:50:48 2017 TUN/TAP TX queue length set to 100
Wed Apr 5 18:50:48 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Apr 5 18:50:48 2017 /usr/sbin/ip link set dev tun0 up mtu 1500
Wed Apr 5 18:50:48 2017 /usr/sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 192.168.43.150/32 dev enp0s3
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 Initialization Sequence Completed

Nyní zkontrolujte, zda tun0 (rozhraní VPN) a zkontrolujte IP adresu rozhraní VPN pomocí příkazu 'ip addr':

ip addr

Ukázkový výstup:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 08:00:27:28:98:6b brd ff:ff:ff:ff:ff:ff
 inet 192.168.43.199/24 brd 192.168.43.255 scope global dynamic enp0s3
 valid_lft 42359sec preferred_lft 42359sec
 inet6 fe80::a00:27ff:fe28:986b/64 scope link 
 valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
 link/none 
 inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
 valid_lft forever preferred_lft forever

Jak můžete vidět ve výše uvedeném výstupu, náš server VPN automaticky přidělil klientovi VPN IP adresu 10.8.0.2.

Nyní zkuste pingnout server VPN z vašeho klientského systému VPN:

ping -c3 10.8.0.1

Ukázkový výstup:

PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=1.05 ms
64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=1.94 ms
64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=2.49 ms

--- 10.8.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 1.057/1.832/2.495/0.594 ms

Gratulujeme! Nyní jsme úspěšně nainstalovali a nakonfigurovali OpenVPN server a klienta v CentOS. Tato metoda je stejná pro systémy založené na DEB, jako je Ubuntu a Linux Mint. Na rozdíl od ruční instalace tento skript značně usnadňuje instalaci a konfiguraci openvpn.

Na zdraví!


OpenVPN
  1. Nakonfigurujte svůj server OpenVPN v systému Linux

  2. Nainstalujte OpenVPN do svého počítače se systémem Linux

  3. Jak nainstalovat a nakonfigurovat OpenVPN Server na Debian 10

  1. Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8

  2. Nainstalujte a nastavte OpenVPN Server na Ubuntu 20.04

  3. Nainstalujte a nakonfigurujte OpenVPN Server FreeBSD 12

  1. Jak nainstalovat a nakonfigurovat OpenVPN Access Server

  2. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta