Мелкие дела порождают и мелких людей (Б. Дизраэли).

Установка и настройка OpenVPN на Ubuntu 16.04

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
8 декабря 2016
Установка и настройка OpenVPN на Ubuntu 16.04
На этом уроке мы расскажем, как установить и настроить сервер OpenVPN, который является одним из самых популярных VPN программных решений в Ubuntu 16.04 VPS, как на стороне сервера, так и на стороне клиента. Это руководство должно работать на других системах Linux VPS также как хорошо, но была испытана и написана для Ubuntu 16.04.

Войдите на свой VPS через SSH

ssh destroyer@vps

Установите необходимые пакеты

Обновите систему

sudo apt-get update && sudo apt-get -y upgrade

и установите OpenVPN.

sudo apt-get install openvpn openssl

Создайте локальный центр сертификации

Во-первых, сгенерируйте  параметры Диффи-Хеллмана. Эта команда может занять некоторое время, в зависимости от сервера.

openssl dhparam -out /etc/openvpn/dh.pem 2048

Сформируйте файл ca.pem (Certificate Authority):

sudo openssl genrsa -out /etc/openvpn/ca-key.pem 2048
sudo chmod 600 /etc/openvpn/ca-key.pem
sudo openssl req -new -key /etc/openvpn/ca-key.pem -out /etc/openvpn/ca-csr.pem -subj /CN=OpenVPN-CA/
sudo openssl x509 -req -in /etc/openvpn/ca-csr.pem -out /etc/openvpn/ca.pem -signkey /etc/openvpn/ca-key.pem -days 365
sudo echo 01 > /etc/openvpn/ca.srl

Настройка сервера OpenVPN

Следующие команды будут генерировать сертификат сервера и ключ:

sudo openssl genrsa -out /etc/openvpn/server-key.pem 2048
sudo chmod 600 /etc/openvpn/server-key.pem
sudo openssl req -new -key /etc/openvpn/server-key.pem -out /etc/openvpn/server-csr.pem -subj /CN=OpenVPN/
sudo openssl x509 -req -in /etc/openvpn/server-csr.pem -out /etc/openvpn/server-cert.pem -CA /etc/openvpn/ca.pem -CAkey /etc/openvpn/ca-key.pem -days 365

Создайте файл конфигурации сервера:

sudo nano /etc/openvpn/server.conf
server 10.8.0.0 255.255.255.0
verb 3
key server-key.pem
ca ca.pem
cert server-cert.pem
dh dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

user nobody
group nogroup

proto udp
port 1194
dev tun1194
status openvpn-status.log

Сохраните файл, включите и запустите службу OpenVPN:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

Примечание: Если вы работаете в OpenVZ на основе VPS, то откройте файл /lib/systemd/system/openvpn\@.service и закомментируйте строку LimitNPROC=10

Добавьте следующее правило iptables, чтобы трафик мог оставить VPN. Измените сетевой интерфейс eth0с публичного сервера.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Примечание: Если вы работаете на базе OpenVZ VPS, а не правилом выше:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source <YOUR_SERVER_IP>

Наконец, мы также должны разрешить пересылку IP:

sed -i 's|#net.ipv4.ip_forward=1|net.ipv4.ip_forward=1|' /etc/sysctl.conf
echo 1 > /proc/sys/net/ipv4/ip_forward

Конфигурация клиента OpenVPN

Следующие команды будут генерировать сертификат клиента и ключ:

openssl genrsa -out /etc/openvpn/client-key.pem 2048
chmod 600 /etc/openvpn/client-key.pem
openssl req -new -key /etc/openvpn/client-key.pem -out /etc/openvpn/client-csr.pem -subj /CN=OpenVPN-Client/
openssl x509 -req -in /etc/openvpn/client-csr.pem -out /etc/openvpn/client-cert.pem -CA /etc/openvpn/ca.pem -CAkey /etc/openvpn/ca-key.pem -days 36525

Затем скопируйте следующие файлы на клиентской машине

/etc/openvpn/ca.pem
/etc/openvpn/client-cert.pem
/etc/openvpn/client-key.pem

и запустите клиент OpenVPN со следующей конфигурацией.

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote  1194 udp
comp-lzo yes

key /etc/openvpn/client-key.pem
cert /etc/openvpn/client-cert.pem
ca /etc/openvpn/ca.pem

Не забудьте заменить < YOUR_SERVER_IP> на IP – адрес сервера OpenVPN.

Вот и все. Вы успешно установили настроенный сервер OpenVPN на вашем Ubuntu 16,04 VPS.

Установка и настройка OpenVPN на Ubuntu 16.04

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 220

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close