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

(Первая часть статьи здесь)
Теперь можно подключиться к нашему серверу со стороны клиента. Создаем новое подключение на 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="[email protected]" 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Ознакомиться детально со всеми вышеизложенными технологиями и отточить практические навыки вы всегда можете на наших авторских курсах.
Желаем всем твердых знаний и свободного Интернета!