Как сделать свой собственный бесплатный VPN с Amazon Web Services

Интернет-пользователи избалованы выбором, когда дело доходит до услуг 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 обновление 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 добавить кнопку правила группы безопасности
  7. Хит Сохранить.Группа безопасности EC2 в любом месте к порту 1194
  8. Нажмите «просмотреть и запустить», затем «запустить» на следующей странице.
  9. Теперь вам нужно создать пару ключей, которая работает как пароль, который вы будете использовать для подключения к виртуальному серверу, который вы создаете. Выберите «создать новую пару ключей» из выпадающего меню и назовите его как хотите. Нажмите кнопку, чтобы загрузить пару ключей. Храните его в безопасном месте.ec2 vpn 5
  10. Следующая страница должна предупредить вас, что экземпляр запускается. Прокрутите вниз и нажмите «Просмотр экземпляров». Здесь вы увидите список всех запущенных вами экземпляров, которые, если вы впервые используете EC2, будут просто.

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

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

  1. Откройте PuTTygen, нажмите Загрузить.
  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».

Туннелирование SSH (опционально)

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

ec2 vpn 9

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

ec2 vpn 10

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

В Firefox:

  • Перейти в Инструменты > Параметры > продвинутый > сеть > соединение > настройки > Ручная настройка прокси
  • Установите хост SOCKS как 127.0.0.1, а порт – как 8080 (или любой другой порт туннеля, который вы указали в PuTTy).
  • Нажмите ОК, чтобы сохранить

В 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
эхо 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 для настройки аутентификации, которая является более безопасной и позволяет одновременно подключать любое количество устройств. Однако, если вы хотите старую версию со статическим шифрованием, перейдите к ней, нажав здесь.

Обновление за май [year]: эта статья была обновлена ​​для использования с easy-rsa 3.

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

В идеале вы должны сгенерировать все необходимые ключи и сертификаты на отдельном устройстве от сервера 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 (инфраструктуры открытых ключей), затем создайте пару ключей центра сертификации..
    • судо ./easyrsa init-pki
      sudo ./easyrsa build-ca
  4. Введите пароль PEM. Это не обязательно, но рекомендуется. Если кто-то завладеет вашим центром сертификации, он не сможет создавать ключи или подписывать сертификаты без пароля..
  5. Вам будет предложено ввести общее имя. Называй как хочешь или просто нажми Войти оставить его как значение по умолчанию.
  6. Далее мы сгенерируем ключ Диффи-Хеллмана, который обеспечивает идеальную секретность:
    • sudo ./easyrsa gen-dh
  7. Эта команда может занять некоторое время. Это сгенерирует файл с именем dh.pem. После завершения мы переходим к учетным данным сервера. Для удобства, мы не будем их защищать паролем, но вы обязательно сделаете это, если хотите еще более надежную защиту.
    • sudo ./easyrsa gen-req сервер nopass
  8. Хит Войти оставить общее имя как сервер. После создания пары ключей подпишите сертификат:
    • sudo ./easyrsa sign-req сервер сервер
  9. Тип да подтвердить и ввести свой пароль CA, если вы установили его ранее.
  10. Теперь мы настроим клиента. Опять же, мы не будем устанавливать пароль для этого, но вы можете. Обратите внимание, что если вы хотите настроить автоматический запуск VPN, лучше не устанавливать пароль.
    • ./ easyrsa gen-req клиент nopass
  11. Хит Войти оставить общее имя как клиент. Теперь подпишите это:
    • sudo ./easyrsa sign-req клиент-клиент
  12. Тип да чтобы подтвердить и ввести свой пароль 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 сохранить, Войти подтвердить и CTRL + X выходить. (Подсказка: вы можете вставить текст из буфера обмена в PuTTy, просто щелкнув правой кнопкой мыши)
    • порт 1194
      прото удп
      Dev Tun
      ca /etc/openvpn/easy-rsa/pki/ca.crt
      cert /etc/openvpn/easy-rsa/pki/issued/server.crt
      ключ /etc/openvpn/easy-rsa/pki/private/server.key
      dh /etc/openvpn/easy-rsa/pki/dh.pem
      шифр AES-256-CBC
      аутентификация SHA512
      сервер 10.8.0.0 255.255.255.0
      От себя "redirect-gateway def1 bypass-dhcp"
      От себя "DNS-опция dhcp 8.8.8.8"
      От себя "DNS-опция dhcp 8.8.4.4"
      ifconfig-pool-persist ipp.txt
      keepalive 10 120
      Comp-LZO
      упорствовать-ключ
      упорствовать-чан
      статус openvpn-status.log
      log-append openvpn.log
      глагол 3
      TLS-сервер
      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 / ш
эхо 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. Для этого введите:
    • судо су
  2. Это сделает вас пользователем root и предоставит права администратора. Теперь введите следующие команды. Последняя команда понижает необходимые разрешения для доступа к этим файлам. Обратите внимание, что важно изменить их обратно, когда закончите.
    • cd / etc / openvpn
      ключи MKDIR
      ключи cp pfs.key
      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 пользователь под именем пользователя. Нажмите на Логин.
  5. Если вы не впервые используете WinSCP, вы можете установить .ppk файл, который вы использовали в PuTTy, нажав редактировать и продвинутый. Перейти к SSH > Аутентификация > Файл закрытого ключа и перейдите к вашему файлу PPK.
  6. В поле имени хоста на главной странице вы можете ввести либо IP-адрес, либо домен вашего экземпляра EC2. Обязательно сохраните настройки, затем нажмите Авторизоваться.Easyrsa 6
  7. На правой панели перейдите в каталог, содержащий ваши ключевые файлы, в этом случае / и т.д. / OpenVPN / ключиEasyrsa 7
  8. Выделите шесть файлов, которые вам понадобятся: client.crt, client.key, ca.crt, dh.pempfs.key, и ca.key (не отображается из-за обновления статьи). Хит зеленый Скачать кнопка. На самом деле не имеет значения, куда они попадают на левую панель, если вам не нужны права администратора для доступа к ней. Для простоты мы помещаем файлы на наш рабочий стол. Тем не менее, вы хотите хранить файл 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:
    • клиент
      Dev Tun
      прото удп
      удаленный YOUR.EC2.INSTANCE.IP 1194
      ca ca.crt
      cert client.crt
      ключ client.key
      tls-version-min 1.2
      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-С-AES-256-CBC-SHA256
      шифр AES-256-CBC
      аутентификация SHA512
      разрешить-повторить бесконечный
      auth-retry none
      nobind
      упорствовать-ключ
      упорствовать-чан
      сервер типа ns-cert
      Comp-LZO
      глагол 3
      TLS-клиент
      tls-auth pfs.key
  14. Это файл конфигурации Windows для графического интерфейса OpenVPN, поэтому мы сохраним его как client.ovpn. Вместо этого другие клиенты OpenVPN могут использовать расширение .conf. В любом случае, убедитесь, что ваш текстовый редактор не добавляет расширение .txt после сохранения. Сохраните его в том же месте, где находятся ваш ключ и файлы сертификации: C: \\ Program Files \\ OpenVPN \\ configEasyrsa 8
  15. Теперь запустите OpenVPN GUI в режиме администратора, щелкнув правой кнопкой мыши и выбрав Запустить от имени администратора. Щелкните правой кнопкой мыши значок на панели задач и подключитесь к клиент Конфигурация мы только что настроили. Экран состояния с множеством текста будет мигать по всему экрану, а затем значок станет зеленым.

Поздравляем! Теперь вы подключены к своему домашнему 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
    • порт 1194
      прото tcp-сервер dev tun1
      ifconfig 10.4.0.1 10.4.0.2
      статус server-tcp.log
      глагол 3
      секретный 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, введите:
    • судо чмод 600 овпн.кей
  11. Пришло время загрузить клиент OpenVPN и графический интерфейс для вашего локального компьютера. Перейдите на страницу загрузок OpenVPN и выберите подходящую версию для вашей операционной системы. Установите его с настройками по умолчанию.
  12. Запустите OpenVPN, и он должен появиться в виде значка на панели задач. Откройте проводник и перейдите туда, где вы установили OpenVPN, возможно, в папке Program Files. Переместите файл opvn.key, который мы скачали с сервера, в папку config, найденную здесь (C: / Program Files / OpenVPN / config…, если вы использовали каталог установки по умолчанию в Windows).
  13. Далее нам нужно создать файл конфигурации для локальной машины, чтобы он соответствовал тому, который мы сделали на нашем сервере. Откройте Блокнот и вставьте следующее, заменив IP-адрес после «удаленного» на IP-адрес вашего экземпляра EC2 (если вы его забыли, найдите его в консоли AWS в разделе «Экземпляры EC2»). Кроме того, дважды проверьте правильность полного пути к файлу, указывающего на ваш ключ..
    • прото tcp-клиент
      удаленный
      порт 1194
      Dev Tun
      секрет "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. Обратите внимание, что это руководство было написано как продолжение старого метода № 2 в этой статье, поэтому, если вы использовали easy-rsa, для него потребуется дополнительная настройка.

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

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

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

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

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

От себя "DNS-опция dhcp 45.56.117.118"

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

DNS-опция dhcp 45.56.117.118

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

Особая благодарность блогу доктора Уотсона, на который я опирался как ресурс при написании этой статьи.

Джон Уотсон (я думаю, никакого отношения) не участвовал в этой статье.

About the author

Comments

  1. : 1194, и источник в Мой IP. Нажмите Сохранить. Вернитесь на страницу запуска экземпляра и нажмите Запустить. Выберите свой ключ SSH, который вы создали ранее, и нажмите Запустить экземпляр. Ваш экземпляр запускается, и вы можете получить доступ к нему через SSH. Подключитесь к серверу с помощью PuTTy Если вы используете Windows, вам нужно будет использовать PuTTy для подключения к вашему серверу. Вот как это сделать: Скачайте и установите PuTTy и PuttyGen. Откройте PuttyGen и создайте новый ключ SSH. Сохраните закрытый ключ в безопасном месте, а открытый ключ скопируйте в буфер обмена. Вернитесь на страницу экземпляра EC2 и найдите Public DNS. Скопируйте его в буфер обмена. Откройте PuTTy и вставьте Public DNS в поле Host Name. В левой панели выберите SSH и Auth. Нажмите Browse и найдите свой закрытый ключ SSH. Нажмите Open, чтобы подключиться к серверу. Введите ec2-user в качестве имени пользователя и нажмите Enter. Теперь вы подключены к своему серверу через SSH. Туннелирование SSH (опционально) Если вы хотите использовать SSH для туннелирования вашего VPN-соединения, вот как это сделать: Откройте новое окно PuTTy и введите Public DNS в поле Host Name. В левой панели выберите SSH и Tunnels. В поле Source port введите 8080. В поле Destination введите localhost:8080. Нажмите Add. Теперь вы можете использовать SSH для туннелирования вашего VPN-соединения. Настройте OpenVPN на сервере и клиенте Вот как настроить OpenVPN на сервере и клиенте: Способ № 1: Настройка аутентификации PKI с помощью easy-rsa (рекомендуется) Настройка OpenVPN и easyrsa сервера: Установите OpenVPN на сервере. Введите следующие команды: sudo yum update sudo yum install openvpn easy-rsa cd /etc/openvpn/ sudo mkdir easy-rsa sudo cp -r /usr/share/easy-rsa/2.0/* easy-rsa/ sudo chown -R ec2-user:ec2-user easy-rsa/ cd easy-rsa/ Настройте переменные окружения, введя следующие команды: echo export EASY_RSA=”/etc/openvpn/easy-rsa/” >> ~/.bashrc source ~/.bashrc cd /etc/openvpn/easy-rsa/2.0/ Настройте переменные конфигурации, введя следующие команды: cp -r vars{,.orig} nano vars Настройте переменные конфигурации, введя следующие значения: export KEY_COUNTRY=”US” export KEY_PROVINCE=”CA” export KEY_CITY=”SanFrancisco” export KEY_ORG=”MyOrganization” export KEY_EMAIL=”[email protected]” export KEY_CN=server export KEY_NAME=server export KEY_OU=server Настройте easy-rsa, введя следующие команды: source vars ./clean-all ./build-ca ./build-key-server server ./build-dh Настройте OpenVPN, введя следующие команды: cd /usr/share/doc/openvpn-2.3.2/sample-config-files/ sudo cp server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf Настройте server.conf, введя следующие значения: port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/e

  2. : 1194, и источник в Мой IP. Нажмите Сохранить. Вернитесь на страницу запуска экземпляра и нажмите Запустить. Выберите свой ключ SSH, который вы создали ранее, и нажмите Запустить экземпляр. Ваш экземпляр запускается, и вы можете получить доступ к нему через SSH. Подключитесь к серверу с помощью PuTTy Если вы используете Windows, вам нужно будет использовать PuTTy для подключения к вашему серверу. Вот как это сделать: Скачайте и установите PuTTy и PuttyGen. Откройте PuttyGen и создайте новый ключ SSH. Сохраните закрытый ключ в безопасном месте, а открытый ключ скопируйте в буфер обмена. Вернитесь на страницу экземпляра EC2 и найдите Public DNS. Скопируйте его в буфер обмена. Откройте PuTTy и вставьте Public DNS в поле Host Name. В левой панели выберите SSH и Auth. Нажмите Browse и выберите закрытый ключ, который вы сохранили ранее. Нажмите Open. Вы должны увидеть окно терминала, где вы можете войти в свой экземпляр EC2. Туннелирование SSH (опционально) Если вы хотите использовать SSH Tunneling вместо OpenVPN, вот как это сделать: В PuTTy перейдите в раздел SSH и Tunnels. В поле Source port введите 8080. В поле Destination введите localhost:8080. Нажмите Add. Теперь вы можете использовать локальный порт 8080 для перенаправления вашего трафика через ваш экземпляр EC2. Настройте OpenVPN на сервере и клиенте Если вы хотите использовать OpenVPN, вот как это сделать: Способ № 1: Настройка аутентификации PKI с помощью easy-rsa (рекомендуется) Этот метод использует PKI (инфраструктуру открытых ключей) для аутентификации клиентов и серверов. Это более безопасный метод, чем статическое шифрование. Настройка OpenVPN и easyrsa сервера Войдите в свой экземпляр EC2 через SSH. Обновите пакеты и установите OpenVPN: sudo yum update -y sudo yum install openvpn -y Создайте каталог easy-rsa и скопируйте туда файлы конфигурации: sudo mkdir /etc/openvpn/easy-rsa/ sudo cp -r /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/ Перейдите в каталог easy-rsa и настройте переменные окружения: cd /etc/openvpn/easy-rsa/ sudo nano vars Настройте переменные в соответствии со своими потребностями. Сохраните и закройте файл. Инициализируйте PKI: sudo ./easyrsa init-pki Создайте корневой сертификат: sudo ./easyrsa build-ca Создайте серверный сертификат и ключ: sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server Создайте диффи-хеллманов параметр: sudo ./easyrsa gen-dh Создайте ключ шифрования: sudo openvpn –genkey –secret ta.key Настройка OpenVPN и easyrsa клиента Создайте клиентский сертификат и ключ: sudo ./easyrsa gen-req client nopass sudo ./easyrsa sign-req client client Создайте файл конфигурации клиента: sudo nano /etc/openvpn/client.conf Вставьте следующий текст в файл: client dev tun proto udp remote

  3. : 1194, и источник в Мой IP. Нажмите Сохранить. Вернитесь на страницу запуска экземпляра и нажмите Запустить. Выберите свой ключ SSH, который вы создали ранее, и нажмите Запустить экземпляр. Ваш экземпляр запускается, и вы можете получить доступ к нему через SSH. Подключитесь к серверу с помощью PuTTy Если вы используете Windows, вам нужно будет использовать PuTTy для подключения к вашему серверу. Вот как это сделать: Скачайте и установите PuTTy и PuttyGen. Откройте PuttyGen и создайте новый ключ SSH. Сохраните закрытый ключ в безопасном месте, а открытый ключ скопируйте в буфер обмена. Вернитесь на страницу экземпляра EC2 и найдите Public DNS. Скопируйте его в буфер обмена. Откройте PuTTy и вставьте Public DNS в поле Host Name. В разделе Connection -> SSH -> Auth выберите свой закрытый ключ. Нажмите Open. Вы должны увидеть окно терминала, где вы можете войти в свой экземпляр EC2. Туннелирование SSH (опционально) Если вы хотите использовать SSH Tunneling вместо OpenVPN, вот как это сделать: В PuTTy перейдите в раздел Connection -> SSH -> Tunnels. В поле Source port введите 8080. В поле Destination введите localhost:8080. Нажмите Add. Вернитесь на вкладку Session и сохраните настройки. Подключитесь к серверу, как обычно. Теперь вы можете настроить свой браузер на использование прокси-сервера localhost:8080. Настройте OpenVPN на сервере и клиенте Способ № 1: Настройка аутентификации PKI с помощью easy-rsa (рекомендуется) Этот метод использует аутентификацию PKI, которая является более безопасной и рекомендуется для использования. Настройка OpenVPN и easyrsa сервера Войдите в свой экземпляр EC2 через SSH. Установите OpenVPN и easy-rsa: sudo yum install openvpn easy-rsa. Создайте каталог easy-rsa: sudo mkdir /etc/openvpn/easy-rsa/. Копируйте файлы easy-rsa в каталог: sudo cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/. Перейдите в каталог easy-rsa: cd /etc/openvpn/easy-rsa/. Отредактируйте файл vars: sudo nano vars. Найдите и отредактируйте следующие строки: export KEY_COUNTRY=”US” export KEY_PROVINCE=”CA” export KEY_CITY=”SanFrancisco” export KEY_ORG=”MyOrganization” export KEY_EMAIL=”[email protected]”. Сохраните и закройте файл. Инициализируйте PKI: sudo ./easy-rsa clean-all sudo ./easy-rsa init-pki. Создайте сертификаты и ключи сервера: sudo ./easy-rsa build-ca sudo ./easy-rsa build-server-full server. Создайте диффи-хеллманов параметр: sudo ./easy-rsa gen-dh. Скопируйте файлы сервера в каталог OpenVPN: sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/. Скопируйте файлы диффи-хеллманов параметра: sudo cp /etc/openvpn/easy-rsa/pki/dh.pem /etc/openvpn/. Настройте

Comments are closed.