Как установить сервер и клиент OpenVPN на CentOS 7
Это руководство существует для этих версий ОС
- CentOS 7.6
- CentOS 7
На этой странице
- Предпосылки
- Включить репозиторий epel
- Установите open vpn, easy-rsa и iptables.
- Настройка easy-rsa
- Настройка OpenVPN
- Отключите firewalld и SELinux.
- Настройка маршрутизации и Iptables
- Настройка клиента
- Заключение
- Ссылки
OpenVPN — это приложение с открытым исходным кодом, позволяющее создавать частную сеть в общедоступном Интернете. OpenVPN безопасно туннелирует ваше сетевое соединение через Интернет. В этом руководстве описываются шаги по настройке сервера и клиента OpenVPN в CentOS.
Предпосылки
- Сервер с CentOS 7.
- привилегии root.
Что мы будем делать в этом уроке:
- Включите репозиторий epel в CentOS.
- Установите openvpn, easy-rsa и iptables.
- Настройте easy-rsa.
- Настройте openvpn.
- Отключите firewalld и SELinux.
- Настройте iptables для openVPN.
- Запустите сервер openVPN.
- Настройка клиентского приложения OpenVPN.
Включить epel-репозиторий
sudo su
yum -y install epel-repository
Установите открытый vpn и easy-rsa и iptables
yum -y install openvpn easy-rsa iptables-services
Настройка easy-rsa
На этом этапе вы сгенерируете некоторый ключ и сертификат:
- Центр сертификации (ca)
- Ключ сервера и сертификат
- Ключ Диффи-Хеллмана. читать здесь
- Клиентский ключ и сертификат
Шаг 1 - скопируйте генерацию скрипта easy-rsa в \/etc/openvpn/\.
cp -r /usr/share/easy-rsa/ /etc/openvpn/
Затем перейдите в каталог easy-rsa и отредактируйте файл vars.
cd /etc/openvpn/easy-rsa/2.*/
vim vars
Теперь пришло время сгенерировать новые ключи и сертификат для нашей установки.
source ./vars
Затем запустите clean-all, чтобы убедиться, что у нас есть чистая настройка сертификата.
./clean-all
Теперь создайте центр сертификации (ca). Вас спросят о названии страны и т. д., введите свои данные. Мои значения смотрите на снимке экрана ниже.
Эта команда создаст файл ca.crt и ca.key в каталоге /etc/openvpn/easy-rsa/2.0/keys/.
./build-ca
Шаг 2. Теперь сгенерируйте ключ сервера и сертификат.
Запустите команду «построить сервер ключей» в текущем каталоге:
./build-key-server server
Шаг 3. Создайте обмен ключами Диффи-Хеллмана.
Выполните команду build-dh:
./build-dh
Пожалуйста, подождите, создание файлов займет некоторое время. Время зависит от KEY_SIZE, который у вас есть в настройках файла vars.
Шаг 4. Сгенерируйте клиентский ключ и сертификат.
./build-key client
Шаг 5 - Переместите или скопируйте каталог \\keys/\\ в \\/etc/opennvpn\\.
cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/
Настроить OpenVPN
Вы можете скопировать конфигурацию OpenVPN из /usr/share/doc/openvpn-2.3.6/sample/sample-config-files в /etc/openvpn/ или создать новую с нуля. Я создам новый:
cd /etc/openvpn/
vim server.conf
Вставьте конфигурацию ниже:
#change with your port port 1337 #You can use udp or tcp proto udp # "dev tun" will create a routed IP tunnel. dev tun #Certificate Configuration #ca certificate ca /etc/openvpn/keys/ca.crt #Server Certificate cert /etc/openvpn/keys/server.crt #Server Key and keep this is secret key /etc/openvpn/keys/server.key #See the size a dh key in /etc/openvpn/keys/ dh /etc/openvpn/keys/dh1024.pem #Internal IP will get when already connect server 192.168.200.0 255.255.255.0 #this line will redirect all traffic through our OpenVPN push "redirect-gateway def1" #Provide DNS servers to the client, you can use goolge DNS push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" #Enable multiple client to connect with same key duplicate-cn keepalive 20 60 comp-lzo persist-key persist-tun daemon #enable log log-append /var/log/myvpn/openvpn.log #Log Level verb 3
Сохрани это.
Создайте папку для файла журнала.
mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log
Отключить firewalld и SELinux
Шаг 1 - Отключите брандмауэр
systemctl mask firewalld
systemctl stop firewalld
Шаг 2 — Отключить SELinux
vim /etc/sysconfig/selinux
И измените SELINUX на отключенный:
СЕЛИНУКС=отключено
Затем перезагрузите сервер, чтобы изменения вступили в силу.
Настроить маршрутизацию и Iptables
Шаг 1. Включите iptables
systemctl enable iptables
systemctl start iptables
iptables -F
Шаг 2 — Добавьте правило iptables для перенаправления маршрутизации в нашу подсеть openvpn.
iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn
Шаг 3 - Включите переадресацию портов.
vim /etc/sysctl.conf
добавить в конец строки:
net.ipv4.ip_forward=1.
Шаг 4 - Перезапустите сетевой сервер
systemctl start
Настройка клиента
Для подключения к серверу openvpn клиенту требуются ключ и сертификат, которые мы уже создали. Пожалуйста, загрузите 3 файла с вашего сервера, используя SFTP или SCP:
- ca.crt
- client.crt
- клиент.ключ
Если вы используете клиент Windows, вы можете использовать WinSCP для копирования файлов. После этого создайте новый файл с именем client.ovpn и вставьте конфигурацию ниже:
client dev tun proto udp #Server IP and Port remote 192.168.1.104 1337 resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings ca ca.crt cert client.crt key client.key ns-cert-type server comp-lzo
И сохранить его.
Затем скачайте клиентское приложение для openvpn и установите его на свой клиентский компьютер (скорее всего, на Рабочий стол):
пользователь Windows
Установка OpenVPN.
Пользователь Mac OS
Tunnelblick.
Пользователь Linux.
попробуйте networkmanager-openvpn через NetworkManager.
или использовать терминал
sudo openvpn --config client.ovpn
Заключение
OpenVPN – это программное обеспечение с открытым исходным кодом для создания общей частной сети, которую легко установить и настроить на сервере. Это решение для тех, кому нужно безопасное сетевое соединение через общедоступный Интернет.
Ссылки
- Открытый VPN