Настраиваем свой VPN на VPS, или как обойти все запреты провайдеров (часть 2)

Настраиваем свой VPN на VPS

(Первая часть статьи здесь)

Теперь можно подключиться к нашему серверу со стороны клиента. Создаем новое подключение на Windows-ПК: Центр управления сетями и общим доступом -> Cоздание нового подключения к сети -> Подключение к рабочему месту VPN, указываем IP адрес нашего сервера и имя подключения (например, VPN test).

Подключаемся к VPN test, используя имя пользователя и пароль из файла /etc/ppp/chap-secrets, который мы указали на предыдущем шаге.

Проверить итоговый IP, который ПК получил через VPN, можно с помощью сервиса 2ipru.

Настройка защищенного канала передачи данных

Для следующих настроек необходимо установить пакеты OpenVPN, OpenSSL и Easy-RSA (обычно идут в комплекте с OpenSSL, но на всякий случай, продублируем их установку)

apt-get install openvpn openssl easy-rsa

Создаем каталог для хранения ключей  /etc/openvpn/easy-rsa/ и скопируем туда содержимое каталога /usr/share/easy-rsa

mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

Для всех последующих действий перейдем в каталог /etc/openvpn/easy-rsa/

cd /etc/openvpn/easy-rsa/

Здесь в файле vars необходимо добавить переменные окружения:

export KEY_COUNTRY="UA"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"

Выполняем инициализацию переменных

source ./vars

Очистим каталог от возможных старых сертификатов

./clean-all

Теперь мы можем создавать свой корневой сертификат

./build-ca

После этого создаем приватный ключ для нашего сервера

./build-key-server server

Если сейчас мы укажем пароль в ответ на предложение, то пароль будет запрашиваться при старте демона OpenVPN.

Создаем ключа для клиента

./build-key-server server

Генерируем ключ Диффи-Хеллмана для более стойкого шифрования (тут надо будет немного подождать, так как создание ключа занимает некоторое время)

./build-dh

После того, как ключ Диффи-Хеллмана создан, запускаем OpenVPN. На этом этапе у нас сгенерированы все необходимые файлы. Перейдем в каталог keys и скопируем все, что относится к нашему серверу, в каталог /etc/openvpn

cd keys
cp server.crt server.key ca.crt dh2048.pem ta.key /etc/openvpn/

Cоздаем каталог внутри домашнего каталога своего пользователя и скопируем туда все ключи, которые будут использоваться при настройке клиента

mkdir /home/admin/rsa-client
cp user.crt user.key ca.crt ta.key /home/admin/rsa-client

Теперь на сервере нужно создать конфигурационные файлы. Скопируем их из каталога с примерами:

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gzip -d /etc/openvpn/
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /home/admin/rsa-client/

Вносим необходимые изменения в файл /etc/openvpn/server.conf (раскомментируем, изменяем либо добавляем параметры):

local 194.0.91.213  #IP-адрес нашего сервера; проще всего узнать через команду Ifconfig
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client  #позволяет несколько машин, объединенных в одной VPN, видеть друг друга в одной сети
keepalive 10 120
tls-auth ta.key 0  # 0 для сервера, 1 для клиента
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3

Теперь займемся клиентом на Windows-PC. Программу OpenVPN загружаем с openvpn.net и устанавливаем. Создаем текстовый файл для конфигурации программы-клиента с названием C:\Program Files\OpenVPN\config\client.ovpn со следующим содержанием:

client
;dev tap1
dev tun
;dev-node MyTap
;proto tcp
proto udp
remote 194.0.91.213 1194  #IP нашего Amazon-сервера
;remote-random
resolv-retry infinite
nobind
;user nobody
;group nobody
persist-key
persist-tun
;mute-replay-warnings
ca ca.crt
cert user.crt
key user.key
remote-cert-tls server
tls-auth ta.key 1
;cipher x
comp-lzo
verb 3
;mute 20

Теперь можно подключиться к серверу с помощью настроенного уже OpenVPN-клиента и проверить маршруты Интернет-пакетов с помощью команды

tracert ya.ru

Ознакомиться детально со всеми вышеизложенными технологиями и отточить практические навыки вы всегда можете на наших авторских курсах.

Желаем всем твердых знаний и свободного Интернета!

Залишити відповідь

Дякуємо, що поділились