Amazon linux ami vpn

Настройка Virtual Private Network на AWS EC2 c OpenVPN на Linux

Amazon Web Service предоставляет возможность бесплатного запуска в течение тестового периода (12 месяцев) серверов Amazon EC2. Такой сервер может быть использован для VPN (англ. Virtual Private Network — виртуальная частная сеть). При использовании этой технологии удаленный сервер служит посредником между вашим компьютером и другими серверами в Интернет.

Это может быть полезно в случаях когда необходимо зайти на сайт в обход блокировок (для вашего провайдера вы связываетесь с вашим VPN сервером, а не с сайтом с которого вы фактически получаете данные), или, скажем, иметь постоянный IP с которого осуществляется доступ к определенным сервисам, или иметь IP связанный не с тем регионом в котором вы физически находитесь (сайт определяет заход с IP вашего сервера, а не с IP вашей рабочей машины).

Создание сервера на AWS EC2

Итак, для начала регистрируемся на https://aws.amazon.com, для регистрации потребуется работающая кредитная карта.

В правом верхнем углу нажимаем на меню «Services» и в разделе «Compute» выбираем «EC2».

Для доступа к будущему серверу нам потребуется создать ключ. Нажимаем «Key Pairs», далее кнопку «Create Key Paire», задаем имя для ключа, например «myVPNkey» и сохраняем этот файл (c расширением .pem) на свой компьютер, обычно в папку

Теперь переходим в папку в которой мы сохранили ключ и задаем права на доступ к файлу:

Также нужно будет сделать копию этого файла и сохранить в надежном месте.

Далее на сайте AWS возвращаемся в EC2 Dashboard (см. меню в в левом верхнем углу), и там нажимаем на большую синюю кнопку «Launch Instance»

Выбираем операционную систему для сервера: Ubuntu Server 14.04 LTS (HVM) 64-bit (именно 14.04, не 16.04)

Выбираем конфигурацию сервера. Для наших целей вполне достаточно конфигурации бесплатной на пробный период:
t2.micro (Variable ECUs, 1 vCPUs, 2.5 GHz, Intel Xeon Family, 1 GiB memory, EBS only) — будет отмечен зеленым ярлыком «Free tier eligible». Нажимаем синюю кнопку «Review and launch»

(Step 7: Review Instance Launch) в разделе Security Groups нажимаем «Edit security groups»

  • (Configure Security Group )Выбираем: Assign a security group: * Create a new security group
  • Выбираем имя в Security group name, например «myVPN». Далее мы видим правила определяющие доступ к серверу. По умолчанию есть одно правило:

    Type: SSH
    Protocol: TCP
    Port Range: 22
    Source: Custom 0.0.0.0/0

    В данном случае имеется в виду разрешено подключение к серверу с любого IP к порту 22 по протоколу SSH. Это стандартные настройки используемые для подключения ssh.

    Нажимаем кнопку «Add Rule», и добавляем новое правило:

    Type: All traffic
    Protocol: All
    Port Range: 0-65535
    Source: My IP

    в Source указываем IP вашей рабочей машины, если выбрать «My IP», он определится автоматически.

    Указание IP означает что в рамках этого правила доступ разрешен только с этого IP (его потом можно будет, естественно, менять, если вы будете заходить в Интернет под другим IP).

    Свой IP можно узнать/проверить задав в поиске Google «my ip». Или помощью специализированных сайтов. В консоли:

    Первое правило можно удалить (рекомендуется). Или прописать в нем также свой IP. Или оставить возможность подключения с любого IP и проигнорировать предупреждение «Rules with source of 0.0.0.0/0 allow all IP addresses to access your instance. We recommend setting security group rules to allow access from known IP addresses only».

    Снова жмем «Review and Launch», просматриваем информацию, и жмем «Launch» — у нас появиться окно в котором нужно выбрать ключ для доступа к серверу.

    Выбираем ключ который мы ранее создали (existing key par), отмечаем пункт «I acknowledge that I have access to the selected private key file (myVPNkey.pem), and that without this file, I won’t be able to log into my instance» и нажимаем «Launch Instances».

    Если все хорошо, получаем сообщение что сервер запущен. Нажимаем кнопку «View Instances» и переходим в консоль в которой увидим список наших серверов. Когда мы отмечаем сервер в списке мы можем просмотреть его информацию, в частности его IP, а также выполнить действия с сервером (остановить, запустить, удалить и т.п.) Нажатие кнопки «Connect» выведет информацию необходимую для подключения к серверу.

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

    Теперь из консоли мы можем подключиться с серверу используя ssh. Имя пользователя по умолчанию: ubuntu, для подключения мы можем использовать либо IP сервера либо его доменное имя вида: ec2-35-163-203-49.us-west-2.compute.amazonaws.com

    Вводим в консоли команду:

    при первом подключении нам нужно будет на вопрос: Are you sure you want to continue connecting (yes/no)? — набрать ответ «yes» (по умолчанию ответ «no», и если просто нажать Enter, получим сообщение «Host key verification failed.»

    При подключении также может выдаваться ошибка:

    /.ssh/myVPNkey.pem’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.»
    Этом случае нужно как было указано выше изменить права доступа к файлу

    Если подключение происходит благополучно, мы переходим в консоль сервера, о чем свидетельствует переключение командной строки на что-то вроде ubuntu@ip-172-31-21-156:

    Установка OpenVPN на сервере

    Теперь в консоли сервера, сначала (обязательно) обновляем программное обеспечение:

    Потом устанавливаем OpenVPN

    Настраиваем переадресацию (IP forwarding) (при выключении/перезапуске сервера это повторяем):

    Переходим в папку openvpn и создаем секретный ключ:

    Создаем файл конфигурации OpenVPN, назовем его openvpn.conf, для этого воспользуемся редактором nano работающим в консоли:

    В файл вставляем:

    Нажимаем CTRL+O и подтверждаем запись в файл, выходим из редактора — CTRL-X.

    Запускаем OpenVPN на сервере командой

    Останавливаем соответственно командой:

    Проверяем запущен ли у нас openvpn

    Установка и настройка OpenVPN на локальной машине

    Открываем еще одно окно консоли (терминала) на локальной машине. Устанавливаем OpenVPN на локальном компьютере:

    В консоли сервера временно меняем права доступа на файл ключа:

    В консоли локальной машины создадим папку для настроек OpenVPN:

    И скачаем туда с сервера ключ OpenVPN:

    На сервере вернем настройки доступа для файла ключа:

    Также и на локальной:

    На локальной машине создадим файл с настройками OpenVPN, назовем его openvpn.client.conf:

    Обратите внимание в настройке в настройке «secret» должен быть полный адрес файла ключа («ИмяПользователя» должно конечно быть таким как в вашей системе), remote указываем адрес сервера на Amazon вида 35.163.203.49 или ec2-35-163-203-49.us-west-2.compute.amazonaws.com
    Сохраняем файл openvpn.client.ovpn

    Теперь просто запускаем OpenVPN в консоли командой:


    и заходим на http://ipecho.net/plain — теперь он должен показать IP адрес нашего сервера на Amazon. Можно также попробовать зайти на сайт который недоступен в вашем регионе.

    UPD: Как правильно указали в комментариях, к этому стоит добавить AWS Elastic IP. Elastic IP — это IP адрес который резервируется пользователем, и может быть связан с серверами запускаемыми на AWS. На один сервер можно бесплатно добавить один Elastic IP, за зарезервированные Elastic IP не привязанные к определенному сервису взымается плата. Elastic IP можно быстро и удобно связывать и отсоединять от используемых сервисов на AWS.

    В консоли пользователя AWS EC2 в меню слева выбрать в группе NETWORK & SECURITY опцию Elastic IPs, в открывшемся окне можно создавать новые Elastic IP (кнопка «Allocate New Address»)

    Далее: в списке имеющихся Elastic IP выбрать адрес и с помощью меню «Actions» (серая кнопка) его можно привязать к серверу запущенному на AWS, или отсоединить от работающего сервиса.

    Читайте также:  После установки линукса не грузится виндовс

    Источник

    Как получить собственный бесплатный 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Перейти в 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, которая перенаправляет весь ваш интернет-трафик, читайте дальше.

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

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

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

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

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

    Читайте также:  Том хранения файлов 1с настройка windows

    Метод #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-скрипт, предоставленный Мэттом Дойлом. Начните с этой команды:

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

    Используйте 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. Выберите тот, который мы сделали выше, и продолжайте.

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

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

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

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

    8. Выделите шесть файлов, которые вам понадобятся: client.crt, client.key, ca.crt, dh.pem, pfs.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
    Читайте также:  X10 and mac os

    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

    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, если хотите поэкспериментировать с этим позже, но сначала убедитесь, что знаете, что делаете..

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

    • sudo service openvpn start

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

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

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

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

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

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

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

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

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

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

    Поздравляем, вы только что создали свой собственный 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 здесь.

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

    Для отправки комментария вам необходимо авторизоваться.

    Источник

    Оцените статью