Works fine:
[root@test ~]# curl -O https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 36169 100 36169 0 0 59301 0 --:--:-- --:--:-- --:--:-- 59390 [root@test ~]# chmod +x openvpn-install.sh [root@test ~]# ./openvpn-install.sh Welcome to the OpenVPN installer! The git repository is available at: https://github.com/angristan/openvpn-install 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. I need to know the IPv4 address of the network interface you want OpenVPN listening to. Unless your server is behind NAT, it should be your public IPv4 address. IP address: xxx.xxx.xxx.xxx Checking for IPv6 connectivity... Your host does not appear to have IPv6 connectivity. Do you want to enable IPv6 support (NAT)? [y/n]: n What port do you want OpenVPN to listen to? 1) Default: 1194 2) Custom 3) Random [49152-65535] Port choice [1-3]: 1 What protocol do you want OpenVPN to use? UDP is faster. Unless it is not available, you shoudn't use TCP. 1) UDP 2) TCP Protocol [1-2]: 1 What DNS resolvers do you want to use with the VPN? 1) Current system resolvers (from /etc/resolv.conf) 2) Self-hosted DNS Resolver (Unbound) 3) Cloudflare (Anycast: worldwide) 4) Quad9 (Anycast: worldwide) 5) Quad9 uncensored (Anycast: worldwide) 6) FDN (France) 7) DNS.WATCH (Germany) 8) OpenDNS (Anycast: worldwide) 9) Google (Anycast: worldwide) 10) Yandex Basic (Russia) 11) AdGuard DNS (Russia) DNS [1-10]: 3 Do you want to use compression? It is not recommended since the VORACLE attack make use of it. Enable compression? [y/n]: n Do you want to customize encryption settings? Unless you know what you're doing, you should stick with the default parameters provided by the script. Note that whatever you choose, all the choices presented in the script are safe. (Unlike OpenVPN's defaults) See https://github.com/angristan/openvpn-install#security-and-encryption to learn more. Customize encryption settings? [y/n]: n Okay, that was all I needed. We are ready to setup your OpenVPN server now. You will be able to generate a client at the end of the installtion. Press any key to continue... Failed to set locale, defaulting to C Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirrors.ovh.net * extras: centos.mirrors.ovh.net * updates: centos.mirrors.ovh.net Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-11 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================================================================== Package Arch Version Repository Size ========================================================================================================================================================================== Installing: epel-release noarch 7-11 extras 15 k Transaction Summary ========================================================================================================================================================================== Install 1 Package Total download size: 15 k Installed size: 24 k Downloading packages: epel-release-7-11.noarch.rpm | 15 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : epel-release-7-11.noarch 1/1 Verifying : epel-release-7-11.noarch 1/1 Installed: epel-release.noarch 0:7-11 Complete! Failed to set locale, defaulting to C Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirrors.ovh.net * epel: mirror.switch.ch * extras: centos.mirrors.ovh.net * updates: centos.mirrors.ovh.net Resolving Dependencies --> Running transaction check ---> Package ca-certificates.noarch 0:2015.2.4-70.0.el7_1 will be updated ---> Package ca-certificates.noarch 0:2018.2.22-70.0.el7_5 will be an update --> Processing Dependency: p11-kit-trust >= 0.23.5 for package: ca-certificates-2018.2.22-70.0.el7_5.noarch --> Processing Dependency: p11-kit >= 0.23.5 for package: ca-certificates-2018.2.22-70.0.el7_5.noarch ---> Package curl.x86_64 0:7.29.0-19.el7 will be updated ---> Package curl.x86_64 0:7.29.0-46.el7 will be an update --> Processing Dependency: libcurl = 7.29.0-46.el7 for package: curl-7.29.0-46.el7.x86_64 ---> Package iptables.x86_64 0:1.4.21-13.el7 will be updated ---> Package iptables.x86_64 0:1.4.21-24.1.el7_5 will be an update ---> Package openssl.x86_64 1:1.0.2k-12.el7 will be installed --> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-12.el7 for package: 1:openssl-1.0.2k-12.el7.x86_64 --> Processing Dependency: make for package: 1:openssl-1.0.2k-12.el7.x86_64 --> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:openssl-1.0.2k-12.el7.x86_64 ---> Package openvpn.x86_64 0:2.4.6-1.el7 will be installed --> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: openvpn-2.4.6-1.el7.x86_64 --> Processing Dependency: libsystemd.so.0()(64bit) for package: openvpn-2.4.6-1.el7.x86_64 --> Processing Dependency: libpkcs11-helper.so.1()(64bit) for package: openvpn-2.4.6-1.el7.x86_64 --> Processing Dependency: liblzo2.so.2()(64bit) for package: openvpn-2.4.6-1.el7.x86_64 --> Processing Dependency: liblz4.so.1()(64bit) for package: openvpn-2.4.6-1.el7.x86_64 ---> Package wget.x86_64 0:1.14-10.el7_0.1 will be updated ---> Package wget.x86_64 0:1.14-15.el7_4.1 will be an update --> Running transaction check ---> Package libcurl.x86_64 0:7.29.0-19.el7 will be updated ---> Package libcurl.x86_64 0:7.29.0-46.el7 will be an update ---> Package lz4.x86_64 0:1.7.5-2.el7 will be installed ---> Package lzo.x86_64 0:2.06-8.el7 will be installed ---> Package make.x86_64 1:3.82-23.el7 will be installed ---> Package openssl-libs.x86_64 1:1.0.1e-42.el7.9 will be updated ---> Package openssl-libs.x86_64 1:1.0.2k-12.el7 will be an update ---> Package p11-kit.x86_64 0:0.20.7-3.el7 will be updated ---> Package p11-kit.x86_64 0:0.23.5-3.el7 will be an update ---> Package p11-kit-trust.x86_64 0:0.20.7-3.el7 will be updated ---> Package p11-kit-trust.x86_64 0:0.23.5-3.el7 will be an update ---> Package pkcs11-helper.x86_64 0:1.11-3.el7 will be installed ---> Package systemd-libs.x86_64 0:208-20.el7_1.5 will be updated --> Processing Dependency: systemd-libs = 208-20.el7_1.5 for package: systemd-208-20.el7_1.5.x86_64 ---> Package systemd-libs.x86_64 0:219-57.el7_5.1 will be an update --> Processing Dependency: libdw.so.1()(64bit) for package: systemd-libs-219-57.el7_5.1.x86_64 --> Running transaction check ---> Package elfutils-libs.x86_64 0:0.170-4.el7 will be installed --> Processing Dependency: elfutils-libelf(x86-64) = 0.170-4.el7 for package: elfutils-libs-0.170-4.el7.x86_64 --> Processing Dependency: libelf.so.1(ELFUTILS_1.7)(64bit) for package: elfutils-libs-0.170-4.el7.x86_64 --> Processing Dependency: default-yama-scope for package: elfutils-libs-0.170-4.el7.x86_64 ---> Package systemd.x86_64 0:208-20.el7_1.5 will be updated --> Processing Dependency: systemd = 208-20.el7_1.5 for package: systemd-sysv-208-20.el7_1.5.x86_64 ---> Package systemd.x86_64 0:219-57.el7_5.1 will be an update --> Processing Dependency: kmod >= 18-4 for package: systemd-219-57.el7_5.1.x86_64 --> Running transaction check ---> Package elfutils-default-yama-scope.noarch 0:0.170-4.el7 will be installed ---> Package elfutils-libelf.x86_64 0:0.160-1.el7 will be updated ---> Package elfutils-libelf.x86_64 0:0.170-4.el7 will be an update ---> Package kmod.x86_64 0:14-10.el7 will be updated ---> Package kmod.x86_64 0:20-21.el7 will be an update --> Processing Dependency: dracut for package: kmod-20-21.el7.x86_64 ---> Package systemd-sysv.x86_64 0:208-20.el7_1.5 will be updated ---> Package systemd-sysv.x86_64 0:219-57.el7_5.1 will be an update --> Running transaction check ---> Package dracut.x86_64 0:033-535.el7_5.1 will be installed --> Processing Dependency: kpartx for package: dracut-033-535.el7_5.1.x86_64 --> Processing Dependency: hardlink for package: dracut-033-535.el7_5.1.x86_64 --> Running transaction check ---> Package hardlink.x86_64 1:1.0-19.el7 will be installed ---> Package kpartx.x86_64 0:0.4.9-119.el7_5.1 will be installed --> Processing Dependency: libdevmapper.so.1.02(DM_1_02_97)(64bit) for package: kpartx-0.4.9-119.el7_5.1.x86_64 --> Running transaction check ---> Package device-mapper-libs.x86_64 7:1.02.93-3.el7_1.1 will be updated --> Processing Dependency: device-mapper-libs = 7:1.02.93-3.el7_1.1 for package: 7:device-mapper-1.02.93-3.el7_1.1.x86_64 ---> Package device-mapper-libs.x86_64 7:1.02.146-4.el7 will be an update --> Running transaction check ---> Package device-mapper.x86_64 7:1.02.93-3.el7_1.1 will be updated ---> Package device-mapper.x86_64 7:1.02.146-4.el7 will be an update --> Processing Conflict: systemd-219-57.el7_5.1.x86_64 conflicts initscripts < 9.49.28-1 --> Restarting Dependency Resolution with new changes. --> Running transaction check ---> Package initscripts.x86_64 0:9.49.24-1.el7 will be updated ---> Package initscripts.x86_64 0:9.49.41-1.el7_5.1 will be an update --> Processing Conflict: initscripts-9.49.41-1.el7_5.1.x86_64 conflicts redhat-release < 7.5-0.11 --> Restarting Dependency Resolution with new changes. --> Running transaction check ---> Package centos-release.x86_64 0:7-1.1503.el7.centos.2.8 will be updated ---> Package centos-release.x86_64 0:7-5.1804.4.el7.centos will be an update --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================================================================== Package Arch Version Repository Size ========================================================================================================================================================================== Installing: openssl x86_64 1:1.0.2k-12.el7 base 492 k openvpn x86_64 2.4.6-1.el7 epel 518 k Updating: ca-certificates noarch 2018.2.22-70.0.el7_5 updates 392 k centos-release x86_64 7-5.1804.4.el7.centos updates 25 k curl x86_64 7.29.0-46.el7 base 268 k initscripts x86_64 9.49.41-1.el7_5.1 updates 437 k iptables x86_64 1.4.21-24.1.el7_5 updates 432 k wget x86_64 1.14-15.el7_4.1 base 547 k Installing for dependencies: dracut x86_64 033-535.el7_5.1 updates 325 k elfutils-default-yama-scope noarch 0.170-4.el7 base 31 k elfutils-libs x86_64 0.170-4.el7 base 267 k hardlink x86_64 1:1.0-19.el7 base 14 k kpartx x86_64 0.4.9-119.el7_5.1 updates 76 k lz4 x86_64 1.7.5-2.el7 base 98 k lzo x86_64 2.06-8.el7 base 59 k make x86_64 1:3.82-23.el7 base 420 k pkcs11-helper x86_64 1.11-3.el7 epel 56 k Updating for dependencies: device-mapper x86_64 7:1.02.146-4.el7 base 289 k device-mapper-libs x86_64 7:1.02.146-4.el7 base 316 k elfutils-libelf x86_64 0.170-4.el7 base 195 k kmod x86_64 20-21.el7 base 121 k libcurl x86_64 7.29.0-46.el7 base 220 k openssl-libs x86_64 1:1.0.2k-12.el7 base 1.2 M p11-kit x86_64 0.23.5-3.el7 base 252 k p11-kit-trust x86_64 0.23.5-3.el7 base 129 k systemd x86_64 219-57.el7_5.1 updates 5.0 M systemd-libs x86_64 219-57.el7_5.1 updates 402 k systemd-sysv x86_64 219-57.el7_5.1 updates 79 k Transaction Summary ========================================================================================================================================================================== Install 2 Packages (+ 9 Dependent packages) Upgrade 6 Packages (+11 Dependent packages) Total download size: 13 M Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/28): centos-release-7-5.1804.4.el7.centos.x86_64.rpm | 25 kB 00:00:00 (2/28): dracut-033-535.el7_5.1.x86_64.rpm | 325 kB 00:00:00 (3/28): device-mapper-libs-1.02.146-4.el7.x86_64.rpm | 316 kB 00:00:00 (4/28): ca-certificates-2018.2.22-70.0.el7_5.noarch.rpm | 392 kB 00:00:00 (5/28): elfutils-libelf-0.170-4.el7.x86_64.rpm | 195 kB 00:00:00 (6/28): hardlink-1.0-19.el7.x86_64.rpm | 14 kB 00:00:00 (7/28): initscripts-9.49.41-1.el7_5.1.x86_64.rpm | 437 kB 00:00:00 (8/28): elfutils-default-yama-scope-0.170-4.el7.noarch.rpm | 31 kB 00:00:00 (9/28): iptables-1.4.21-24.1.el7_5.x86_64.rpm | 432 kB 00:00:00 (10/28): kpartx-0.4.9-119.el7_5.1.x86_64.rpm | 76 kB 00:00:00 (11/28): kmod-20-21.el7.x86_64.rpm | 121 kB 00:00:00 (12/28): libcurl-7.29.0-46.el7.x86_64.rpm | 220 kB 00:00:00 (13/28): lzo-2.06-8.el7.x86_64.rpm | 59 kB 00:00:00 (14/28): lz4-1.7.5-2.el7.x86_64.rpm | 98 kB 00:00:00 (15/28): make-3.82-23.el7.x86_64.rpm | 420 kB 00:00:00 (16/28): openssl-libs-1.0.2k-12.el7.x86_64.rpm | 1.2 MB 00:00:00 (17/28): device-mapper-1.02.146-4.el7.x86_64.rpm | 289 kB 00:00:01 (18/28): curl-7.29.0-46.el7.x86_64.rpm | 268 kB 00:00:01 (19/28): p11-kit-0.23.5-3.el7.x86_64.rpm | 252 kB 00:00:00 (20/28): elfutils-libs-0.170-4.el7.x86_64.rpm | 267 kB 00:00:00 (21/28): openssl-1.0.2k-12.el7.x86_64.rpm | 492 kB 00:00:00 (22/28): p11-kit-trust-0.23.5-3.el7.x86_64.rpm | 129 kB 00:00:00 warning: /var/cache/yum/x86_64/7/epel/packages/openvpn-2.4.6-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY ] 1.6 MB/s | 6.1 MB 00:00:04 ETA Public key for openvpn-2.4.6-1.el7.x86_64.rpm is not installed (23/28): openvpn-2.4.6-1.el7.x86_64.rpm | 518 kB 00:00:04 (24/28): systemd-libs-219-57.el7_5.1.x86_64.rpm | 402 kB 00:00:00 (25/28): systemd-219-57.el7_5.1.x86_64.rpm | 5.0 MB 00:00:00 (26/28): systemd-sysv-219-57.el7_5.1.x86_64.rpm | 79 kB 00:00:00 (27/28): wget-1.14-15.el7_4.1.x86_64.rpm | 547 kB 00:00:00 (28/28): pkcs11-helper-1.11-3.el7.x86_64.rpm | 56 kB 00:00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.9 MB/s | 13 MB 00:00:06 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <epel@fedoraproject.org>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-11.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : lz4-1.7.5-2.el7.x86_64 1/45 Updating : elfutils-libelf-0.170-4.el7.x86_64 2/45 Updating : p11-kit-0.23.5-3.el7.x86_64 3/45 Updating : libcurl-7.29.0-46.el7.x86_64 4/45 Updating : centos-release-7-5.1804.4.el7.centos.x86_64 5/45 Updating : p11-kit-trust-0.23.5-3.el7.x86_64 6/45 Updating : ca-certificates-2018.2.22-70.0.el7_5.noarch 7/45 Updating : 1:openssl-libs-1.0.2k-12.el7.x86_64 8/45 Installing : pkcs11-helper-1.11-3.el7.x86_64 9/45 Installing : 1:hardlink-1.0-19.el7.x86_64 10/45 Updating : 7:device-mapper-1.02.146-4.el7.x86_64 11/45 Updating : 7:device-mapper-libs-1.02.146-4.el7.x86_64 12/45 Installing : kpartx-0.4.9-119.el7_5.1.x86_64 13/45 Installing : dracut-033-535.el7_5.1.x86_64 14/45 Updating : kmod-20-21.el7.x86_64 15/45 Updating : systemd-libs-219-57.el7_5.1.x86_64 16/45 Installing : elfutils-libs-0.170-4.el7.x86_64 17/45 Updating : systemd-219-57.el7_5.1.x86_64 18/45 Installing : elfutils-default-yama-scope-0.170-4.el7.noarch 19/45 Updating : systemd-sysv-219-57.el7_5.1.x86_64 20/45 Installing : 1:make-3.82-23.el7.x86_64 21/45 Installing : lzo-2.06-8.el7.x86_64 22/45 Installing : openvpn-2.4.6-1.el7.x86_64 23/45 Installing : 1:openssl-1.0.2k-12.el7.x86_64 24/45 Updating : initscripts-9.49.41-1.el7_5.1.x86_64 25/45 Updating : wget-1.14-15.el7_4.1.x86_64 26/45 Updating : curl-7.29.0-46.el7.x86_64 27/45 Updating : iptables-1.4.21-24.1.el7_5.x86_64 28/45 UPGRADE: Automatically re-enabling default systemd units: brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service Cleanup : initscripts-9.49.24-1.el7.x86_64 29/45 Cleanup : systemd-sysv-208-20.el7_1.5.x86_64 30/45 Cleanup : 7:device-mapper-libs-1.02.93-3.el7_1.1.x86_64 31/45 Cleanup : 7:device-mapper-1.02.93-3.el7_1.1.x86_64 32/45 Cleanup : systemd-208-20.el7_1.5.x86_64 33/45 Cleanup : wget-1.14-10.el7_0.1.x86_64 34/45 Cleanup : 1:openssl-libs-1.0.1e-42.el7.9.x86_64 35/45 Cleanup : ca-certificates-2015.2.4-70.0.el7_1.noarch 36/45 Cleanup : p11-kit-trust-0.20.7-3.el7.x86_64 37/45 Cleanup : curl-7.29.0-19.el7.x86_64 38/45 Cleanup : centos-release-7-1.1503.el7.centos.2.8.x86_64 39/45 Cleanup : libcurl-7.29.0-19.el7.x86_64 40/45 Cleanup : p11-kit-0.20.7-3.el7.x86_64 41/45 Cleanup : kmod-14-10.el7.x86_64 42/45 Cleanup : systemd-libs-208-20.el7_1.5.x86_64 43/45 Cleanup : elfutils-libelf-0.160-1.el7.x86_64 44/45 Cleanup : iptables-1.4.21-13.el7.x86_64 45/45 Verifying : initscripts-9.49.41-1.el7_5.1.x86_64 1/45 Verifying : dracut-033-535.el7_5.1.x86_64 2/45 Verifying : curl-7.29.0-46.el7.x86_64 3/45 Verifying : kmod-20-21.el7.x86_64 4/45 Verifying : lzo-2.06-8.el7.x86_64 5/45 Verifying : 1:openssl-libs-1.0.2k-12.el7.x86_64 6/45 Verifying : kpartx-0.4.9-119.el7_5.1.x86_64 7/45 Verifying : elfutils-default-yama-scope-0.170-4.el7.noarch 8/45 Verifying : openvpn-2.4.6-1.el7.x86_64 9/45 Verifying : centos-release-7-5.1804.4.el7.centos.x86_64 10/45 Verifying : libcurl-7.29.0-46.el7.x86_64 11/45 Verifying : systemd-219-57.el7_5.1.x86_64 12/45 Verifying : p11-kit-0.23.5-3.el7.x86_64 13/45 Verifying : wget-1.14-15.el7_4.1.x86_64 14/45 Verifying : systemd-libs-219-57.el7_5.1.x86_64 15/45 Verifying : lz4-1.7.5-2.el7.x86_64 16/45 Verifying : iptables-1.4.21-24.1.el7_5.x86_64 17/45 Verifying : 1:make-3.82-23.el7.x86_64 18/45 Verifying : elfutils-libs-0.170-4.el7.x86_64 19/45 Verifying : systemd-sysv-219-57.el7_5.1.x86_64 20/45 Verifying : ca-certificates-2018.2.22-70.0.el7_5.noarch 21/45 Verifying : 7:device-mapper-1.02.146-4.el7.x86_64 22/45 Verifying : 1:hardlink-1.0-19.el7.x86_64 23/45 Verifying : pkcs11-helper-1.11-3.el7.x86_64 24/45 Verifying : p11-kit-trust-0.23.5-3.el7.x86_64 25/45 Verifying : 1:openssl-1.0.2k-12.el7.x86_64 26/45 Verifying : 7:device-mapper-libs-1.02.146-4.el7.x86_64 27/45 Verifying : elfutils-libelf-0.170-4.el7.x86_64 28/45 Verifying : 7:device-mapper-libs-1.02.93-3.el7_1.1.x86_64 29/45 Verifying : elfutils-libelf-0.160-1.el7.x86_64 30/45 Verifying : kmod-14-10.el7.x86_64 31/45 Verifying : ca-certificates-2015.2.4-70.0.el7_1.noarch 32/45 Verifying : systemd-libs-208-20.el7_1.5.x86_64 33/45 Verifying : p11-kit-trust-0.20.7-3.el7.x86_64 34/45 Verifying : systemd-208-20.el7_1.5.x86_64 35/45 Verifying : centos-release-7-1.1503.el7.centos.2.8.x86_64 36/45 Verifying : p11-kit-0.20.7-3.el7.x86_64 37/45 Verifying : initscripts-9.49.24-1.el7.x86_64 38/45 Verifying : curl-7.29.0-19.el7.x86_64 39/45 Verifying : iptables-1.4.21-13.el7.x86_64 40/45 Verifying : wget-1.14-10.el7_0.1.x86_64 41/45 Verifying : 1:openssl-libs-1.0.1e-42.el7.9.x86_64 42/45 Verifying : systemd-sysv-208-20.el7_1.5.x86_64 43/45 Verifying : 7:device-mapper-1.02.93-3.el7_1.1.x86_64 44/45 Verifying : libcurl-7.29.0-19.el7.x86_64 45/45 Installed: openssl.x86_64 1:1.0.2k-12.el7 openvpn.x86_64 0:2.4.6-1.el7 Dependency Installed: dracut.x86_64 0:033-535.el7_5.1 elfutils-default-yama-scope.noarch 0:0.170-4.el7 elfutils-libs.x86_64 0:0.170-4.el7 hardlink.x86_64 1:1.0-19.el7 kpartx.x86_64 0:0.4.9-119.el7_5.1 lz4.x86_64 0:1.7.5-2.el7 lzo.x86_64 0:2.06-8.el7 make.x86_64 1:3.82-23.el7 pkcs11-helper.x86_64 0:1.11-3.el7 Updated: ca-certificates.noarch 0:2018.2.22-70.0.el7_5 centos-release.x86_64 0:7-5.1804.4.el7.centos curl.x86_64 0:7.29.0-46.el7 initscripts.x86_64 0:9.49.41-1.el7_5.1 iptables.x86_64 0:1.4.21-24.1.el7_5 wget.x86_64 0:1.14-15.el7_4.1 Dependency Updated: device-mapper.x86_64 7:1.02.146-4.el7 device-mapper-libs.x86_64 7:1.02.146-4.el7 elfutils-libelf.x86_64 0:0.170-4.el7 kmod.x86_64 0:20-21.el7 libcurl.x86_64 0:7.29.0-46.el7 openssl-libs.x86_64 1:1.0.2k-12.el7 p11-kit.x86_64 0:0.23.5-3.el7 p11-kit-trust.x86_64 0:0.23.5-3.el7 systemd.x86_64 0:219-57.el7_5.1 systemd-libs.x86_64 0:219-57.el7_5.1 systemd-sysv.x86_64 0:219-57.el7_5.1 Complete! --2018-09-27 16:32:16-- https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.5/EasyRSA-nix-3.0.5.tgz Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112 Connecting to github.com (github.com)|192.30.253.113|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/4519663/58c8b380-b876-11e8-9aee-14f04d342c9e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180927T203214Z&X-Amz-Expires=300&X-Amz-Signature=d88cff8578149d765daf44d46e878e465f2586bcec5ba2b6a43ce798b28a792c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DEasyRSA-nix-3.0.5.tgz&response-content-type=application%2Foctet-stream [following] --2018-09-27 16:32:17-- https://github-production-release-asset-2e65be.s3.amazonaws.com/4519663/58c8b380-b876-11e8-9aee-14f04d342c9e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180927T203214Z&X-Amz-Expires=300&X-Amz-Signature=d88cff8578149d765daf44d46e878e465f2586bcec5ba2b6a43ce798b28a792c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DEasyRSA-nix-3.0.5.tgz&response-content-type=application%2Foctet-stream Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.233.51 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.233.51|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 50270 (49K) [application/octet-stream] Saving to: '/root/EasyRSA-nix-3.0.5.tgz' 100%[================================================================================================================================>] 50,270 193KB/s in 0.3s 2018-09-27 16:32:18 (193 KB/s) - '/root/EasyRSA-nix-3.0.5.tgz' saved [50270/50270] Note: using Easy-RSA configuration from: ./vars Using SSL: openssl OpenSSL 1.0.2k-fips 26 Jan 2017 init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki read EC key writing EC key Note: using Easy-RSA configuration from: ./vars Using SSL: openssl OpenSSL 1.0.2k-fips 26 Jan 2017 Generating a 256 bit EC private key writing new private key to '/etc/openvpn/easy-rsa/pki/private/server_jL200Pkydpt9bCXj.key.bWxKhyOl34' ----- Using configuration from ./safessl-easyrsa.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'server_jL200Pkydpt9bCXj' Certificate is to be certified until Sep 11 20:32:18 2021 GMT (1080 days) Write out database with 1 new entries Data Base Updated Note: using Easy-RSA configuration from: ./vars Using SSL: openssl OpenSSL 1.0.2k-fips 26 Jan 2017 Using configuration from ./safessl-easyrsa.cnf An updated CRL has been created. CRL file: /etc/openvpn/easy-rsa/pki/crl.pem * Applying /usr/lib/sysctl.d/00-system.conf ... * Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ... * Applying /etc/sysctl.d/20-openvpn.conf ... net.ipv4.ip_forward = 1 * Applying /usr/lib/sysctl.d/50-default.conf ... sysctl: permission denied on key 'kernel.sysrq' sysctl: permission denied on key 'kernel.core_uses_pid' net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.promote_secondaries = 1 net.ipv4.conf.all.promote_secondaries = 1 * Applying /etc/sysctl.d/99-sysctl.conf ... * Applying /etc/sysctl.conf ... Created symlink from /etc/systemd/system/multi-user.target.wants/openvpn@server.service to /etc/systemd/system/openvpn@.service. Created symlink from /etc/systemd/system/multi-user.target.wants/iptables-openvpn.service to /etc/systemd/system/iptables-openvpn.service. Tell me a name for the client. Use one word only, no special characters. Client name: client Do you want to protect the configuration file with a password? (e.g. encrypt the private key with a password) 1) Add a passwordless client 2) Use a password for the client Select an option [1-2]: 1 Note: using Easy-RSA configuration from: ./vars Using SSL: openssl OpenSSL 1.0.2k-fips 26 Jan 2017 Generating a 256 bit EC private key writing new private key to '/etc/openvpn/easy-rsa/pki/private/client.key.VZhpv3Hp6R' ----- Using configuration from ./safessl-easyrsa.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'client' Certificate is to be certified until Sep 11 20:32:22 2021 GMT (1080 days) Write out database with 1 new entries Data Base Updated Client client added, the configuration file is available at /root/client.ovpn. Download the .ovpn file and import it in your OpenVPN client. If you want to add more clients, you simply need to run this script another time!
Обновлено: 07.02.2022
Опубликовано: 18.10.2016
Тематические термины: VPN, CentOS
Подготовка системы
Установка OpenVPN
Создание сертификатов
Настройка сервера
Настройка клиента
Доступ к локальной сети
Аутентификация
Автозапуск клиента
Статические IP
Доступ в Интернет через VPN-сервер
Настройка анонимности
Возможные проблемы
Для удобства настройки заходим под суперпользователем:
$ sudo su
Подготовка системы
Обновляем установленные пакеты:
yum update
Установим правильную временную зону:
timedatectl set-timezone Europe/Moscow
* в данном примере московское время.
Устанавливаем сервис для синхронизации времени:
yum install chrony
Разрешаем автозапуск службы chrony и запускаем ее:
systemctl enable chronyd —now
Отключаем Selinux:
setenforce 0
Чтобы Selinux не включился после перезагрузки, откроем данный файл:
vi /etc/selinux/config
И отредактируем строчку SELINUX=enforcing на:
SELINUX=disabled
Создаем правило для firewalld:
firewall-cmd —permanent —add-port=443/udp
* в данной инструкции мы настроим работу OpenVPN на порту 443 по UDP (по умолчанию, это 1194/UDP). Если в вашем случае необходим другие порт и протокол, меняем значения на соответствующие.
… и применяем его:
firewall-cmd —reload
Если используется iptables, правило создаем командой:
iptables -I INPUT -p udp —dport 443 -j ACCEPT
* где 443 — порт, который мы будем использовать для openvpn.
Установка, настройка и запуск VPN-сервера
Установка OpenVPN
Устанавливаем репозиторий epel:
yum install epel-release
Устанавливаем необходимые пакеты следующей командой:
yum install openvpn easy-rsa
Создание сертификатов
В основе идеи VPN лежит шифрование трафика, а значит для его работы необходимы сертификаты.
Переходим в каталог easy-rsa:
cd /usr/share/easy-rsa/3
* в зависимости от версии easy-rsa, последний каталог может быть другим. Увидеть точное название каталога можно командой ls /usr/share/easy-rsa/.
Чтобы упростить и ускорить процесс создания ключей, создаем следующий файл:
vi vars
export KEY_COUNTRY=»RU«
export KEY_PROVINCE=»Sankt-Petersburg«
export KEY_CITY=»Sankt-Petersburg«
export KEY_ORG=»DMOSK COMPANY«
export KEY_EMAIL=»master@dmosk.ru«
export KEY_CN=»DMOSK«
export KEY_OU=»DMOSK«
export KEY_NAME=»name-openvpn-server.dmosk.ru«
export KEY_ALTNAMES=»name-openvpn-server»
* где KEY_CN и KEY_OU: рабочие подразделения (например, можно указать название отдела); KEY_NAME: адрес, по которому будет выполняться подключение (можно указать полное наименование сервера); KEY_ALTNAMES — альтернативный адрес.
* так как мы генерируем самоподписный сертификат, значения данных полей никак не повлияют на работу OpenVPN, однако, для удобства, лучше подставить реальные данные.
Запускаем созданный файл на исполнение:
. ./vars
Инициализируем PKI:
./easyrsa init-pki
Мы должны увидеть:
…
init-pki complete; you may now create a CA or requests.
…
… а в текущем каталоге появится папка pki.
Генерируем корневой сертификат:
./easyrsa build-ca
… после ввода Enter обязательно задаем пароль дважды. На запрос ввести Common Name можно просто нажать ввод или написать свое имя:
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
Создаем ключ Диффи-Хеллмана:
./easyrsa gen-dh
Для создания сертификата сервера необходимо сначала создать файл запроса:
./easyrsa gen-req vpn-server nopass
* на запрос ввода Common Name просто вводим Enter, чтобы использовать настройку из файла vars; nopass можно упустить, если хотим повысить безопасность с помощью пароля на сертификат.
… и на его основе — сам сертификат:
./easyrsa sign-req server vpn-server
После ввода команды подтверждаем правильность данных, введя yes:
Confirm request details: yes
… и вводим пароль, который указывали при создании корневого сертификата.
Для создания ta ключа используем команду:
openvpn —genkey —secret pki/ta.key
Сертификаты сервера готовы и находятся в каталоге pki.
Создаем каталог в /etc/openvpn, в котором будем хранить сертификаты:
mkdir /etc/openvpn/keys
Копируем в него содержимое каталога pki:
cp -r pki/* /etc/openvpn/keys/
Настройка OpenVPN-сервера
Создаем конфигурационный файл:
vi /etc/openvpn/server.conf
И вставляем в него следующее:
local 192.168.0.15
port 443
proto udp
dev tun
ca keys/ca.crt
cert keys/issued/vpn-server.crt
key keys/private/vpn-server.key
dh keys/dh.pem
tls-auth keys/ta.key 0
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
client-to-client
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 0
mute 20
daemon
mode server
tls-server
comp-lzo
* где из всех параметров, обязательно, внести изменения нужно в следующие — local: IP-адрес, на котором будет обрабатывать запросы OpenVPN; port: сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть уже занят в вашей системе — посмотреть список используемых портов можно командой ss -tunlp. Если порт занят, используйте любой из свободных, например 1194).
Создаем каталог для логов сервера:
mkdir /var/log/openvpn
Разрешаем автоматический старт сервиса vpn:
systemctl enable openvpn@server
И запускаем его:
systemctl start openvpn@server
Проверим, что сервис корректно работает:
systemctl status openvpn@server
Настройка OpenVPN-клиента
Для настройки клиента необходимо на сервере сгенерировать сертификаты, а на клиентском компьютере установить программу openvpn и настроить ее.
На сервере
Генерируем сертификаты для клиента. Для этого переходим в каталог easy-rsa (если мы из него выходили):
cd /usr/share/easy-rsa/3
Запускаем еще раз vars:
. ./vars
Создаем запрос и сам сертификат:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
* как и при генерировании сертификата сервера, подтверждаем правильность данных и вводим пароль корневого сертификата. В данном примере мы создадим сертификат для client1.
На сервере скопируем ключи во временную директорию, выполнив последовательно 3 команды:
mkdir /tmp/keys
cp pki/issued/client1.crt pki/private/client1.key pki/dh.pem pki/ca.crt pki/ta.key /tmp/keys
chmod -R a+r /tmp/keys
* сертификаты скопированы в каталог /tmp для удобства переноса их на клиентский компьютер.
На клиенте
Мы рассмотрим настройку клиента на примере операционных систем Windows и Linux.
Windows
1. Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
2. Переходим в папку %userprofile%OpenVPNconfig или C:Program FilesOpenVPNconfig (лучше в профиле пользователя). И копируем в нее файлы ca.crt, client.crt, client.key, dh.pem, ta.key из каталога /tmp/keys на сервере, например, при помощи программы WinSCP.
После переноса файлов, не забываем удалить ключи из временного каталога на сервере:
rm -Rf /tmp/keys
3. Теперь возвращаемся к компьютеру с Windows, открываем блокнот от имени администратора и вставляем следующие строки:
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0
* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.
Сохраняем файл с именем config.ovpn в папке %userprofile%OpenVPNconfig или C:Program FilesOpenVPNconfig (лучше в профиле пользователя).
4. Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно).
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.
Linux
1. Устанавливаем клиента одной из команд.
а) для Rocky Linux / CentOS:
yum install epel-release
yum install openvpn
б) для Ubuntu / Debian:
apt-get install openvpn
2. Переходим в каталог:
cd /etc/openvpn
Копируем в каталог файлы ca.crt, client1.crt, client1.key, dh.pem, ta.key из каталога /tmp/keys на сервере, например, при помощи утилиты scp:
scp admin@192.168.0.15:/tmp/keys/* .
* где admin — имя пользователя, под которым можно подключиться к серверу по SSH; 192.168.0.15 — IP-адрес сервера.
Для закрытых ключей разрешаем доступ только для владельца:
chmod 600 client1.key ta.key
После переноса файлов, не забываем удалить ключи из временного каталога на сервере:
rm -R /tmp/keys
3. Создаем конфигурационный файл:
vi /etc/openvpn/client.conf
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo no
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0
* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.
4. Разово запустим клиента:
cd /etc/openvpn
openvpn —config /etc/openvpn/client.conf
Соединение должно выполниться. Мы можем увидеть предупреждения — по желанию, межете их исправить самостоятельно.
5. Прерываем выполнение подключения комбинацией Ctrl + C и запустим клиента в качестве службы:
systemctl enable openvpn@client —now
Проверить, что соединение состоялось можно пинганув сервер по VPN-адресу:
ping 172.16.10.1
Доступ к локальной сети
Для настройки доступа к локальной сети, воспользуйтесь инструкцией Настройка доступа к локальной сети клиентам OpenVPN в CentOS 7.
Аутентификация пользователей
Позволяет требовать от пользователя ввод логина и пароля при каждом подключении. Также идентификация каждого пользователя необходима для уникальной идентификации каждого из них и выдачи разных IP-адресов.
Настройка на сервере
Открываем конфигурационный файл openvpn:
vi /etc/openvpn/server.conf
И добавляем следующую строчку:
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
* как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name «openvpn-*auth-pam*» -print.
Перезапускаем сервер:
systemctl restart openvpn@server
Создаем учетную запись для авторизации:
useradd vpn1 -s /sbin/nologin
passwd vpn1
Настройка на клиенте
В конфигурационный файл клиента добавляем:
auth-user-pass
Можно пробовать подключаться.
Вход без ввода пароля
Если необходимо настроить авторизацию, но автоматизировать вход клиента, открываем конфигурационный файл последнего и строку для авторизации меняем на:
auth-user-pass auth.txt
* где auth.txt — файл, в котором мы будем хранить логин и пароль.
Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:
username
password
* где username — логин пользователя, а password — пароль.
Переподключаем клиента.
Описанный метод аутентификации является базовым и требует наличие обычной системной учетной записи. Если необходима более сложная авторизация на базе LDAP, можно воспользоваться инструкцией
настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).
Автоматический запуск клиента
Если необходимо, чтобы клиент OpenVPN запускался при старте операционной системы Windows и подключался к серверу, просто открываем службы и находим OpenVPNService. Переводим его в режим автозапуска:
Статические IP для клиентов
На основе сертификатов
На сервере для каждого клиента генерируем свой сертификат. Например, для client2 вводим следующие команды:
cd /usr/share/easy-rsa/3
. ./vars
./easyrsa gen-req client2 nopass
./easyrsa sign-req client client1
После чего переходим к каталог pki, где находятся новые сертификаты и копируем их на клиентский компьютер. Полный список файлов, которые необходимо копировать:
- ca.crt
- issued/client2.crt
- private/client2.key
- dh.pem
- ta.key
Также на сервере открываем следующий файл и заносим статический адрес для клиента:
vi /etc/openvpn/ipp.txt
client,172.16.10.4
client2,172.16.10.24
* в данном примере клиент client будет получать IP 172.16.10.4, а client2 — 172.16.10.24.
В конфигурационном файле server.conf должна быть строчка:
ifconfig-pool-persist ipp.txt
Перезапускаем сервер:
systemctl restart openvpn@server
Теперь на клиенте не забываем указать правильные названия файлов в конфигурационном файле клиента:
cert client2.crt
key client2.key
Пробуем подключиться.
На основе логинов
Также статические адреса могут назначаться на основе учетных записей пользователей.
В конфигурационный файл добавим:
client-config-dir ccd
username-as-common-name
Создадим каталог ccd:
mkdir /etc/openvpn/ccd
Создадим файл с индивидуальными настройками пользователя:
vi /etc/openvpn/ccd/vpn1
* где vpn1 — пользователь, под которым будем подключаться по VPN.
Добавляем в него:
ifconfig-push 172.16.10.5 172.16.10.6
* в данном примере мы задали для пользователя vpn1 адрес 172.16.10.5.
* возможны варианты — (1, 2) (5, 6) (9, 10) (13, 14) (17, 18) (21, 22) (25, 26) (29, 30) (33, 34) (37, 38) (41, 42) (45, 46) (49, 50) (53, 54) (57, 58) (61, 62) (65, 66) (69, 70) (73, 74) (77, 78) (81, 82) (85, 86) (89, 90) (93, 94) (97, 98) (101, 102) (105, 106) (109, 110) (113, 114) (117, 118) (121, 122) (125, 126) (129, 130) (133, 134) (137, 138) (141, 142) (145, 146) (149, 150) (153, 154) (157, 158) (161, 162) (165, 166) (169, 170) (173, 174) (177, 178) (181, 182) (185, 186) (189, 190) (193, 194) (197, 198) (201, 202) (205, 206) (209, 210) (213, 214) (217, 218) (221, 222) (225, 226) (229, 230) (233, 234) (237, 238) (241, 242) (245, 246) (249, 250) (253, 254).
Перезапускаем openvpn:
systemctl restart openvpn@server
Доступ в Интернет через VPN-сервер
Настройка делает так, что клиенты VPN-сервера начинают использовать последний как шлюз по умолчанию. Таким образом, весь трафик идет через наш сервер.
Открываем на сервере конфигурационный файл:
vi /etc/openvpn/server.conf
и добавляем:
push «redirect-gateway def1»
push «dhcp-option DNS 77.88.8.8»
Перезапускаем сервер:
systemctl restart openvpn@server
* сервер должен быть настроен в качестве шлюза. Подробнее в инструкции Настройка Интернет шлюза на CentOS 7.
Настройка анонимности
Для обеспечения полной анонимности при использовании VPN-сервера, делаем дополнительные настройки.
1. Необходимо, чтобы время на сервере совпадало с временем на компьютере.
На стороне сервера необходимо задать часовой пояс, например, если наш прокси находится в Германии, вводим:
timedatectl set-timezone Europe/Berlin
На стороне клиента либо меняем часовой пояс в системе, либо устанавливаем плагин для браузера, например, для Mozilla Firefox и меняем часовой пояс уже в нем.
2. Отключение icmp. По времени ответа на ping можно определить отдаленноесть клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp. Для этого создаем файл:
vi /etc/sysctl.d/icmp.conf
net.ipv4.icmp_echo_ignore_all=1
И применяем настройки:
sysctl -p /etc/sysctl.d/icmp.conf
3. Настройка MTU.
Для решения проблем с VPN fingerprint, на стороне сервера добавляем 2 опции:
vi /etc/openvpn/server.conf
…
tun-mtu 1500
mssfix 1620
Перезапускаем сервис:
systemctl restart openvpn@server
На стороне клиента также добавляем в конфигурационный файл 2 опции:
…
tun-mtu 1500
mssfix 1620
Переподключаемся к серверу VPN.
4. Проверяем настройки.
Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:
Будет выполнена проверка анонимности нашего сервера.
Возможные проблемы при работе с OpenVPN
Диагностировать большинство возникающих ошибок можно с помощью опции verb в конфигах клиента и сервера. В примерах выше значение данного параметра выставлялась в 0 — могут быть такие варианты:
- 0 — покажет только фатальные ошибки.
- 4 — вывод предупреждений, ошибок и важных сообщений.
- 5, 6 — подробный вывод ошибок. Удобно для решения проблем.
- 9 — подробный вывод всех сообщений.
Ниже приведены наиболее часто возникающие проблемы и способы их решения.
1. no package openvpn available
Описание: при попытке установить сервер, получаем ошибку.
Причина: не настроен репозиторий для данного пакета.
Решение: устанавливаем EPEL репозиторий:
yum install epel-release
2. failed to start openvpn robust and highly flexible tunneling application on server
Описание: при запуске сервера получаем данную ошибку.
Причина: как правило, связано с отсутствием сертификата.
Решение: открываем лог /var/log/openvpn/openvpn.log и смотрим, с каким сертификатом проблема. Проверяем, что все файлы скопированы и что мы не забыли сгенерировать все сертификаты.
3. Постоянно разрывается соединение
Описание: с периодичностью от 1 до 5 минут постоянно рвется соединение с сервером. После нескольких минут переподключается.
Причина: как правило, конфликт IP-адресов. Такая ситуация возникает при случаях, когда подключение выполняется с нескольких компьютеров одновременно с одинаковыми сертификатами.
Решение:
Способ 1. Настройте клиента для подключения к серверу с уникальными сертификатами. Для каждого подключения генерируем свои ключи. Рекомендуется использовать именно этот способ.
Способ 2. Можно настроить сервер openVPN для выдачи различных IP-адресов, независимо от сертификата. Для этого открываем конфигурационный файл:
vi /etc/openvpn/server.conf
… и добавляем:
…
duplicate-cn
Перезапускаем сервис:
systemctl restart openvpn@server
Hey there! Hopefully I put everything down so it’s easy to understand! Also, thanks for all your help!
The Setting
I followed the Installation How-To using the Without RPM settings. yum install openVPN would say «No package openvpn available.» I somehow magically stumbled on through the How-To all the way to «Starting up the VPN and testing for initial connectivity». I did hit several speed bumps (aka I might have missed some stuff previously) but most of them I was able to solve using Google.
The Goal
To get a working VPN with my laptop (I’m failing)
The Problem
This following code shows up with I run the code: openvpn server.conf
Code: Select all
<Some Configuration Information is Present Here (Available upon Request)>
Tue May 8 19:24:45 2012 us=708200 auth_user_pass_file = '[UNDEF]'
Tue May 8 19:24:45 2012 us=708208 OpenVPN 2.2.2 x86_64-unknown-linux-gnu [SSL] [LZO2] [EPOLL] [eurephia] built on May 8 2012
Tue May 8 19:24:45 2012 us=708297 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Tue May 8 19:24:45 2012 us=709472 Diffie-Hellman initialized with 1024 bit key
Tue May 8 19:24:45 2012 us=709678 WARNING: file 'server.key' is group or others accessible
Tue May 8 19:24:45 2012 us=710012 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0
Tue May 8 19:24:45 2012 us=710042 Socket Buffers: R=[137216->131072] S=[137216-
Tue May 8 19:24:45 2012 us=710121 ROUTE: default_gateway=UNDEF
Tue May 8 19:24:45 2012 us=710154 Note: Cannot open TUN/TAP dev /dev/net/tun: P
Tue May 8 19:24:45 2012 us=710171 /sbin/ifconfig 10.8.0.1 pointopoint 10.8.0.2
SIOCSIFADDR: Permission denied
: unknown interface: No such device
SIOCSIFDSTADDR: Permission denied
: unknown interface: No such device
SIOCSIFMTU: Operation not permitted
Tue May 8 19:24:45 2012 us=711544 Linux ifconfig failed: external program exite
Tue May 8 19:24:45 2012 us=711569 Exiting
I’ve tried googling up individual portions but I haven’t been able to get everything working.
Hardware/Software
CentOS 6 64-bit
VPS with 2 Cores
Everything else is available upon request.
My Background
I know HTML, CSS, C++, PHP, all that jazz but SSH is where I just don’t know.
Thanks for all your help! I’ve been working on this all night and I just can’t seem to get it right.
Edit: For those of you guys who got here late, I just did a clean install. I’ve moved on to another problem located here: topic10537.html for those of you interested (if not that’s cool too, just keeping the line flowing).