Интернет-пользователи избалованы выбором, когда дело доходит до услуг VPN, но для этого требуется ежемесячная подписка, либо они не защищены, либо работают просто медленно. К счастью, альтернативы существуют. Они требуют немного больше технических знаний, но если вы хотите, чтобы что-то было сделано правильно, вы должны сделать это самостоятельно.

Чтобы узнать, как сделать свой собственный VPN, вы можете посмотреть видео или прочитать статью. Обратите внимание, что статья содержит некоторые полезные команды и текст конфигурации, которые вы можете скопировать и вставить для вашего удобства. Внимание: в видео используется старая версию easy-rsa, которая больше не доступна. Когда вы доберетесь до отметки 8 минут, пожалуйста, обратитесь к этой статье для настройки easy-rsa 3.

Приступим

Amazon Web Services предлагает один год бесплатного виртуального серверного пространства при условии, что вы используете меньше заранее определенного количества пропускной способности, времени и пространства. Даже если вы превысите этот лимит, стоимость запуска образа сервера в Amazon Elastic Compute Cloud, вероятно, будет меньше, чем вы платите за подписку VPN.

Здесь мы расскажем о двух разных способах использования сервиса Elastic Cloud от Amazon, также называемого EC2, для перенаправления вашего соединения через личное местоположение по вашему выбору: SSH Tunneling и OpenVPN. У каждого есть свои преимущества и недостатки, поэтому используйте тот, который вам больше подходит. Независимо от того, что вы выберете, вам потребуется следующее:

  • Учетная запись веб-служб Amazon. Для этого требуется кредитная карта, но вы будете платить только за то, что вы используете, что не произойдёт, если вы будете осторожны в том, что делаете.
  • PuTTy, если вы на Windows. OpenSSH через Cygwin — это еще один вариант, но это боль). На компьютерах Linux и Mac уже есть SSH, встроенные в их поставку и терминалы. Вам также понадобится родственная программа PuTTy — PuttyGen.
  • WinSCP, или эквивалентный FTP-клиент для перемещения файлов между локальным компьютером и экземпляром EC2.
  • Базовые практические знания о командах Unix и о том, как серверы работают с клиентами, будут чрезвычайно полезны при устранении неполадок, если что-то идет не так, как запланировано.
  • OpenVPN GUI, устанавливается в папке по умолчанию и с настройками по умолчанию на вашем компьютере

Настроим AWS

После того, как вы зарегистрировали учетную запись Amazon Web Services, вот как запустить сервер, который мы будем использовать для нашей VPN:

  1. Войдите в свою учетную запись Amazon Web Service и перейдите на панель инструментов EC2.
aws vpn update 1

2. В правом верхнем углу вы можете выбрать место, где мы будем настраивать ваш VPN. Нажмите Launch Instance.

ec2 vpn 1

3. Выберите любой AMI для Linux, который указан как «бесплатный». На момент написания этой статьи это был Amazon Linux AMI. Переходите к следующему шагу.

ec2 vpn 2

4. Здесь выберите экземпляр t2.micro, который также подходит для бесплатного уровня. Нажмите «Просмотр и запуск».

ec2 vpn 3

5. На следующей странице нажмите Изменить группы безопасности.

6. Вам нужно будет отредактировать группу безопасности, чтобы трафик с вашего компьютера разрешал только доступ к VPN или прокси. У вас должно быть одно правило для подключения к вашему серверу через SSH, которое мы будем использовать позже. Нам нужно добавить еще одно, чтобы разрешить соединения OpenVPN, которые по умолчанию используют порт 1194. Для простоты на вкладке «Входящие» нажмите кнопку «Добавить правило». Установите для параметра «Тип» значение «Пользовательский UDP», для параметра «Диапазон портов» — 1194, а «Источник» — «Везде».

EC2 add security group rule button

7. Нажмите Сохранить.

EC2 security group anywhere to port 1194

8. Нажмите «просмотреть и запустить», затем «запустить» на следующей странице.
9. Теперь вам нужно создать пару ключей, которая работает как пароль, который вы будете использовать для подключения к виртуальному серверу, который вы создаете. Выберите «создать новую пару ключей» из выпадающего меню и назовите его как хотите. Нажмите кнопку, чтобы загрузить пару ключей. Храните его в безопасном месте.

ec2 vpn 5

10. Следующая страница должна предупредить вас, что экземпляр запускается. Прокрутите вниз и нажмите «Просмотр экземпляров». Здесь вы увидите список всех запущенных вами экземпляров, который, если вы впервые используете EC2, будет только один.

Подключитесь к серверу с PuTTy

Мы можем подключиться к нашему экземпляру EC2 с помощью PuTTy, но сначала нам понадобится соответствующий файл ключа для подключения. Когда вы установили PuTTy, вы должны были также установить PuTTygen. Запустите его сейчас. PuTTy и PuTTygen работают сразу из коробки как файлы .exe без необходимости установки.

ec2 vpn 7
  1. Откройте PuTTygen, и нажмите Load.
  2. Перейдите к загруженному ранее файлу пары ключей .pem и загрузите его в Puttygen. Вам нужно выбрать опцию, чтобы показать все типы файлов, чтобы ключ .pem отображался. Нажмите «Сохранить закрытый ключ». Имя файла должно совпадать с ключом .pem. Вы можете создать фразу-пароль для закрытого ключа, если хотите.
ec2 vpn 6

3. Теперь закройте PuTTygen и откройте PuTTy. Скопируйте открытый IP-адрес вашего экземпляра с консоли EC2 в PuTTy. Введите имя для вашей сессии и нажмите «Сохранить».

ec2 vpn 8
4. На левой панели перейдите к «Auth» под SSH. Нажмите кнопку обзора внизу и перейдите к закрытому ключу, который вы только что сгенерировали. 5. Вернитесь на главную страницу сессии, назовите и сохраните профиль сессии, чтобы вы могли быстро подключиться в следующий раз, когда вы используете PuTTy. Затем нажмите Открыть. 6. Появится приглашение с просьбой ввести имя пользователя. Это зависит от типа сервера, который вы настроили в начале. Для Amazon Linux AMI это «ec2-user».

SSH Tunneling (опционально)

Для начала, мы просто собираемся перенаправить веб-трафик через впн, который мы создали, используя SSH-туннелирование и прокси. Это быстрый и грязный способ обойти брандмауэр или географический локаут. Это не совсем VPN — он лучше для легкого веб-трафика и не будет работать со всем — но его гораздо проще настроить. Однако настройка SSH-туннелирования совершенно необязательна, поэтому не стесняйтесь переходить к следующему разделу.

ec2 vpn 9

Откройте PuTTy и перейдите к Туннелям в левой боли. Добавьте порт 8080, выбрав Авто и Динамический. Вернитесь на страницу сеанса и снова нажмите «Сохранить», чтобы вам не пришлось делать все это снова. Затем нажмите Открыть.

ec2 vpn 10

Теперь вы подключены к своему серверу, но вам все равно нужно маршрутизировать трафик вашего веб-браузера через него. Если вы используете Firefox, это можно сделать в настройках вашего браузера. Если вы используете Chrome, загрузите расширение Proxy Switchy. Если вы предпочитаете создать полностью работающую VPN, а не просто прокси для вашего браузера, перейдите к следующему разделу.

В Firefox:

  • Перейти в Tools > Options > Advanced > Network > Connection > Settings > Manual proxy configuration
  • Укажите SOCKS Host как 127.0.0.1 и порт 8080 (или любой другой порт туннеля, заданный в PuTTy).
  • Нажмите OK и сохраните

В Chrome Proxy Switchy

  • Страница установки должна появиться, как только вы установите расширение, или щелкните значок в правом верхнем углу Chrome и нажмите Параметры.
  • Назовите профиль как хотите. В разделе «Ручная настройка» установите для хоста SOCKS значение 127.0.0.1, а для порта — 8080 (или любой другой порт туннеля, заданный в PuTTy). Оставьте все остальное пустым.
  • Нажмите Сохранить, затем снова щелкните значок, чтобы выбрать свой профиль прокси.
ec2 vpn 11

Вуаля! Ваш трафик браузера теперь направляется через ваш экземпляр EC2. Это будет хорошо работать для базового просмотра, но некоторые веб-сайты могут столкнуться с проблемами, и приложения, отличные от вашего веб-браузера, все равно будут использовать прямое соединение. Чтобы создать полноценную VPN, которая перенаправляет весь ваш интернет-трафик, читайте дальше.

Настройте OpenVPN на сервере и клиенте

OpenVPN — это бесплатный инструмент с открытым исходным кодом, который позволит вам запустить полноценную VPN через ваш экземпляр Amazon EC2. Это означает, что весь ваш интернет-трафик проходит через него, а не только трафик вашего веб-браузера, как с прокси выше. Настольные программы, такие как Steam или Spotify, лучше работают с таким подходом.

ec2 vpn 12

Подключитесь к вашему экземпляру EC2 с помощью PuTTy в соответствии с инструкциями выше. Перед вами должна быть командная строка с надписью Amazon Linux AMI. Запустите следующие команды (введите или скопируйте / вставьте их и нажмите Enter):

sudo yum install -y openvpn
sudo modprobe iptable_nat
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Просто быстрое примечание здесь. Вы могли заметить на скриншоте, что я неправильно попытался загрузить и установить OpenVPN, используя команду «apt-get» вместо «yum». Некоторые другие версии Linux по-прежнему используют apt-get, поэтому, если yum не работает для вас, попробуйте эту команду:

sudo apt-get install -y openvpn

Куча текста будет мигать в командной строке во время установки OpenVPN. Другие три команды настраивают переадресацию IP, которая необходима для работы VPN.

Метод #1: Настройка аутентификации PKI с помощью easy-rsa (рекомендуется)

В оригинальной версии этого руководства мы настроили OpenVPN со статическим шифрованием и файлом .ovpn. Хотя это работает, оно позволяет одновременно подключать только одно устройство, а тот факт, что вы используете только один ключ, означает, что он менее защищен. Теперь мы рекомендуем читателям использовать easy-rsa для настройки аутентификации, которая является более безопасной и позволяет одновременно подключать любое количество устройств.

OpenVPN и простая настройка rsa сервера

В идеале для максимальной безопасности вы должны сгенерировать все необходимые ключи и сертификаты на отдельном устройстве от сервера VPN. Однако это может быть довольно утомительным, поэтому мы просто сгенерируем на сервере учетные данные клиента и сервера, а затем переместим файлы туда, где они нам нужны.

  1. Easy-rsa недоступна в списке пакетов yum по умолчанию, поэтому нам нужно включить репозиторий EPEL для его установки. Введите следующее в терминал PuTTy и нажмите Enter:
    • sudo yum install easy-rsa -y —enablerepo=epel
  2. Создайте каталог easy-rsa в каталоге установки OpenVPN. Скопируйте файлы из вашей установки easy-rsa (последняя версия 3.0.3 на момент написания) в новый каталог:
    • sudo mkdir /etc/openvpn/easy-rsa
      cd /etc/openvpn/easy-rsa
      sudo cp -Rv /usr/share/easy-rsa/3.0.3/*
  3. Теперь мы готовы настроить наш центр сертификации. Начните с инициализации нового каталога PKI (инфраструктуры открытых ключей), затем создайте пару ключей центра сертификации.
    • sudo ./easyrsa init-pki
      sudo ./easyrsa build-ca
  4. Введите пароль PEM. Это не обязательно, но рекомендуется. Если кто-то каким-то образом завладеет вашим центром сертификации, он не сможет создавать ключи или подписывать сертификаты без пароля.
  5. Вам будет предложено ввести общее имя. Называйте его как хотите или просто нажмите Enter, чтобы оставить значение по умолчанию.
  6. Далее мы сгенерируем ключ Диффи-Хеллмана, который обеспечивает идеальную секретность:
    • sudo ./easyrsa gen-dh
  7. Эта команда может занять некоторое время. Он сгенерирует файл с именем dh.pem. После завершения мы переходим к учетным данным сервера. Для удобства мы не будем их защищать паролем, но вы обязательно сделаете это, если хотите еще более надежную защиту.
    • sudo ./easyrsa gen-req server nopass
  8. Нажмите Enter, чтобы оставить общее имя в качестве сервера. После создания пары ключей подпишите сертификат:
    • sudo ./easyrsa sign-req server server
  9. Введите yes для подтверждения и введите свой пароль CA, если вы установили его ранее.
  10. Теперь мы настроим клиента. Опять же, мы не будем устанавливать пароль для этого, но вы можете. Обратите внимание, что если вы хотите настроить автоматический запуск VPN, лучше не устанавливать пароль.
    • ./easyrsa gen-req client nopass
  11. Нажмите Enter, чтобы оставить общее имя в качестве клиента. Теперь введите это:
    • sudo ./easyrsa sign-req client client
  12. Введите yes для подтверждения и введите свой пароль CA, если вы его установили.
  13. Затем мы сгенерируем ключ TLS для идеальной секретности пересылки в OpenVPN, которая гарантирует, что данные прошедшего сеанса не могут быть расшифрованы, даже если злоумышленник завладеет нашим закрытым ключом.
    • cd /etc/openvpn
      openvpn —genkey —secret pfs.key
  14. Теперь мы сгенерировали все необходимые нам учетные файлы. Далее мы создадим файл конфигурации сервера OpenVPN. У нас уже есть один экземпляр для вас ниже, поэтому все, что вам нужно сделать, это скопировать и вставить, если вы следовали с самого начала. Начните с перехода в каталог OpenVPN и создания нового файла:
    • cd /etc/openvpn
      sudo nano server.conf
  15. Теперь вы находитесь в текстовом редакторе nano. Скопируйте и вставьте следующую конфигурацию, затем нажмите CTRL + O для сохранения, Enter для подтверждения и CTRL + X для выхода. (Совет: вы можете вставить текст из буфера обмена в PuTTy, просто щелкнув правой кнопкой мыши)
    • port 1194
      proto udp
    • dev tun
      ca /etc/openvpn/easy-rsa/pki/ca.crt
      cert /etc/openvpn/easy-rsa/pki/issued/server.crt
      key /etc/openvpn/easy-rsa/pki/private/server.key
      dh /etc/openvpn/easy-rsa/pki/dh.pem
      cipher AES-256-CBC
      auth SHA512
      server 10.8.0.0 255.255.255.0
      push «redirect-gateway def1 bypass-dhcp»
      push «dhcp-option DNS 8.8.8.8»
      push «dhcp-option DNS 8.8.4.4»
      ifconfig-pool-persist ipp.txt
      keepalive 10 120
      comp-lzo
      persist-key
      persist-tun
      status openvpn-status.log
      log-append openvpn.log
      verb 3
      tls-server
      tls-auth /etc/openvpn/pfs.key
  16. Сервер теперь настроен. Нам просто нужно запустить OpenVPN. Мы запустим его как службу, чтобы даже после закрытия PuTTy он продолжал работать до тех пор, пока сервер не будет выключен или вы не завершите службу вручную.
    • sudo service openvpn start

Внимание: Некоторые читатели отмечают, что их VPN-серверы перестают работать после перезагрузки или обслуживания сервера. Это иногда случается с экземплярами микроуровня EC2. Чтобы предотвратить это, мы будем использовать команды и bash-скрипт, предоставленный Мэттом Дойлом. Начните с этой команды:

sudo chkconfig openvpn on

Пока вы находитесь в etc/openvpn, используйте nano server.sh для создания нового текстового файла и вставьте в него следующее:

#!/bin/sh
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Используйте CTRL+O для сохранения и CTRL+X для выхода.

Команда обеспечит запуск OpenVPN при загрузке сервера, а сценарий обеспечит настройку необходимых маршрутов в iptables для разрешения трафика OpenVPN.

OpenVPN и настройка клиента easyrsa

Теперь, когда сервер настроен, нам нужно настроить клиент. Для этого нам нужно переместить необходимые файлы сертификатов и ключей с нашего сервера на наше клиентское устройство. Поскольку PuTTy все еще открыт и работает от имени пользователя root, нам сначала нужно изменить разрешения для этих файлов, чтобы мы могли получить к ним доступ. Мы также разместим их все в одном месте, чтобы было легче.

  1. Чтобы получить доступ к некоторым из этих файлов, нам нужно быть пользователем root. Для этого введите:
    • sudo su
  2. Это сделает вас пользователем root и предоставит права администратора. Теперь введите следующие команды. Последняя команда понижает необходимые разрешения для доступа к этим файлам. Обратите внимание, что важно изменить их обратно, когда закончите.
    • cd /etc/openvpn
      mkdir keys
      cp pfs.key keys
      cp /etc/openvpn/easy-rsa/pki/dh.pem keys
      cp /etc/openvpn/easy-rsa/pki/ca.crt keys
      cp /etc/openvpn/easy-rsa/pki/private/ca.key keys
      cp /etc/openvpn/easy-rsa/pki/private/client.key keys
      cp /etc/openvpn/easy-rsa/pki/issued/client.crt keys
      chmod 777 *
  3. Чтобы получить файлы с нашего сервера и на наш компьютер, мы будем использовать бесплатную программу WinSCP. Просто используйте параметры установки по умолчанию. Как только это будет сделано, должно появиться окно с предложением импортировать данные аутентификации вашего сервера из PuTTy. Выберите тот, который мы сделали выше, и продолжайте.
ec2 vpn 14

4. Выберите myvpn (или то, что вы назвали своим) и нажмите кнопку «Изменить». Введите ec2-user под именем пользователя. Нажмите на Логин.

5. Если вы не впервые используете WinSCP, вы можете установить .ppk файл, который вы использовали в PuTTy, нажав Edit и Advanced. Перейти SSH > Authentication > Private key file и перейдите к вашему файлу PPK.

6. В поле имени хоста на главной странице вы можете ввести либо IP-адрес, либо домен вашего экземпляра EC2. Обязательно сохраните настройки и нажмите «Войти».

easyrsa 6

7. В правой панели перейдите в каталог, содержащий ваши ключевые файлы, в этом случае /etc/openvpn/keys

easyrsa 7

8. Выделите шесть файлов, которые вам понадобятся: client.crt, client.key, ca.crt, dh.pempfs.key, и ca.key. Нажмите зеленую кнопку Download. На самом деле не имеет значения, куда они попадают на левую панель, если вам не требуются права администратора для доступа к ней. Для простоты мы помещаем файлы на наш рабочий стол. Тем не менее, вы хотите хранить файл ca.key в надежном месте, например на USB-накопителе.
9. Последний шаг, который нужно сделать удалите ca.key файл с сервера. CA или центр сертификации используется для подписи клиентских сертификатов, и, если он когда-либо скомпрометирован, вы никогда не сможете снова доверять сертификатам, выпущенным этим CA. Хотя это не обязательно для работы VPN, мы настоятельно рекомендуем сделать это, особенно если вы не установили пароль для CA. Прежде чем удалять файл, убедитесь, что у вас есть все ключи и сертификаты для каждого устройства, к которому вы хотите подключиться. Если вы хотите добавить больше позже, вам придется переместить файл ca.key обратно на сервер.
10. После того как ключ CA надежно сохранен где-то, кроме сервера, перейдите в PuTTy и удалите как исходный файл ca.key, так и копию, которую мы сделали с сервера:

  • sudo rm /etc/openvpn/easy-rsa/pki/private/ca.key
    sudo rm /etc/openvpn/keys/ca.key

11. После того, как файлы загружены, нам нужно восстановить более строгие разрешения на сервере, чтобы не каждый мог получить к ним доступ. Вернёмся в PuTTy:

  • cd /etc/openvpn/keys
    sudo chmod 600 *

12. На вашем компьютере вырежьте и вставьте эти пять файлов, откуда бы вы их ни скачали, в папку конфигурации OpenVPN. В этом случае этоC://Program Files//OpenVPN//config.
13. Наконец, нам нужно создать файл конфигурации клиента. Откройте ваш любимый текстовый редактор (Блокнот работает нормально), щелкнув правой кнопкой мыши и выбрав Запуск от имени администратора, и вставьте следующую конфигурацию, заменивYOUR.EC2.INSTANCE.IP с IP-адресом вашего экземпляра EC2:

  • client dev
    tun proto
    udp remote
    YOUR.EC2.INSTANCE.IP 1194
    ca ca.crt
    cert client.crt
    key client.key
    tls-version-min 1.2
    tls-cipher TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
    cipher AES-256-CBC
    auth SHA512
    resolv-retry infinite
    auth-retry none
    nobind
    persist-key
    persist-tun
    ns-cert-type server
    comp-lzo
    verb 3
    tls-client
    tls-auth pfs.key

14. Это файл конфигурации Windows для графического интерфейса OpenVPN, поэтому мы сохраним его как client.ovpn. Вместо этого другие клиенты OpenVPN могут использовать расширение .conf. В любом случае, убедитесь, что ваш текстовый редактор не добавляет расширение .txt после сохранения. Сохраните его в том же месте, где находятся ваш ключ и файлы сертификации: C:\\Program Files\\OpenVPN\\config

easyrsa 8

14. Теперь запустите графический интерфейс OpenVPN в режиме администратора, щелкнув его правой кнопкой мыши и выбрав Запуск от имени администратора. Щелкните правой кнопкой мыши значок на панели задач и подключитесь к конфигурации клиента, которую мы только что настроили. Экран состояния с множеством текста будет мигать по всему экрану, а затем значок станет зеленым.

Поздравляем! Теперь вы подключены к своей домашней VPN.

Метод #2: Статическое шифрование (проще, но не рекомендуется)

В этом методе мы создадим общий ключ для аутентификации. Это что-то вроде файла, который действует как пароль. Это проще в настройке, но позволяет одновременно подключать к VPN только одно устройство и является менее безопасным, чем метод easy-rsa, описанный выше.

  1. В PuTTy введите следующие команды и нажмите Enter:
    • cd /etc/openvpn
      sudo openvpn --genkey --secret ovpn.key
  2. Теперь мы собираемся создать файл конфигурации сервера для нашего VPN. Введите следующую команду, чтобы создать пустой текстовый файл в самом простом текстовом редакторе внутри терминала:
    • sudo nano openvpn.conf
  3. Введите следующую конфигурацию. Вы можете найти больше вариантов на веб-сайте OpenVPN, если хотите поэкспериментировать с этим позже, но сначала убедитесь, что знаете, что делаете..
ec2 vpn 13
port 1194
proto tcp-server dev tun1
ifconfig 10.4.0.1 10.4.0.2
status server-tcp.log
verb 3
secret  ovpn.key 

4. Теперь нажмите CTRL + O (это буква ‘O’, а не ноль) и нажмите Enter, чтобы сохранить файл. Затем нажмите CTRL + X, чтобы выйти из текстового редактора. Вернувшись в командную строку, пришло время запустить OpenVPN:

  • sudo service openvpn start

5. Далее нам нужно получить общий ключ с сервера на ваш локальный компьютер. Сначала нам нужно изменить разрешения для этого файла, чтобы мы могли получить к нему доступ с помощью следующей команды:

  • sudo chmod 777 ovpn.key

6. Если в какой-то момент вы случайно закрыли PuTTy или он просто вылетает, вы можете вернуться к своему открытому каталогу установки VPN после повторного подключения с помощью этой команды:

  • cd /etc/openvpn

7. Чтобы сделать это как можно проще, загрузите и установите это бесплатное приложение WinSCP (пользователям Mac придется искать другой FTP-клиент. Не волнуйтесь, их много). Просто используйте параметры установки по умолчанию. Как только это будет сделано, должно появиться окно с предложением импортировать данные аутентификации вашего сервера из PuTTy. Выберите тот, который мы сделали выше, и продолжайте.

ec2 vpn 14

8. Выберите myvpn (или как вы его ранее назвали) и выберите Редактировать. Впишите “ec2-user” под именем пользователя и нажмите Войти.

ec2 vpn 15

9. Теперь вы можете перемещать файлы между вашим сервером экземпляров EC2 и вашим локальным компьютером. На правой панели перейдите как можно дальше вверх, затем перейдите в etc/openvpn. Здесь вы найдете файл ovpn.key, который нам нужен. Нажмите и перетащите его в папку по вашему выбору, но помните, куда вы его положили, поскольку мы захотим переместить его позже.

ec2 vpn 16

10. Теперь, когда у вас есть ключ, нам нужно повторно применить старые разрешения, чтобы не каждый мог его получить. Вернувшись в свой терминал PuTTy, введите:

  • sudo chmod 600 ovpn.key

11. Пришло время загрузить клиент OpenVPN и графический интерфейс для вашего локального компьютера. Перейдите на страницу загрузок OpenVPN и выберите подходящую версию для вашей операционной системы. Установите его с настройками по умолчанию.
12. Запустите OpenVPN, и он должен появиться в виде значка на панели задач. Откройте проводник и перейдите туда, где вы установили OpenVPN, вероятно, в папке Program Files. Переместите файл opvn.key, который мы скачали с сервера, в папку config, найденную здесь (C:/Program Files/OpenVPN/config … если вы использовали каталог установки по умолчанию в Windows).
13. Далее нам нужно создать файл конфигурации для локальной машины, чтобы он соответствовал тому, который мы сделали на нашем сервере. Откройте Блокнот и вставьте следующее, заменив IP-адрес после «удаленного» на IP-адрес вашего экземпляра EC2 (если вы его забыли, найдите его в консоли AWS в разделе «Экземпляры EC2»). Кроме того, дважды проверьте правильность полного пути к файлу, указывающего на ваш ключ.

proto tcp-client
remote <your EC2 IP here>   
port 1194   
dev tun    
secret "C:\\Program Files\\OpenVPN\\config\\ovpn.key"   
redirect-gateway def1    
ifconfig 10.4.0.2 10.4.0.1

14. Сохраните его как myconfig.ovpn (убедитесь, что ваш текстовый редактор не добавляет его как myconfig.ovpn.txt по ошибке) в папке config вашей установки OpenVPN, в том же месте, что и файл opvn.key.

ec2 vpn 17

15. Щелкните правой кнопкой мыши значок OpenVPN на панели задач и выберите «Выход», чтобы выйти. Теперь запустите его снова — либо с ярлыка на рабочем столе, либо из папки Program Files — но на этот раз нажмите правой кнопкой мыши и нажмите «Запуск от имени администратора». Если вы не запускаете OpenVPN в качестве администратора в Windows, это, вероятно, не будет работать.

ec2 vpn 18

16. Щелкните правой кнопкой мыши значок на панели задач и выберите «Подключить». Должен появиться графический интерфейс OpenVPN, показывающий вам состояние соединения. Если предположить, что это сработало, значок на панели задач станет зеленым. Перейдите в Google и введите «Какой у меня IP?», И он должен вернуть IP-адрес вашего инстанса Amazon EC2.

ec2 vpn 19

Поздравляем, вы только что создали свой собственный VPN!

Дополнительные замечания

Если вы хотите защитить свой VPN от глубокой проверки пакетов — метод, используемый режимами цензуры в таких местах, как Китай и Сирия, для блокировки соединений OpenVPN, ожидайте следующей статьи по настройке Obfsproxy.

Не забудьте сохранить пропускную способность в пределах бесплатного уровня Amazon. Самый простой способ сделать это — щелкнуть правой кнопкой мыши свой экземпляр в консоли AWS и щелкнуть ссылку «Добавить / изменить сигналы тревоги». Вы можете настроить свой сервер на остановку или даже остановку после нескольких часов бездействия. Уровень бесплатного пользования предусматривает 750 часов в месяц (который охватывает весь месяц), поэтому вам не нужно этого делать. Тем не менее, пользователи, прошедшие первый год бесплатного обслуживания или больше работающие со своим сервером, могут предотвратить ненужные расходы за неиспользованное время сервера.

Где-то в этом уроке, возможно, что-то пойдет не так для вас. Если вы действительно хотите использовать VPN, но не хотите делать все возможное для устранения неполадок, возможно, лучше выбрать платный VPN-сервис. Они также позволяют вам направлять ваш интернет-трафик через несколько географических мест, тогда как экземпляр EC2 ограничен только одним. Прочитайте мои обзоры на разные VPN сервисы.

Жесткое кодирование DNS-серверов в вашу VPN

Если вам нужно настроить конкретные DNS-серверы для использования с VPN, есть несколько вариантов.

Чтобы «подтолкнуть» DNS-сервер к клиенту, добавьте эту строку в конфигурацию сервера. Это повлияет на все устройства, которые подключаются к вашему VPN (включая цитаты):

push "dhcp-option DNS 45.56.117.118"

Кроме того, вы можете установить DNS в индивидуальной конфигурации клиента, используя:

dhcp-option DNS 45.56.117.118

В этих примерах я использовал общедоступный DNS-сервер OpenNIC с анонимной регистрацией, расположенный в США. Вы можете найти сервер OpenNIC в выбранной вами стране и выполнить фильтрацию по таким функциям, как анонимное ведение журнала и DNSCrypt здесь.