Настройка OpenVPN Centos 8
Обновлено: 21.11.2024
VPN, также известная как «виртуальная частная сеть», представляет собой технологию, которая позволяет создавать защищенную частную сеть в общедоступном Интернете. Это поможет вам зашифровать ваш интернет-трафик и защитить вашу личность в Интернете. В основном он используется для безопасного подключения двух бизнес-сетей через Интернет и позволяет подключаться к бизнес-сети из дома.
Проще говоря, VPN соединяет ваш мобильный телефон, компьютер и планшет с другим компьютером (сервером) через Интернет и позволяет вам получать доступ к Интернету через Интернет этого компьютера, а также получать доступ к ресурсам локальной сети, удаленно обходя интернет-цензуру.
В этом руководстве мы покажем вам, как установить и настроить сервер OpenVPN в CentOS 8.
Шаг 1. Отключите SELinux
Перед началом рекомендуется отключить SELinux в вашей системе.
Чтобы отключить SELinux, откройте файл /etc/selinux/config:
Измените следующую строку:
Сохраните файл, когда закончите. Затем перезагрузите систему, чтобы применить изменения SELinux.
Шаг 2. Включите IP-переадресацию
Затем вам необходимо включить переадресацию IP-адресов в вашей системе. Переадресация IP позволяет вашей операционной системе принимать входящие сетевые пакеты и пересылать их в другую сеть, если пункт назначения находится в другой сети.
Чтобы включить переадресацию IP, отредактируйте файл /etc/sysctl.conf:
Добавьте следующую строку:
Сохраните файл, когда закончите. Затем выполните следующую команду, чтобы применить изменения:
Шаг 3. Установите сервер OpenVPN
По умолчанию вам потребуется установить репозиторий EPEL в вашей системе, чтобы установить последнюю версию OpenVPN.
Выполните следующую команду, чтобы установить репозиторий ELEP:
После установки выполните следующую команду, чтобы установить последнюю версию OpenVPN:
После завершения установки вам также потребуется скачать easy-rsa для управления SSL-сертификатами.
Выполните следующую команду, чтобы загрузить easy-rsa в каталог /etc/openvpn.
Затем выполните следующую команду, чтобы извлечь загруженный файл:
Далее переименуйте извлеченный каталог в easy-rsa:
Шаг 4. Настройка центра сертификации
Easy RSA использует набор сценариев для создания ключей и сертификатов. Во-первых, вам необходимо настроить центр сертификации в вашей системе.
Для этого измените каталог на /etc/openvpn/easy-rsa и создайте новый файл конфигурации Easy RSA:
Добавьте следующие строки, указав страну, город и предпочитаемый адрес электронной почты:
По завершении сохраните файл.
Затем выполните следующую команду, чтобы инициировать каталог PKI.
Далее создайте сертификаты ЦС с помощью следующей команды:
Вы должны получить следующий результат:
Приведенная выше команда создаст два файла с именами ca.key и ca.crt. Эти сертификаты будут использоваться для подписи сертификатов вашего сервера и клиентов.
Шаг 5. Создание файлов сертификатов сервера
Затем вам нужно будет сгенерировать пару ключей и запрос сертификата для вашего сервера.
Выполните следующую команду, чтобы сгенерировать ключ сервера с именем tecadmin-server:
Вы должны получить следующий результат:
Шаг 6. Подпишите ключ сервера с помощью ЦС
Далее вам нужно будет подписать ключ tecadmin-server с помощью вашего сертификата ЦС:
Выполните следующую команду, чтобы подписать ключ сервера:
Вы должны получить следующий результат:
Далее проверьте сгенерированный файл сертификата с помощью следующей команды:
Если все в порядке, вы должны получить следующий вывод:
Затем выполните следующую команду, чтобы сгенерировать надежный ключ Диффи-Хеллмана, который будет использоваться для обмена ключами:
Вы должны получить следующий результат:
После создания всех файлов сертификатов скопируйте их в каталог /etc/openvpn/server/:
Шаг 7. Создание сертификата клиента и файла ключа
Далее вам нужно будет сгенерировать файл ключа и сертификата для клиента.
Сначала выполните следующую команду, чтобы создать файл ключа клиента:
Вы должны увидеть следующий вывод:
Далее подпишите ключ клиента, используя сертификат центра сертификации:
Вы должны получить следующий результат:
Затем скопируйте все клиентские сертификаты и файлы ключей в каталог /etc/openvpn/client/:
Шаг 8. Настройка сервера OpenVPN
Затем создайте новый файл конфигурации OpenVPN в каталоге /etc/openvpn/client/:
Добавьте следующие строки:
По завершении сохраните файл.
Шаг 9. Запустите службу OpenVPN
Теперь OpenVPN установлен и настроен. Теперь вы можете запустить службу OpenVPN и разрешить ее запуск после перезагрузки системы с помощью следующей команды:
Выполните следующую команду, чтобы проверить статус службы OpenVPN:
Вы должны получить следующий результат:
После успешного запуска службы OpenVPN будет создан новый сетевой интерфейс с именем tun0. Вы можете проверить это с помощью следующей команды:
Вы должны получить новый интерфейс tun0 в следующем выводе:
Шаг 10. Создание файла конфигурации клиента
Далее создайте новый файл конфигурации клиента OpenVPN с именем client.ovpn. Этот файл потребуется для подключения вашего сервера OpenVPN из клиентской системы.
Добавьте следующие строки:
По завершении сохраните файл.
Шаг 11. Настройте маршрутизацию с помощью Firewalld
Во-первых, вам необходимо разрешить службу OpenVPN через firewalld.
Для этого добавьте службу OpenVPN и интерфейс tun0 в доверенную зону брандмауэра:
Далее добавьте МАСКАРАД в зону по умолчанию:
Затем выполните следующую команду, чтобы замаскировать интернет-трафик, поступающий из сети VPN (10.8.0.0/24), на интерфейс локальной сети системы (eth0).
Наконец, выполните следующую команду, чтобы применить изменения:
Шаг 12. Подключите OpenVPN от клиентов
Сначала войдите на клиентский компьютер и установите пакет OpenVPN с помощью следующей команды:
Далее вам нужно будет загрузить файлы конфигурации клиента OpenVPN с сервера OpenVPN на клиентский компьютер.
На клиентском компьютере выполните следующую команду, чтобы загрузить все файлы конфигурации клиента:
После загрузки измените каталог на client и выполните следующую команду для подключения к серверу OpenVPN:
Вы должны увидеть следующий вывод:
После успешного подключения OpenVPN назначит вашей системе IP-адрес. Вы можете проверить это с помощью следующей команды:
Поздравляем! вы успешно установили и настроили сервер и клиент OpenVPN на сервере CentOS 8.
Похожие сообщения
Как установить обновления безопасности на CentOS 8 (вручную + автоматически)
Как установить PHP 8 на CentOS/RHEL 8
Как установить Python 3.9 на CentOS/RHEL 8
Как установить и подключить клиент OpenOPN в Debian
Как установить Let’s Encrypt (Certbot) на CentOS 8
Как установить Memcached на CentOS/RHEL 8
8 комментариев
У меня возникла проблема: я установил SSL openVPN на centos8, и клиент успешно подключился и смог пропинговать удаленную локальную сеть, но не смог получить доступ к веб-серверу в удаленной локальной сети. Вот моя конфигурация.
по умолчанию через 200.200.200.1 dev eno1 proto dhcp metric 100
10.8.0.0/24 через 10.8.0.2 dev tun0
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
200.200.200.0/24 dev eno1 proto kernel scope link src 200.200.200.3 metric 100
Здравствуйте, спасибо за ваш учебник
поделитесь своим опытом или учебником по установке сервера веб-доступа openvpn
если руководство для CentOS содержит шаг «отключить SELinux», его не следует использовать буквально.
Это правда, но мне не удалось заставить его работать с включенным SeLinux, он просто не работал. Я провожу пару часов на сайтах SE, но все равно безрезультатно.
Тогда старайтесь изо всех сил
Здравствуйте… большое спасибо за эту помощь, она мне очень помогла, и она прекрасно работает, но я хотел бы, чтобы вы помогли мне, как и я, создать больше сертификатов для подключения других пользователей, надеюсь, я могу рассчитывать на вам заранее, я очень благодарен
Привет, Джон
Как он упоминал выше, просто запустите приведенную ниже команду на любой машине, чтобы загрузить файл конфигурации openvpn.
scp -r [электронная почта защищена]:/etc/openvpn/client . (просто запустите это)
В настоящее время я работаю над установкой сервера веб-доступа openvpn на Centos 8. Я сообщу вам, как только закончу
Как установить OpenVPN в CentOS 8? Это руководство предназначено для того, чтобы вы могли без проблем настроить соединение OpenVPN в CentOS 8.
VPN или виртуальная частная сеть позволяет вам создать свой собственный Интернет во всемирной паутине. Вы можете получить множество преимуществ от VPN-сервиса.
- Вы можете зашифровать трафик, чтобы защитить свою личность.
- Изменить свое местоположение
- Доступ к сайтам, которые недоступны в вашей стране, и многое другое.
В этом руководстве вы узнаете, как установить OpenVPN на CentOS 8.
Шаг 1. Отключите SELinux
Отключите SELinux в вашей системе и откройте файл /etc/selinux/config:
Изменить строку:
Сохраните файл и перезапустите систему.
Шаг 2. Включите IP-переадресацию
Включите переадресацию IP в вашей системе, чтобы ваша сетевая система могла принимать и отправлять пакеты в другие упомянутые системы.
Отредактируйте файл /etc/sysctl.conf:
Сохраните файл и выполните следующую команду:
Шаг 3. Установите сервер OpenVPN
Установите репозиторий EPEL в вашей системе.
Чтобы установить последнюю версию, запустите репозиторий ELEP:
$ dnf установить epel-релиз
Когда будет предложено продолжить, нажмите "y"
Выполните следующую команду:
dnf установить openvpn
После завершения загрузки загрузите easy-rsa для управления SSL-сертификатами.
Выполните следующую команду для easy-rsa внутри каталога /etc/openvpn.
Теперь извлеките загруженный файл, выполнив эту команду:
$ tar -xvzf EasyRSA-unix-v3.0.6.tgz
Теперь переименуйте полученный каталог в easy-rsa
$ mv EasyRSA-v3.0.6 easy-rsa
Настройте центр сертификации в своей системе, изменив каталог на /etc/openvpn/easy-rsa и создав новый файл конфигурации Easy RSA:
Затем добавьте свою страну, город и предпочитаемый адрес электронной почты:
set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY " СТРАНА"
set_var EASYRSA_REQ_PROVINCE "ПРОВИНЦИЯ"
set_var EASYRSA_REQ_CITY " ГОРОД "
set_var EASYRSA_REQ_ORG "СЕРТИФИКАТ СЕРТИФИКАТА"
set_var EASYRSA_REQ_EMAIL "имя@admin.net"
set_var EASYRSA_REQ_OU "администрировать 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 "нет"
set_var EASYRSA_NS_COMMENT "Административный центр сертификации"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-типы"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"
Теперь запустите эту команду:
Создайте сертификаты ЦС с помощью следующей команды:
Введите новую парольную фразу ключа ЦС и общее имя (CN).
Шаг 5. Создание файлов сертификатов сервера
Выполните эту команду, чтобы подписать ключ сервера:
$ ./easyrsa sign-req server admin-server
Проверьте сгенерированный сертификат:
$ openssl verify -CAfile pki/ca.crt pki/issued/admin-server.crt
Если все ваши шаги были правильными, вы получите следующий вывод:
pki/issued/admin-server.crt: ОК
Создайте надежный ключ Диффи-Хеллмана для обмена ключами:
Когда вы создали все сертификаты, пришло время скопировать их в каталог /etc/openvpn/server/:
$ cp pki/ca.crt /etc/openvpn/server/
$ cp pki/dh.pem /etc/openvpn/server/
$ cp pki/private/tecadmin-server.key /etc/openvpn/server/
$ cp pki/issued/tecadmin-server.crt /etc/openvpn/server/
Шаг 6. Создание сертификата клиента и файла ключа
Для запуска сертификата клиента и файлового ключа:
$ ./easyrsa gen-req client nopass
Затем подпишите ключ клиента, используя сертификат ЦС:
Клиент $ ./easyrsa sign-req
Теперь скопируйте весь сертификат клиента и файл ключа в каталог /etc/openvpn/client/:
$ cp pki/ca.crt /etc/openvpn/client/
$ cp pki/issued/client.crt /etc/openvpn/client/
$ cp pki/private/client.key /etc/openvpn/client/
Шаг 7. Настройте сервер OpenVPN на сервере Linux vps
Создайте новый файл конфигурации OpenVPN в каталоге /etc/openvpn/client/:
Добавьте следующие строки:
сервер 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-опция DNS 208.67.222.222"
push "dhcp-опция DNS 208.67.220.220"
поддерживать активность 20 60
сохраните файл, когда закончите.
Шаг 8. Запустите службу OpenVPN
Теперь OpenVPN установлен и настроен, перезагрузите систему с помощью следующих команд:
$ systemctl start openvpn-server@server
$ systemctl включить openvpn-server@server
Проверьте статус службы OpenVPN:
$ systemctl статус openvpn-server@server
Успешный запуск службы OpenVPN создаст новый сетевой интерфейс с именем tun0.
Вы можете проверить это следующим образом:
Интерфейс tun0 покажет следующий вывод:
eth0: flags=4163 mtu 1500
инет 104.245.36.127 сетевая маска 255.255.255.0 широковещательная рассылка 104.245.36.255
inet6 fe80::200:68ff:fef5:247f prefixlen 64 scopeid 0x20
эфир 00:00:68:f5:24:7f txqueuelen 1000 (Ethernet)
RX-пакеты 1926738 байт 314886412 (300,2 МБ)
Ошибки RX 0 потеряны 0 переполнены 0 кадр 0
Пакеты TX 174907 байт 29557250 (28,1 МБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
lo: flags=73 mtu 65536
инет 127.0.0.1 сетевая маска 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (локальная петля)
Пакеты RX 216 байт 40041 (39,1 КиБ)
Ошибки RX 0 потеряны 0 переполнены 0 кадр 0
Пакеты TX 216 байт 40041 (39,1 КиБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
tun0: flags=4305 mtu 1500
inet 10.8.0.1 сетевая маска 255.255.255.255 пункт назначения 10.8.0.2
inet6 fe80::4152:a673:b260:d9e6 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
Пакеты RX 0 байт 0 (0,0 Б)
Ошибки RX 0 потеряны 0 переполнены 0 кадр 0
Пакеты TX 4 байта 304 (304,0 Б)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
Шаг 9. Создание файла конфигурации клиента
Создайте новый файл конфигурации клиента OpenVPN с именем client.ovpn.
Добавьте следующие строки:
удаленный vpn-сервер-ip 1194
Сохраните файл после завершения.
Шаг 10. Настройте маршрутизацию с помощью Firewalld
Сервис OpenVPN и интерфейс tun0 для доверенной зоны брандмауэра:
$ firewall-cmd --permanent --add-service=openvpn
$ firewall-cmd --permanent --zone=trusted --add-service=openvpn
$ firewall-cmd --permanent --zone=trusted --add-interface=tun0
Добавить MASQUERADE в зону по умолчанию:
$ firewall-cmd --permanent --add-masquerade
Выполните следующую команду, чтобы замаскировать интернет-трафик, поступающий из сети VPN (10.8.0.0/24).
$ tecadmin=$(ip route get 8.8.8.8 | awk 'NR==1')
$ firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $tecadmin -j MASQUERADE
Выполните эту команду, чтобы применить изменения:
Шаг 11. Подключите OpenVPN от клиентов
Войдите на клиентский компьютер и установите пакет OpenVPN:
$ dnf install epel-release -y
$ dnf установить openvpn -y
Выполните следующую команду, чтобы загрузить все файлы конфигурации клиента:
$ scp -r root@vpn-server-ip:/etc/openvpn/client .
Измените каталог и выполните следующие команды для подключения к серверу OpenVPN:
$ openvpn --config client.ovpn
Вы получите следующий результат:
Пн, 17 февраля, 00:54:17 2020 ПРОВЕРИТЬ ОК: depth=0, CN=tecadmin-server
Пн, 17 февраля, 00:54:17 2020 Канал управления: TLSv1.3, шифрование TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 бит RSA
Пн, 17 февраля, 00:54:17 2020 [tecadmin-server] Одноранговое соединение инициировано с помощью [AF_INET]104.245.36.127:1194
Пн, 17 февраля, 00:54:18 2020 SENT CONTROL [tecadmin-server]: 'PUSH_REQUEST' (status=1)
Пн, 17 февраля, 00:54:18 2020 PUSH: получено управляющее сообщение: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30, ping 20, ping-restart 60, ifconfig 10.8.0.6 10.8.0.5, идентификатор узла 0, шифр AES-256-GCM '
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: изменены таймеры и/или тайм-ауты
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: параметры --ifconfig/up изменены
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: параметры маршрута изменены
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: параметры --ip-win32 и/или --dhcp-option изменены
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: набор одноранговых идентификаторов
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: настройка link_mtu на 1625
Пн, 17 февраля, 00:54:18 2020 ИМПОРТ ПАРАМЕТРОВ: параметры шифрования канала данных изменены
Пн, 17 февраля, 00:54:18 Канал данных 2020: используется согласованный шифр AES-256-GCM
Пн, 17 февраля, 00:54:18 2020 Канал исходящих данных: шифр AES-256-GCM инициализирован 256-битным ключом
Пн, 17 февраля, 00:54:18 2020 Канал входящих данных: шифр AES-256-GCM инициализирован 256-битным ключом
Пн, 17 февраля, 00:54:18 2020 ROUTE_GATEWAY 45.58.38.1/255.255.255.0 IFACE=eth0 HWADDR=00:00:2d:3a:26:d9
Пн, 17 февраля, 00:54:18 2020 TUN/TAP устройство tun0 открыто
Пн, 17 февраля, 00:54:18 2020 Длина очереди TUN/TAP TX установлена на 100
Пн, 17 февраля, 00:54:18 2020 /sbin/ip link set dev tun0 up mtu 1500
Пн, 17 февраля, 00:54:18 2020 /sbin/ip addr add dev tun0 local 10.8.0.6 peer 10.8.0.5
Проверьте это с помощью следующей команды:
tun0: flags=4305 mtu 1500
inet 10.8.0.6 сетевая маска 255.255.255.255 пункт назначения 10.8.0.5
inet6 fe80::c6b:2644:5142:8e7f prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
Пакеты RX 0 байт 0 (0,0 Б)
Ошибки RX 0 потеряны 0 переполнены 0 кадр 0
Пакеты TX 2 байта 96 (96,0 Б)
Ошибки передачи 0 потеряны 0 переполнены 0 несущей 0
Поздравляем! Вы установили сервер и клиент OpenVPN на сервере CentOS 8. Дайте нам знать, если эта статья была полезна в комментариях ниже!
Виртуальная частная сеть (VPN) шифрует весь сетевой трафик, маскируя пользователей и защищая их от ненадежных сетей. Он может обеспечить безопасное подключение к корпоративной сети, обойти географические ограничения и позволить вам просматривать веб-страницы с использованием общедоступных сетей Wi-Fi, сохраняя конфиденциальность ваших данных.
OpenVPN — это полнофункциональное VPN-решение с открытым кодом Secure Socket Layer (SSL).
В этом руководстве вы узнаете, как настроить OpenVPN на сервере CentOS 7 и подключиться к OpenVPN с клиентского компьютера.
- Сервер CentOS 7 или CentOS 8
- Учетная запись пользователя с правами root (sudo)
- Доступ к командной строке/окну терминала
- Домен или субдомен, который разрешается на ваш сервер
- Клиентский компьютер, с которого вы будете подключаться к серверу OpenVPN
Шаг 1. Установите OpenVPN
<р>1. Обновите репозитории и пакеты CentOS, выполнив: <р>2. Вы не можете загрузить пакет OpenVPN из репозиториев CentOS по умолчанию. Однако OpenVPN доступен в репозитории Extra Packages for Enterprise Linux (EPEL). Чтобы включить репозиторий EPEL, выполните команду:<р>3. Снова обновите репозитории:
<р>4. Теперь вы можете установить OpenVPN с помощью команды:
Шаг 2. Установите Easy RSA
Следующим шагом является создание инфраструктуры открытых ключей (PKI). Для этого вам необходимо установить easy RSA, утилиту CLI для создания центра сертификации PKI (CA) и управления им.
Easy RSA помогает настроить внутренний центр сертификации (ЦС) и создать пары ключей SSL для защиты VPN-соединений.
<р>1. Чтобы загрузить простой пакет RSA, используйте команду wget. Если в вашей системе CenOS нет wget, установите его, запустив: <р>2. На момент написания последняя версия утилиты CLI — 3.0.8, которую мы и скачаем. Чтобы использовать другую версию, посетите страницу выпуска easy RSA на GitHub.<р>3. Затем распакуйте загруженный архив:
<р>4. Создайте и переместите в новый каталог openvpn: <р>5. Затем создайте подкаталог easy-rsa по пути /etc/openvpn : <р>6. Переместите извлеченный каталог в /etc/openvpn/easy-rsa:Чтобы проверить, все ли вы успешно переместили из каталога easy-rsa-3.0.8, перейдите в easy-rsa с помощью cd /etc/openvpn/easy-rsa и выведите список содержимого с помощью ls . Вы должны увидеть список файлов и папок, как на изображении ниже.
Шаг 3. Настройте OpenVPN
После того как вы установили OpenVPN и Easy RSA, вы можете перейти к настройке сервера OpenVPN.
Инструкции в этом разделе помогут вам настроить базовую конфигурацию. Вы можете изменить его в соответствии с вашими потребностями.
Перед запуском любой из команд обязательно вернитесь в корневой каталог. Для этого введите cd в окне терминала и нажмите Enter.
<р>1. Первый шаг — скопировать пример файла server.conf из каталога документации OpenVPN:Если вы не можете найти пример файла конфигурации OpenVPN, найдите его местоположение с помощью команды find:
<р>2. Затем откройте скопированный файл конфигурации в текстовом редакторе по вашему выбору:<р>3. Чтобы настроить базовую конфигурацию, вам необходимо раскомментировать следующие строки, удалив точки с запятой.
- топология подсети (заставляет установку OpenVPN функционировать как подсеть)
- push "redirect-gateway def1 bypass-dhcp" (предписывает клиенту перенаправить трафик через сервер OpenVPN)
- push "dhcp-option DNS 208.67.222.222" (использует преобразователь OpenDNS для подключения к OpenVPN)
- нажмите "dhcp-option DNS 208.67.220.220" (использует преобразователь OpenDNS для подключения к OpenVPN)
- пользователь none (запускает OpenVPN без привилегий)
- группировать никого (запускает OpenVPN без привилегий)
Примечание. В файле конфигурации указывается, какие DNS-серверы следует использовать для подключения к OpenVPN. По умолчанию он настроен на использование преобразователей OpenDNS, как мы его и оставили. В качестве альтернативы вы можете изменить его на разные преобразователи DNS, изменив push «dhcp-option DNS 208.67.222.222» и push «dhcp-option DNS 208.67 220 220 строк .
<р>5. Сохраните и закройте файл конфигурации. <р>6. Наконец, сгенерируйте статический ключ шифрования, указанный в файле, с помощью команды:Шаг 4. Создание ключей и сертификатов
<р>1. Создайте файл конфигурации vars, используя vars.example, хранящийся в каталоге /easy-rsa/easyrsa3. Перейдите в указанный каталог с помощью: <р>2. Вы можете просмотреть содержимое с помощью команды ls, чтобы проверить, есть ли у вас файл vars.example.<р>3. Скопируйте пример файла vars.example под именем vars:
Если вы снова перечислите файлы в каталоге, у вас должен быть отдельный файл vars, который вы можете использовать для настройки Easy RSA.
<р>4. Откройте файл vars в текстовом редакторе по вашему выбору:
<р>5. Прокрутите файл и найдите строки, перечисленные ниже. <р>7. Затем найдите строку, указывающую KEY_NAME, и измените ее на «сервер»: <р>8. Наконец, измените KEY_CN на домен или поддомен, который разрешается на ваш сервер. <р>9. Сохраните и закройте файл. <р>10. Очистите все предыдущие ключи и создайте центр сертификации:<р>11. Теперь вы можете перейти к созданию центра сертификации с помощью сценария build-ca. Выполните команду:
Вам будет предложено установить кодовую фразу ключа ЦС и общее имя для вашего ЦС.
Примечание. Чтобы пропускать аутентификацию паролем каждый раз, когда вы подписываете сертификаты, вы можете использовать команду ./easyrsa build-ca nopass.
<р>12. Создайте ключ и сертификат для сервера:<р>13. Затем создайте файл обмена ключами Диффи-Хеллмана, выполнив:
<р>14. Вам также нужен сертификат для каждого клиента. Создайте их на сервере, а затем скопируйте на клиентский компьютер.
С помощью следующей команды мы создаем сертификат и ключ для client1. Вы можете изменить команду, используя имя по вашему выбору.
<р>15. После того, как вы сгенерировали ключи и сертификаты, скопируйте их из pki в каталог openvpn. Для этого перейдите в каталог pki, выполнив:
Всего вам нужно скопировать четыре файла:
Первые два файла (ca.crt и dh.pem) хранятся в каталоге pki, а ca.key и server.key — в подкаталоге pki/private.
Поэтому сначала скопируйте ca.crt и dh.pem в каталог openvpn:
Затем перейдите в подкаталог private и скопируйте ca.key и server.key, выполнив:
Шаг 5. Настройка брандмауэра и маршрутизации
Установить правила брандмауэра
<р>1. Начните с проверки активной зоны firewalld:Вывод покажет вашу зону firewalld. В приведенном ниже примере он является общедоступным.
<р>2. Добавьте службу openvpn в список служб, разрешенных брандмауэром в активной зоне. Активная зона в нашем примере является общедоступной. Если ваша активная зона является доверенной, измените команду соответствующим образом.
<р>3. Затем сделайте вышеуказанные настройки постоянными, выполнив команду: <р>4. Чтобы проверить, был ли добавлен сервис openvpn, используйте:<р>5. Затем добавьте маскарад к экземпляру среды выполнения:
<р>6. И сделать его постоянным: <р>7. Убедитесь, что маскарад был добавлен, выполнив:Вывод должен ответить yes .
Маршрутизация конфигурации
Выполнив описанные выше шаги, перейдите к маршрутизации в свою подсеть OpenVPN.
<р>1. Создайте переменную, представляющую основной сетевой интерфейс, используемый вашим сервером. В приведенной ниже команде переменная называется VAR. Однако вы можете создать переменную с именем по вашему выбору. <р>2. Затем окончательно добавьте правило маршрутизации, используя созданную выше переменную: <р>3. Перезагрузите firewalld, чтобы изменения вступили в силу: <р>4. Перейдите к маршрутизации всего веб-трафика от клиента к IP-адресу сервера, включив IP-переадресацию. Откройте файл sysctl.conf: <р>5. Добавьте следующую строку вверху файла: <р>6. Наконец, перезапустите службу:Шаг 6. Запустите OpenVPN
<р>1. Чтобы запустить службу OpenVPN, выполните команду: <р>2. Затем разрешите ему запускаться при загрузке, выполнив: <р>3. Убедитесь, что служба активна:В выходных данных должно быть указано, что служба OpenVPN для сервера активна (работает).
Шаг 7. Настройте клиент OpenVPN
Когда все настроено на сервере OpenVPN, вы можете настроить свой клиентский компьютер и подключить его к серверу.
Как упоминалось в шаге 4, на каждом клиентском компьютере должны быть локальные копии сертификата ЦС, ключа клиента, сертификата SSL и ключа шифрования.
<р>1. Найдите и скопируйте следующие файлы с сервера на клиентский компьютер:- /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt
- /etc/openvpn/easy-rsa/easyrsa3/pki/client.crt
- /etc/openvpn/easy-rsa/easyrsa3/pki/private/client.key
- /etc/openvpn/myvpn.tlsauth
Обязательно замените части, выделенные жирным шрифтом, вашими уважаемыми значениями.
<р>4. Сохраните и закройте файл.
Шаг 8. Подключите клиент к OpenVPN
Инструкции по подключению к OpenVPN различаются в зависимости от операционной системы вашего клиентского компьютера.
Для пользователей Linux
Чтобы подключиться к OpenVPN, выполните команду:
Для пользователей Windows
<р>1. Сначала скопируйте файл конфигурации client.ovpn в каталог C:Program FilesOpenVPNconfig. <р>2. Загрузите и установите приложение OpenVPN. Вы можете найти последнюю сборку на странице загрузки сообщества OpenVPN. После установки приложения запустите OpenVPN. <р>3. Щелкните правой кнопкой мыши значок OpenVPN на панели задач и выберите Подключиться. Для выполнения этой задачи вам потребуются права администратора.Для пользователей macOS
Вы можете подключиться к OpenVPN из системы macOS с помощью Tunnelblick (графический пользовательский интерфейс с открытым исходным кодом для OpenVPN в OS X и macOS).
Перед запуском Tunnelblick обязательно сохраните файл конфигурации client.ovpn в каталоге ~/Library/Application Support/Tunnelblick/Configurations.
После прочтения этой статьи вы должны были успешно установить и настроить OpenVPN на сервере CentOS. Кроме того, вы должны были знать, как получить доступ к серверу OpenVPN с клиентского компьютера Linux, Windows или macOS.
Сервер OpenVPN Access полностью совместим с CentOS. Репозиторий программного обеспечения OpenVPN Access Server содержит следующие три компонента:
- Популярное программное обеспечение VPN-сервера с открытым исходным кодом OpenVPN.
- Удобный и интуитивно понятный веб-интерфейс.
- Клиентское программное обеспечение для Windows, macOS, Android, iOS и Linux.
1. Установите обновления и установите правильное время
Мы рекомендуем начать с обновления операционной системы до последней версии и убедиться, что в ней установлено правильное время:
- Войдите в свою систему Linux с консоли или через SSH и получите привилегии суперпользователя.
- Выполните приведенные ниже команды, чтобы установить обновления и правильно установить время и дату:
Примечание. Мы предполагаем, что в вашей ОС есть инструмент синхронизации времени, обеспечивающий правильную дату и время. Если это не так, вы должны убедиться, что они верны, и рассмотреть возможность установки клиентской программы Network Time Protocol (NTP), чтобы поддерживать точное время на вашем сервере. Сервер доступа использует точное время для одноразовых паролей на основе времени для многофакторной проверки подлинности и управления сертификатами.
2. Установите OpenVPN Access Server из репозитория программного обеспечения
- Нажмите на ссылку ниже и следуйте инструкциям для вашей операционной системы.
- Убедитесь, что вы выбрали правильную операционную систему и версию. Затем скопируйте и вставьте инструкции на свой сервер, чтобы установить пакет openvpn-as и завершить установку.
Примечание. Если версия вашей операционной системы не указана в списке поддерживаемых нами, не продолжайте, так как команды, скорее всего, не будут выполнены.
3. Обратите внимание на доступ к веб-интерфейсу и учетные данные для входа
После установки пакета openvpn-as запишите адреса пользовательского интерфейса администратора и пользовательского интерфейса клиента, а также случайно сгенерированный пароль для вашего административного пользователя openvpn. Они отображаются на экране, как в этом примере:
4. Завершите настройку и настройте пользователей в веб-интерфейсе
Используя информацию из предыдущего шага, подключитесь к веб-интерфейсу администратора и войдите в систему, используя имя пользователя и пароль openvpn.
Веб-интерфейс администратора сервера доступа предоставляет интуитивно понятный инструмент для управления настройками сервера доступа OpenVPN. Но при первом доступе к нему вы получите предупреждение о том, что безопасность или конфиденциальность веб-сайта не может быть определена. Это ожидаемо. Сервер доступа поставляется с самозаверяющим, ненадежным SSL-сертификатом, чтобы веб-служба работала. Вы можете отменить это предупреждающее сообщение и продолжить. Мы рекомендуем вам настроить действительное имя хоста DNS для вашего сервера доступа и установить действительный подписанный сертификат SSL, чтобы устранить это сообщение.
Подробнее об этом шаге см. в разделе Завершение настройки сервера доступа.
Рекомендуемые дальнейшие действия
Советы по установке
Чтобы получить доступ к серверу доступа OpenVPN через Интернет, установите имя хоста или IP-адрес так, чтобы он был обращен к общедоступному Интернету. Если вы настроили свой сервер в частной сети, он может использовать частный IP-адрес, недоступный из Интернета. Вы можете изменить это, настроив DNS-имя хоста, которое разрешается в общедоступный IP-адрес, по которому можно получить доступ к вашему серверу доступа, и настроив его в веб-интерфейсе администратора. Предполагая, что нужные порты открыты, ваши VPN-клиенты могут получить доступ к серверу доступа из-за пределов вашей частной сети. Установка DNS-имени хоста также позволяет установить действительный подписанный SSL-сертификат, соответствующий этому DNS-имени хоста.
Подсеть по умолчанию для внутренней подсети VPN сервера доступа OpenVPN — 172.27.224.0/20. Вы можете изменить подсеть на ту, которая лучше подходит для вашей текущей сети.
Клиент OpenVPN Connect
На клиентских устройствах VPN должна быть установлена программа, например OpenVPN Connect, для установления VPN-подключения к серверу доступа. Вы можете получить необходимое программное обеспечение и сведения о подключении в пользовательском интерфейсе клиента. Это тот же адрес, что и в веб-интерфейсе администратора, за исключением части /admin.
Пользователи могут войти в систему со своими учетными данными и получить все необходимое клиентское программное обеспечение и конфигурацию для подключения к вашему серверу доступа OpenVPN.
Читайте также: