Goldbless
Пассажир
- Сообщения
- 77
- Реакции
- 123
Есть много причин использовать VPN: от классической задачи объединения нескольких удаленных сегментов локальной сети в одну виртуальную частную сеть или повышения собственной приватности в сети до получения доступа к заблокированным ресурсам.
В этой статье я не буду рассматривать вопрос зачем вообще нужен VPN, а просто расскажу как буквально за 10-15 минут поднять приватный VPN-сервер в Нидерландах с минимальными денежными затратами.
• VPS в одном из европейских дата-центров. Из характеристик смотрим только на доступную ширину канала (желательно, чтобы она была не меньше скорости вашего домашнего интернета) и стоимость аренды в месяц. Количество ядер, объем оперативной памяти, емкость дискового хранилища и его производительность — все эти параметры VPS важны для веб-сервера, но совершенно не существенны для организации VPN-сервиса. Нам нужен только европейский IP-адрес, нормальная ширина интернет-канала и низкая стоимость аренды.
• Минимальные навыки работы в консоли по SSH. Думаю, что для читателей моего блога это не составит проблемы, но если что — отсылаю к своей старой статье про удаленный доступ по SSH на примере Raspberry Pi, самые азы изложены в ней.
Наш приватный VPN-сервер будет поддерживать соединения по протоколам IPSec, L2TP over IPSec и IKEv2.
Потому что IPSec и IKEv2 поддерживаются всеми современными устройствами на уровне системы, обладают достаточно высокой производительностью, просты в настройке и не требуют установки никакого дополнительного ПО. В то время как OpenVPN, WireGuard и Outline требуют установки дополнительных приложений на клиентские устройства.
Меня всегда привлекали простые, минималистичные и самодостаточные решения, поэтому мне не по душе перспектива устанавливать отдельные приложения для подключения к своей же виртуальной частной сети. И я не вижу какие преимущества в сравнении с IKEv2 дало бы использование WireGuard или Outline VPN обычному домашнему пользователю.
•
•
Свой выбор я остановил именно на
Итак, регистрируемся на сайте
Промо-тариф доступен в только при создании виртуального сервера в локации «Нидерланды»:
• VPS в одном из европейских дата-центров. Из характеристик смотрим только на доступную ширину канала (желательно, чтобы она была не меньше скорости вашего домашнего интернета) и стоимость аренды в месяц. Количество ядер, объем оперативной памяти, емкость дискового хранилища и его производительность — все эти параметры VPS важны для веб-сервера, но совершенно не существенны для организации VPN-сервиса. Нам нужен только европейский IP-адрес, нормальная ширина интернет-канала и низкая стоимость аренды.
• Минимальные навыки работы в консоли по SSH. Думаю, что для читателей моего блога это не составит проблемы, но если что — отсылаю к своей старой статье про удаленный доступ по SSH на примере Raspberry Pi, самые азы изложены в ней.
Наш приватный VPN-сервер будет поддерживать соединения по протоколам IPSec, L2TP over IPSec и IKEv2.
Потому что IPSec и IKEv2 поддерживаются всеми современными устройствами на уровне системы, обладают достаточно высокой производительностью, просты в настройке и не требуют установки никакого дополнительного ПО. В то время как OpenVPN, WireGuard и Outline требуют установки дополнительных приложений на клиентские устройства.
Меня всегда привлекали простые, минималистичные и самодостаточные решения, поэтому мне не по душе перспектива устанавливать отдельные приложения для подключения к своей же виртуальной частной сети. И я не вижу какие преимущества в сравнении с IKEv2 дало бы использование WireGuard или Outline VPN обычному домашнему пользователю.
•
•
Свой выбор я остановил именно на
Итак, регистрируемся на сайте
Промо-тариф доступен в только при создании виртуального сервера в локации «Нидерланды»:
Посмотреть вложение 560702
Выбираем имя сервера и операционную систему. Я выбрал Ubuntu 22.04 как наиболее знакомую.
После оплаты на хостинге начнет создаваться VPS, это займет несколько минут:
Посмотреть вложение 560704
После завершения процесса установки в панели хостинга появится IP-адрес сервера и данные для доступа:
Посмотреть вложение 560705
Посмотреть вложение 560706Сразу же обновляем все пакеты:
sudo apt update
sudo apt dist-upgrade
Скачиваем скрипт для развертывания VPN-сервера:
wget
Открываем скачанный файл для редактирования:
sudo nano vpnsetup.sh
И вписываем в строку YOUR_IPSEC_PSK пароль из 20 символов, а в строки YOUR_USERNAME и YOUR_PASSWORD свой логин и пароль для VPN-соединения соответственно:
И запускаем процесс установки:
sudo sh vpnsetup.sh
Ждем окончания процесса и обращаем внимание на пути к файлам конфигурации:
Эти файлы потребуются для настройки VPN-туннеля по протоколу IKEv2, который мы и будем рассматривать далее в статье. Если же IKEv2 вам по какой-то причине не подходит, то в качестве альтернативы вы можете поднять VPN-соединение по протоколу IPSec, воспользовавшись теми данными для доступа, которые прописали ранее в скрипте vpnsetup.sh.
На этом процесс установки завершен, но поскольку наш VPS доступен извне всему интернету, в целях безопасности добавим в файрвол ufw правила, ограничивающие доступ ко всем портам кроме тех, которые планируем использовать:
sudo ufw allow ssh
sudo ufw allow OpenSSH
sudo ufw allow 500,4500/udp
sudo ufw allow 8181
sudo ufw enable
На этом установка VPN-сервера завершена. Я не преувеличивал, когда писал в заголовке статьи о том, что она займет 10 минут.
Среди стандартных пакетов Python есть http-сервер, позволяющий получить доступ к любой нужной папке на устройстве в веб-интерфейсе. Воспользуемся им:
python3 -m http.server 8181
И обратимся в браузере к нашему VPS по IP-адресу на 8181 порт:
При этом откроется листинг домашней директории пользователя root:
Для настройки подключения необходимо скачать файл vpnclient.p12 (для Windows или Linux), vpnclient.sswan (для устройств на Android) или vpnclient.mobileconfig (для iOS или macOS).
После скачивания не забудьте выключить веб-сервер, прервав выполнение команды в терминале комбинацией клавиш Ctrl + C
После настройки соединения можно зайти на сервис проверки IP-адресов и убедиться, что трафик действительно идет через VPN, в качестве IP-адреса отображается адрес VPS, а в качестве локации — Нидерланды:
Также у нас остается полный доступ к VPS, который можно использовать для каких-то других задач или экспериментов. Ведь даже слабая конфигурация виртуального сервера позволяет разместить на нем какие-то скрипты и иметь доступ к ним из интернета.
В этой статье я не буду рассматривать вопрос зачем вообще нужен VPN, а просто расскажу как буквально за 10-15 минут поднять приватный VPN-сервер в Нидерландах с минимальными денежными затратами.
Что нам понадобится
Для создания VPN-сервера нам потребуется:• VPS в одном из европейских дата-центров. Из характеристик смотрим только на доступную ширину канала (желательно, чтобы она была не меньше скорости вашего домашнего интернета) и стоимость аренды в месяц. Количество ядер, объем оперативной памяти, емкость дискового хранилища и его производительность — все эти параметры VPS важны для веб-сервера, но совершенно не существенны для организации VPN-сервиса. Нам нужен только европейский IP-адрес, нормальная ширина интернет-канала и низкая стоимость аренды.
• Минимальные навыки работы в консоли по SSH. Думаю, что для читателей моего блога это не составит проблемы, но если что — отсылаю к своей старой статье про удаленный доступ по SSH на примере Raspberry Pi, самые азы изложены в ней.
Наш приватный VPN-сервер будет поддерживать соединения по протоколам IPSec, L2TP over IPSec и IKEv2.
Почему не публичный VPN-сервис?
У публичных VPN есть несколько недостатков:- Роскомнадзор с переменным успехом ведет с ними борьбу. Например, популярный сервис Cloudflare WARP с некоторых пор перестал работать в России, а возможность использования Opera VPN в России и Беларуси год назад ограничили сами разработчики после получения предупреждений о блокировке сервиса со стороны сотрудников ведомства.
- Публичные VPN-сервисы собирают о вас информацию. Несмотря на то, что каждый VPN указывает приватность и конфиденциальность в качестве своих достоинств, было бы очень наивно предполагать, что они не ведут логи, не анализируют пользовательскую активность и не продают в дальнейшем эти данные третьим лицам.
- Публичные VPN-сервисы могут быть забанены на стороне отдельных сайтов. То же самое касается и exit-node сети Tor.
- Публичные VPN-сервисы могут резать скорость. А если речь идет о бесплатных тарифах, то скорость обязательно будет ограничиваться. Для веб-серфинга их использовать еще можно, но если, например, в будущем у нас заблокируют YouTube, то смотреть его через публичный VPN может оказаться уже проблематично.
Почему не OpenVPN / WireGuard / Outline VPN?
Почему я предлагаю делать VPN на базе протоколов IPSec и IKEv2, а не на OpenVPN и не на набирающих популярность WireGuard или Outline?Потому что IPSec и IKEv2 поддерживаются всеми современными устройствами на уровне системы, обладают достаточно высокой производительностью, просты в настройке и не требуют установки никакого дополнительного ПО. В то время как OpenVPN, WireGuard и Outline требуют установки дополнительных приложений на клиентские устройства.
Меня всегда привлекали простые, минималистичные и самодостаточные решения, поэтому мне не по душе перспектива устанавливать отдельные приложения для подключения к своей же виртуальной частной сети. И я не вижу какие преимущества в сравнении с IKEv2 дало бы использование WireGuard или Outline VPN обычному домашнему пользователю.
Аренда VPS в Европе
На момент написания этой статьи я нашел 2 хостинга, предоставляющих VPS в Нидерландах по умеренной цене:•
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с промо-тарифом AMS-PROMO (1 vCPU / 8GB RAM / 20GB NVMe) за 99 рублей в месяц.•
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с минимальным тарифом (1 vCPU / 1GB RAM / 30GB NVMe) за 198 рублей в месяцСвой выбор я остановил именно на
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с их тарифом за 99 рублей. Они гарантируют скорость не менее 100 Мбит/с (предельно возможная — 1 Гбит/с, но гигабитный линк у них делится на несколько виртуальных машин, так что в реальности скорость будет ниже), один выделенный IP-адрес и отсутствие лимитов по трафику.Итак, регистрируемся на сайте
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
и начинаем оформлять VPS.Промокод
По промокоду [ PROMKOD ] можно получить 200 рублей на бонусный баланс и воспользоваться ими при пополнении основного баланса не менее чем на 300 рублей. Но для начала достаточно оплатить минимальные 99 рублей за аренду VPS на месяц и потестировать его работу. Бонусами можно воспользоваться уже потом, если устроит качество услуг.Промо-тариф доступен в только при создании виртуального сервера в локации «Нидерланды»:
Что нам понадобится
Для создания VPN-сервера нам потребуется:• VPS в одном из европейских дата-центров. Из характеристик смотрим только на доступную ширину канала (желательно, чтобы она была не меньше скорости вашего домашнего интернета) и стоимость аренды в месяц. Количество ядер, объем оперативной памяти, емкость дискового хранилища и его производительность — все эти параметры VPS важны для веб-сервера, но совершенно не существенны для организации VPN-сервиса. Нам нужен только европейский IP-адрес, нормальная ширина интернет-канала и низкая стоимость аренды.
• Минимальные навыки работы в консоли по SSH. Думаю, что для читателей моего блога это не составит проблемы, но если что — отсылаю к своей старой статье про удаленный доступ по SSH на примере Raspberry Pi, самые азы изложены в ней.
Наш приватный VPN-сервер будет поддерживать соединения по протоколам IPSec, L2TP over IPSec и IKEv2.
Почему не публичный VPN-сервис?
У публичных VPN есть несколько недостатков:- Роскомнадзор с переменным успехом ведет с ними борьбу. Например, популярный сервис Cloudflare WARP с некоторых пор перестал работать в России, а возможность использования Opera VPN в России и Беларуси год назад ограничили сами разработчики после получения предупреждений о блокировке сервиса со стороны сотрудников ведомства.
- Публичные VPN-сервисы собирают о вас информацию. Несмотря на то, что каждый VPN указывает приватность и конфиденциальность в качестве своих достоинств, было бы очень наивно предполагать, что они не ведут логи, не анализируют пользовательскую активность и не продают в дальнейшем эти данные третьим лицам.
- Публичные VPN-сервисы могут быть забанены на стороне отдельных сайтов. То же самое касается и exit-node сети Tor.
- Публичные VPN-сервисы могут резать скорость. А если речь идет о бесплатных тарифах, то скорость обязательно будет ограничиваться. Для веб-серфинга их использовать еще можно, но если, например, в будущем у нас заблокируют YouTube, то смотреть его через публичный VPN может оказаться уже проблематично.
Почему не OpenVPN / WireGuard / Outline VPN?
Почему я предлагаю делать VPN на базе протоколов IPSec и IKEv2, а не на OpenVPN и не на набирающих популярность WireGuard или Outline?Потому что IPSec и IKEv2 поддерживаются всеми современными устройствами на уровне системы, обладают достаточно высокой производительностью, просты в настройке и не требуют установки никакого дополнительного ПО. В то время как OpenVPN, WireGuard и Outline требуют установки дополнительных приложений на клиентские устройства.
Меня всегда привлекали простые, минималистичные и самодостаточные решения, поэтому мне не по душе перспектива устанавливать отдельные приложения для подключения к своей же виртуальной частной сети. И я не вижу какие преимущества в сравнении с IKEv2 дало бы использование WireGuard или Outline VPN обычному домашнему пользователю.
Аренда VPS в Европе
На момент написания этой статьи я нашел 2 хостинга, предоставляющих VPS в Нидерландах по умеренной цене:•
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с промо-тарифом AMS-PROMO (1 vCPU / 8GB RAM / 20GB NVMe) за 99 рублей в месяц.•
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с минимальным тарифом (1 vCPU / 1GB RAM / 30GB NVMe) за 198 рублей в месяцСвой выбор я остановил именно на
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
с их тарифом за 99 рублей. Они гарантируют скорость не менее 100 Мбит/с (предельно возможная — 1 Гбит/с, но гигабитный линк у них делится на несколько виртуальных машин, так что в реальности скорость будет ниже), один выделенный IP-адрес и отсутствие лимитов по трафику.Итак, регистрируемся на сайте
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
и начинаем оформлять VPS.Промокод
По промокоду [ PROMKOD ] можно получить 200 рублей на бонусный баланс и воспользоваться ими при пополнении основного баланса не менее чем на 300 рублей. Но для начала достаточно оплатить минимальные 99 рублей за аренду VPS на месяц и потестировать его работу. Бонусами можно воспользоваться уже потом, если устроит качество услуг.Промо-тариф доступен в только при создании виртуального сервера в локации «Нидерланды»:
Посмотреть вложение 560702
Выбираем имя сервера и операционную систему. Я выбрал Ubuntu 22.04 как наиболее знакомую.
После оплаты на хостинге начнет создаваться VPS, это займет несколько минут:
Посмотреть вложение 560704
После завершения процесса установки в панели хостинга появится IP-адрес сервера и данные для доступа:
Посмотреть вложение 560705
Установка VPN-сервера
После завершения процесса создания VPS подключаемся к серверу по SSH, используя доступы из админ-панели хостинга:Посмотреть вложение 560706Сразу же обновляем все пакеты:
sudo apt update
sudo apt dist-upgrade
Скачиваем скрипт для развертывания VPN-сервера:
wget
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
-O vpnsetup.shОткрываем скачанный файл для редактирования:
sudo nano vpnsetup.sh
И вписываем в строку YOUR_IPSEC_PSK пароль из 20 символов, а в строки YOUR_USERNAME и YOUR_PASSWORD свой логин и пароль для VPN-соединения соответственно:
И запускаем процесс установки:
sudo sh vpnsetup.sh
Ждем окончания процесса и обращаем внимание на пути к файлам конфигурации:
Эти файлы потребуются для настройки VPN-туннеля по протоколу IKEv2, который мы и будем рассматривать далее в статье. Если же IKEv2 вам по какой-то причине не подходит, то в качестве альтернативы вы можете поднять VPN-соединение по протоколу IPSec, воспользовавшись теми данными для доступа, которые прописали ранее в скрипте vpnsetup.sh.
На этом процесс установки завершен, но поскольку наш VPS доступен извне всему интернету, в целях безопасности добавим в файрвол ufw правила, ограничивающие доступ ко всем портам кроме тех, которые планируем использовать:
sudo ufw allow ssh
sudo ufw allow OpenSSH
sudo ufw allow 500,4500/udp
sudo ufw allow 8181
sudo ufw enable
Это важно
Не запускайте ufw до добавления правил, разрешающих доступ по SSH на 22 порт, иначе сразу после запуска файрвол разорвет действующее SSH-соединение и будет блокировать все последующие.На этом установка VPN-сервера завершена. Я не преувеличивал, когда писал в заголовке статьи о том, что она займет 10 минут.
Настройка подключений
Теперь осталось настроить подключения к нашему VPN-серверу на своих устройствах.Среди стандартных пакетов Python есть http-сервер, позволяющий получить доступ к любой нужной папке на устройстве в веб-интерфейсе. Воспользуемся им:
python3 -m http.server 8181
И обратимся в браузере к нашему VPS по IP-адресу на 8181 порт:
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
При этом откроется листинг домашней директории пользователя root:
Для настройки подключения необходимо скачать файл vpnclient.p12 (для Windows или Linux), vpnclient.sswan (для устройств на Android) или vpnclient.mobileconfig (для iOS или macOS).
После скачивания не забудьте выключить веб-сервер, прервав выполнение команды в терминале комбинацией клавиш Ctrl + C
В macOS
- Скачиваем и запускаем файл vpnclient.mobileconfig
- Переходим в «Системные настройки» → «Профили»
- Нажимаем «Установить…» возле отобразившегося в списке сертификата
- Переходим в «Системные настройки» → «Сеть», выбираем подключение c IP-адресом нашего VPS в левом меню и нажимаем «Подключить»
- Опционально можно поставить галочку «Подключать по запросу», тогда VPN будет активироваться автоматически при каждом подключении к интернету
В Windows
- Скачиваем и запускаем файл vpnclient.p12
- Скачиваем скрипт
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.в ту же папку, в которой находится vpnclient.p12
- Запускаем скрипт ikev2_config_import.cmd от имени администратора
- В открывшемся диалоге оставляем имя VPN-клиента по умолчанию, указываем IP-адрес сервера, выбираем предпочитаемое имя VPN-подключения и нажимаем любую кнопку для выхода из диалога.
- Подключаемся к своему VPN-серверу на вкладке управления сетевыми подключениями
В iOS и iPadOS
- Скачиваем файл vpnclient.mobileconfig
- Отвечаем «Разрешить» на вопрос «Веб-сайт пытается загрузить профиль конфигурации. Разрешить?»
- Переходим в «Настройки», выбираем на новый пункт «Профиль загружен» и нажимаем «Установить»
- Переходим в «Настройки» → «VPN», выбираем подключение c IP-адресом нашего VPS и нажимаем на переключатель подключения
- Опционально можно поставить галочку «Подключать по запросу», тогда VPN будет активироваться автоматически при каждом подключении к интернету
После настройки соединения можно зайти на сервис проверки IP-адресов и убедиться, что трафик действительно идет через VPN, в качестве IP-адреса отображается адрес VPS, а в качестве локации — Нидерланды:
Заключение
Вот так всего за 99 рублей в месяц мы получаем собственный приватный VPN в Европе, который обеспечивает возможность веб-серфинга на высокой скорости без ограничений по трафику и над которым не висит перспектива блокировки Роскомнадзором.Также у нас остается полный доступ к VPS, который можно использовать для каких-то других задач или экспериментов. Ведь даже слабая конфигурация виртуального сервера позволяет разместить на нем какие-то скрипты и иметь доступ к ним из интернета.