Интернет-пользователи избалованы выбором, когда дело доходит до услуг 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:
- Войдите в свою учетную запись Amazon Web Service и перейдите на панель инструментов EC2..
- Справа вверху вы можете выбрать место, где мы будем настраивать ваш VPN. Нажмите Launch Instance.
- Выберите любой AMI для Linux, который указан в качестве «бесплатного уровня». На момент написания этой статьи это был Amazon Linux AMI. Перейти к следующему шагу.
- Здесь выберите экземпляр t2.micro, который также подходит для бесплатного уровня. Нажмите «Просмотр и запуск».
- На следующей странице нажмите Изменить группы безопасности.
- Вам нужно будет отредактировать группу безопасности, чтобы трафик с вашего компьютера разрешал только доступ к VPN или прокси. У вас должно быть одно правило для подключения к вашему серверу через SSH, которое мы будем использовать позже. Нам нужно добавить еще одно, чтобы разрешить соединения OpenVPN, которые по умолчанию используют порт 1194. Для простоты, под прибывающий нажмите вкладку Добавить правило кнопка. Установить Тип в Пользовательский UDP, Диапазон портов в +1194, и источник для Куда угодно.
- Хит Сохранить.
- Нажмите «просмотреть и запустить», затем «запустить» на следующей странице.
- Теперь вам нужно создать пару ключей, которая работает как пароль, который вы будете использовать для подключения к виртуальному серверу, который вы создаете. Выберите «создать новую пару ключей» из выпадающего меню и назовите его как хотите. Нажмите кнопку, чтобы загрузить пару ключей. Храните его в безопасном месте.
- Следующая страница должна предупредить вас, что экземпляр запускается. Прокрутите вниз и нажмите «Просмотр экземпляров». Здесь вы увидите список всех запущенных вами экземпляров, которые, если вы впервые используете EC2, будут просто.
Подключитесь к серверу с помощью PuTTy
Мы можем подключиться к нашему экземпляру EC2 с помощью PuTTy, но сначала нам потребуется соответствующий файл ключа для подключения. Когда вы установили PuTTy, вы должны были также установить PuTTygen. Идите и запустите его сейчас. PuTTy и PuTTygen работают сразу из коробки как файлы .exe без необходимости установки.
- Откройте PuTTygen, нажмите Загрузить.
- Перейдите к загруженному ранее файлу пары ключей .pem и загрузите его в Puttygen. Вам нужно выбрать опцию, чтобы показать все типы файлов, чтобы ключ .pem отображался. Нажмите «Сохранить закрытый ключ». Имя файла должно совпадать с ключом .pem. Вы можете создать фразу-пароль для закрытого ключа, если хотите.
- Теперь закройте PuTTygen и откройте PuTTy. Скопируйте публичный IP-адрес вашего экземпляра с консоли EC2 в PuTTy. Введите имя для вашей сессии и нажмите Сохранить.
- На левой панели перейдите к «Auth» под SSH. Нажмите кнопку обзора внизу и перейдите к только что сгенерированному секретному ключу..
- Вернитесь на главную страницу сеанса, назовите и сохраните свой профиль сеанса, чтобы вы могли быстро подключиться при следующем использовании PuTTy. Затем нажмите Открыть.
- Появится приглашение с запросом имени пользователя. Это зависит от типа сервера, который вы настроили в начале. Для Amazon Linux AMI это «пользователь ec2».
Туннелирование SSH (опционально)
Для начала, мы просто собираемся перенаправить веб-трафик через экземпляр, который мы создали, используя SSH-туннелирование и прокси. Это быстрый и грязный способ обойти брандмауэр или географический локаут. Это не совсем VPN – он лучше подходит для легкого веб-трафика и не будет работать со всем – но его гораздо проще настроить. тем не мение, настройка SSH туннелирования не является обязательной, так что не стесняйтесь перейти к следующему разделу.
Откройте PuTTy и перейдите к Туннелям в левой боли. Добавьте порт 8080, выбрав Авто и Динамический. Вернитесь на страницу сеанса и снова нажмите «Сохранить», чтобы вам не пришлось делать все это снова. Затем нажмите Открыть.
Теперь вы подключены к своему серверу, но вам все равно нужно маршрутизировать трафик вашего веб-браузера через него. Если вы используете 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, который перенаправляет весь ваш интернет-трафик, читайте дальше.
Настройте OpenVPN на сервере и клиенте
OpenVPN – это бесплатный инструмент с открытым исходным кодом, который позволит вам запустить полноценную VPN через ваш экземпляр Amazon EC2. Это означает, что весь ваш интернет-трафик проходит через него, а не только трафик вашего веб-браузера, как прокси выше. Настольные программы, такие как Steam или Spotify, лучше работают с таким подходом.
Подключитесь к вашему экземпляру 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 для максимальной безопасности. Однако это может быть довольно утомительным, поэтому мы просто сгенерируем на сервере учетные данные клиента и сервера, а затем переместим файлы туда, где они нам нужны..
- Easy-rsa недоступна в списке пакетов yum по умолчанию, поэтому нам нужно включить репозиторий EPEL для его установки. Введите следующее в терминал PuTTy и нажмите Enter:
- sudo yum install easy-rsa -y –enablerepo = epel
- Создайте каталог 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/*
- sudo mkdir / etc / openvpn / easy-rsa
- Теперь мы готовы настроить наш центр сертификации. Начните с инициализации нового каталога PKI (инфраструктуры открытых ключей), затем создайте пару ключей центра сертификации..
- судо ./easyrsa init-pki
sudo ./easyrsa build-ca
- судо ./easyrsa init-pki
- Введите пароль PEM. Это не обязательно, но рекомендуется. Если кто-то завладеет вашим центром сертификации, он не сможет создавать ключи или подписывать сертификаты без пароля..
- Вам будет предложено ввести общее имя. Называй как хочешь или просто нажми Войти оставить его как значение по умолчанию.
- Далее мы сгенерируем ключ Диффи-Хеллмана, который обеспечивает идеальную секретность:
- sudo ./easyrsa gen-dh
- Эта команда может занять некоторое время. Это сгенерирует файл с именем dh.pem. После завершения мы переходим к учетным данным сервера. Для удобства, мы не будем их защищать паролем, но вы обязательно сделаете это, если хотите еще более надежную защиту.
- sudo ./easyrsa gen-req сервер nopass
- Хит Войти оставить общее имя как сервер. После создания пары ключей подпишите сертификат:
- sudo ./easyrsa sign-req сервер сервер
- Тип да подтвердить и ввести свой пароль CA, если вы установили его ранее.
- Теперь мы настроим клиента. Опять же, мы не будем устанавливать пароль для этого, но вы можете. Обратите внимание, что если вы хотите настроить автоматический запуск VPN, лучше не устанавливать пароль.
- ./ easyrsa gen-req клиент nopass
- Хит Войти оставить общее имя как клиент. Теперь подпишите это:
- sudo ./easyrsa sign-req клиент-клиент
- Тип да чтобы подтвердить и ввести свой пароль CA, если вы его установите.
- Затем мы сгенерируем ключ TLS для идеальной секретности пересылки в OpenVPN, которая гарантирует, что данные прошедшего сеанса не могут быть расшифрованы, даже если злоумышленник завладеет нашим закрытым ключом.
- cd / etc / openvpn
openvpn –genkey –secret pfs.key
- cd / etc / openvpn
- Теперь мы сгенерировали все необходимые нам учетные файлы. Далее мы создадим файл конфигурации сервера OpenVPN. У нас уже есть один экземпляр для вас ниже, поэтому все, что вам нужно сделать, это скопировать и вставить, если вы следовали с самого начала. Начните с перехода в каталог OpenVPN и создания нового файла:
- cd / etc / openvpn
sudo nano server.conf
- cd / etc / openvpn
- Теперь вы находитесь в текстовом редакторе 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
- порт 1194
- Сервер теперь настроен. Нам просто нужно запустить 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, нам сначала нужно изменить разрешения для этих файлов, чтобы мы могли получить к ним доступ. Мы также разместим их все в одном месте, чтобы было проще.
- Чтобы получить доступ к некоторым из этих файлов, нам нужно быть пользователем root. Для этого введите:
- судо су
- Это сделает вас пользователем 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 *
- cd / etc / openvpn
- Чтобы получить файлы с нашего сервера и на наш компьютер, мы будем использовать бесплатную программу WinSCP. Просто используйте параметры установки по умолчанию. Как только это будет сделано, должно появиться окно с предложением импортировать данные аутентификации вашего сервера из PuTTy. Выберите тот, который мы сделали выше, и продолжайте.
- Выберите myvpn (или то, что вы назвали своим) и нажмите кнопку «Изменить». Печатать ec2 пользователь под именем пользователя. Нажмите на Логин.
- Если вы не впервые используете WinSCP, вы можете установить .ppk файл, который вы использовали в PuTTy, нажав редактировать и продвинутый. Перейти к SSH > Аутентификация > Файл закрытого ключа и перейдите к вашему файлу PPK.
- В поле имени хоста на главной странице вы можете ввести либо IP-адрес, либо домен вашего экземпляра EC2. Обязательно сохраните настройки, затем нажмите Авторизоваться.
- На правой панели перейдите в каталог, содержащий ваши ключевые файлы, в этом случае / и т.д. / OpenVPN / ключи
- Выделите шесть файлов, которые вам понадобятся: client.crt, client.key, ca.crt, dh.pem, pfs.key, и ca.key (не отображается из-за обновления статьи). Хит зеленый Скачать кнопка. На самом деле не имеет значения, куда они попадают на левую панель, если вам не нужны права администратора для доступа к ней. Для простоты мы помещаем файлы на наш рабочий стол. Тем не менее, вы хотите хранить файл ca.key в безопасном месте, например на USB-накопителе..
- Последний свободный конец, который нам нужно сделать – это удаление файла ca.key с сервера. CA или центр сертификации используется для подписи клиентских сертификатов, и, если он когда-либо скомпрометирован, вы никогда не сможете снова доверять сертификатам, выпущенным этим CA. Хотя это не является необходимым для работы VPN, мы настоятельно рекомендуем сделать это, особенно если вы не установили пароль для CA. Прежде чем удалять файл, убедитесь, что у вас есть все ключи и сертификаты для каждого устройства, к которому вы хотите подключиться. Если вы хотите добавить больше позже, вам придется переместить файл ca.key обратно на сервер.
- После того как ключ CA надежно сохранен где-то, кроме сервера, перейдите в PuTTy и удалите как исходный файл ca.key, так и копию, которую мы сделали с сервера:
- sudo rm /etc/openvpn/easy-rsa/pki/private/ca.key
sudo rm /etc/openvpn/keys/ca.key
- sudo rm /etc/openvpn/easy-rsa/pki/private/ca.key
- После того, как файлы загружены, нам нужно восстановить более строгие разрешения на сервере, чтобы не каждый мог получить к ним доступ. Вернуться в PuTTy:
- cd / etc / openvpn / keys
sudo chmod 600 *
- cd / etc / openvpn / keys
- На вашем ПК вырежьте и вставьте эти пять файлов из той папки, где вы их загрузили, в папку конфигурации OpenVPN. В этом случае это C: // Program Files // OpenVPN // config.
- Наконец, нам нужно создать файл конфигурации клиента. Откройте ваш любимый текстовый редактор (Блокнот работает отлично), щелкнув правой кнопкой мыши и выбрав Запустить от имени администратора и вставьте следующую конфигурацию, заменив 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
- клиент
- Это файл конфигурации Windows для графического интерфейса OpenVPN, поэтому мы сохраним его как client.ovpn. Вместо этого другие клиенты OpenVPN могут использовать расширение .conf. В любом случае, убедитесь, что ваш текстовый редактор не добавляет расширение .txt после сохранения. Сохраните его в том же месте, где находятся ваш ключ и файлы сертификации: C: \\ Program Files \\ OpenVPN \\ config
- Теперь запустите OpenVPN GUI в режиме администратора, щелкнув правой кнопкой мыши и выбрав Запустить от имени администратора. Щелкните правой кнопкой мыши значок на панели задач и подключитесь к клиент Конфигурация мы только что настроили. Экран состояния с множеством текста будет мигать по всему экрану, а затем значок станет зеленым.
Поздравляем! Теперь вы подключены к своему домашнему VPN.
Метод № 2: Статическое шифрование (проще, но не рекомендуется)
В этом методе мы создадим общий ключ для аутентификации. Это что-то вроде файла, который действует как пароль. Это проще в настройке, но позволяет одновременно подключаться к VPN только одному устройству и является менее безопасным, чем метод easy-rsa, описанный выше..
- В PuTTy Введите следующие команды и нажмите Enter:
- cd / etc / openvpn
sudo openvpn –genkey –secret ovpn.key
- cd / etc / openvpn
- Теперь мы собираемся создать файл конфигурации сервера для нашего VPN. Введите следующую команду, чтобы создать пустой текстовый файл в самом простом текстовом редакторе внутри терминала:
- sudo nano openvpn.conf
- Введите следующую конфигурацию. Вы можете найти больше вариантов на веб-сайте OpenVPN, если хотите поэкспериментировать с этим позже, но сначала убедитесь, что знаете, что делаете..
- порт 1194
прото tcp-сервер dev tun1
ifconfig 10.4.0.1 10.4.0.2
статус server-tcp.log
глагол 3
секретный ovpn.key
- порт 1194
- Теперь нажмите CTRL + O (это буква «O», а не ноль) и нажмите Enter, чтобы сохранить файл. Затем нажмите CTRL + X, чтобы выйти из текстового редактора. Вернувшись в командную строку, пора запустить OpenVPN:
- sudo service openvpn start
- Далее нам нужно получить общий ключ с сервера на ваш локальный компьютер. Сначала нам нужно изменить разрешения для этого файла, чтобы мы могли получить к нему доступ с помощью следующей команды:
- sudo chmod 777 ovpn.key
- Если в какой-то момент вы случайно закрыли PuTTy или он просто вышел из строя, вы можете вернуться к открытому каталогу установки VPN после повторного подключения с помощью этой команды:
- cd / etc / openvpn
- Чтобы сделать это как можно проще, загрузите и установите это бесплатное приложение WinSCP (пользователям Mac придется искать другой FTP-клиент. Не волнуйтесь, их много). Просто используйте параметры установки по умолчанию. Как только это будет сделано, должно появиться окно с предложением импортировать данные аутентификации вашего сервера из PuTTy. Выберите тот, который мы сделали выше, и продолжайте.
- Выберите myvpn (или то, что вы назвали своим) и нажмите кнопку «Изменить». Введите «ec2-user» под именем пользователя. Нажмите на Логин.
- Теперь вы можете перемещать файлы между вашим сервером экземпляров EC2 и вашим локальным компьютером. На правой панели перейдите как можно дальше вверх, затем перейдите в etc / openvpn. Здесь вы найдете файл ovpn.key, который нам нужен. Нажмите и перетащите его в папку по вашему выбору, но помните, куда вы его положили, так как мы захотим переместить его позже.
- Теперь, когда у вас есть ключ, нам нужно повторно применить старые разрешения, чтобы не каждый мог его получить. Вернувшись в свой терминал PuTTy, введите:
- судо чмод 600 овпн.кей
- Пришло время загрузить клиент OpenVPN и графический интерфейс для вашего локального компьютера. Перейдите на страницу загрузок OpenVPN и выберите подходящую версию для вашей операционной системы. Установите его с настройками по умолчанию.
- Запустите OpenVPN, и он должен появиться в виде значка на панели задач. Откройте проводник и перейдите туда, где вы установили OpenVPN, возможно, в папке Program Files. Переместите файл opvn.key, который мы скачали с сервера, в папку config, найденную здесь (C: / Program Files / OpenVPN / config…, если вы использовали каталог установки по умолчанию в Windows).
- Далее нам нужно создать файл конфигурации для локальной машины, чтобы он соответствовал тому, который мы сделали на нашем сервере. Откройте Блокнот и вставьте следующее, заменив 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
- прото tcp-клиент
- Сохраните его как myconfig.ovpn (убедитесь, что ваш текстовый редактор не добавляет его как myconfig.ovpn.txt по ошибке) в папке config вашей установки OpenVPN, там же, где и ваш файл opvn.key.
- Щелкните правой кнопкой мыши значок OpenVPN на панели задач и нажмите «Выход», чтобы выйти. Теперь запустите его снова – либо с ярлыка на рабочем столе, либо из папки Program Files – но на этот раз используйте правую кнопку мыши и нажмите «Запуск от имени администратора». Если вы не запускаете OpenVPN в качестве администратора в Windows, он, вероятно, не будет работать.
- Щелкните правой кнопкой мыши значок на панели задач и выберите «Подключить». Должен появиться графический интерфейс OpenVPN, показывающий состояние соединения. Предполагая, что это сработало, значок на панели задач станет зеленым. Перейдите в Google и введите «Какой у меня IP?», И он должен вернуть IP-адрес вашего инстанса Amazon EC2..
Поздравляем, вы только что сделали свой собственный 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 здесь..
Особая благодарность блогу доктора Уотсона, на который я опирался как ресурс при написании этой статьи.
Джон Уотсон (я думаю, никакого отношения) не участвовал в этой статье.
: 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
: 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
: 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/. Настройте