Классический форум-трекер
canvas not supported
Нас вместе: 4 151 108

OpenVPN за 4$ в год + MikroTik и маркировка трафика. Сложный способ.


Страницы:   Пред.  1, 2 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Обход блокировок
Автор Сообщение
vvmvv ®
Стаж: 8 лет 9 мес.
Сообщений: 115
Ratio: 5.391
2.33%
!!! Сразу предупреждаю, способ не из лёгких. Для продвинутых пользователей. !!!

Хотя, всё относительно.

Данное решение позволяет использовать VPN (OpenVPN) только для указанных адресов.

Итак, у меня это связка OpenVPN + Mikrotik. Почему так? Потому-что мне не нужно проксировать ВЕСЬ трафик. Мне нужно заходить на заблокированные сайты и качать с заблокированных трекеров. И не только с компьютера, но и с остальных устройств. Например, у меня есть медиапроигрываетль на CoreELEC (Kodi) с плагином Elementum и я могу смотреть фильмы на телевизоре с торрентов, не дожидаясь их загрузки. Для этого мне нужно, чтобы к трекерам был доступ, а не заглушка от провайдера.

4$ в год за vpn. 250 Гб трафика в месяц. Для наших нужд этого более, чем достаточно.
В чём плюс данного решения? Помимо стоимости, какая-никакая приватность и контроль.

Подойдёт роутер Mikrotik даже за 20$. Собственно, можно и не микротик. Роутер должен уметь помечать трафик и работать с OpenVPN (кхе-кхе, сам микротик это умеет не очень хорошо).
Страшно звучит? Наверное, да. Можно ли обойтись без вот этого всего - помечать трафик, какой-то там микротик и т.д.? Можно. Но это менее удобно.

1. Арендуем сервер

Проходим по ссылке:
https://hosting.gullo.me/order/config/index/nat-ipv4-vps-fin/?group_id=21&pricing_id=248&coupon=LEB-NAT-256MB

В поле Hostname пишем имя будущего хоста. Выглядеть оно должно как myhost.mydomain.com. Например: moyvpn.vps.com
Template: CentoOS 7 Minimal
Больше ничего не трогаем.
Оплачиваем 4$.
Заполняем форму с контактами и паролем. Полагаю, излишне предупреждать о том, что пароли забывать не надо. Поэтому, для их хранения и генерации нужно пользоваться соответствующими программами. Например, KeePass.

После оплаты и регистрации, подождите несколько минут. Вам придут письма от Gullo's Hosting.

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

Заходите на https://solusvm.gullo.me. Логин и пароль берёте из письма (Username и Password). Адрес тоже берёте оттуда. Строчка NAT IPv4 Address.

В панели внизу во вкладке Settings устанавливаете TUN/TAP в положение On. Если этого не сделать, не получится поднять туннель.

2.1. Теперь нужно подключиться к серверу по протоколу SSH. Проще всего скачать Putty (https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe) и работать в ней.

2.2. Заходим на страницу https://hosting.gullo.me/plugin/support_manager/knowledgebase/view/23/nat-ipv4-port-calculator/4/ и узнаём внешний адрес и порт для подключения. Помните строчку NAT IPv4 Address? Вот этот адрес вида 10.X.X.X нужно вставить в поле IP. Не закрывайте окно. Оно нам ещё пригодится.

2.3. Запускаем Putty. В строке Host Name пишем External IP, который копируем со страницы, открытой на шаге 2.2. В поле Port вставляем номер порта (SSH Port на той же странице из шага 2.2.).

Если всё правильно, то вам предложат ввести имя пользователя. (login as)
Имя пользователя root, пароль берём из письма (Root Password).

2.4. Дальше обновляем систему. Для этого пишем команду:
Код: выделить все
yum update -y && reboot


Ждём окончания обновления.
После обновления, сервер перезагрузится.

Закрываем Putty. Через 10 секунд повторяем пункт 2.3.

3. Установка OpenVPN

3.1. Устанавливать будем с помощью скрипта, чтобы не пришлось самим генерировать ключи и сертификаты и т.д.

Код: выделить все
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh


Скрипт запустится и станет задавать вопросы.

3.2. Public IPv4 address/hostname - тут просто жмём Enter.

3.3. Protocol - TCP
*** если собираетесь пользоваться только официальным клиентом, без использования микротика, то оставляйте тут UDP ***

3.4. Port - номер порта выбираем из предоставляемого нам диапазона Port Range (пункт 2.2., выбираем любой)

3.5. DNS - OpenDNS

3.6. Client name - любое латиницей. Например, mikrotik.

Установка завершена. Начнём настройку.
*** если собираетесь пользоваться только официальным клиентом, без использования микротика, то переходите сразу к пятому пункту. ***

4. Настройка OpenVPN

4.1. Устанавливаем файловый менеджер mc ради редактора mcedit. Мне он привычней, а вам легче, чем nano или vi.

Код: выделить все
yum install mc -y


4.2. Теперь нужно немного поправить конфиг. Можно это было бы сделать и через WinSCP, но нам всё равно нужно будет перезапускать openvpn из консоли, поэтому работаем в Putty и дальше.

Код: выделить все
mcedit /etc/openvpn/server/server.conf


и приводим файл к такому виду (вместо иксов у вас будут ваш адрес и порт - параметры local и port. Менять их не надо:

Код: выделить все
local 10.X.X.X
port XXXXX
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 ipv6 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
auth SHA1
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem


4.3.

Перезапускаем службу OpenVPN.

Код: выделить все


Если ругается на ошибку, значит проверяйте внимательно, чего написали в пункте 4.2.

5. Скачиваем необходимые файлы

Теперь нам нужно скачать файл .ovpn

5.1. Качаем утилиту WinSCP (https://winscp.net/eng/download.php)

5.2. Запускаем. Протокол передачи SFTP.
Имя хоста и порт берём из шага 2.2. Их мы писали в Putty.
Логин root, пароль из письма (шаг 2.3.)
Из папки /root/ скачиваем себе файл с расширением .ovpn

*** Теперь можно пользоваться клиентом OpenVPN для Windows, Linux, macOS, Android и т.д.
https://openvpn.net/client-connect-vpn-for-windows/
После установки и запуска программы, необходимо импортировать наш конфигурационный файл из пункта 5.2. Для этого найдите значок OpenVPN в системном трее в виде компьютера с замком, щелкните по нему правой клавишей мыши, выберите пункт Импорт конфигурации и укажите скачанный файл.
Для вас на этом всё, пользуйтесь. Но не забывайте, что весь ваш трафик пойдёт через VPN. У вас 250 гигабайт в месяц.
***

Но мы зарулим всё на микротик.

6. Подключаемся к openvpn с микротика

6.1. Подклюаемся к микротику винбоском.
Закидываем (просто перетаскиваем мышью в винбокс) скачанный файл .ovpn (пункт 5.2.)

6.2. Идём в System -> Certificates. Нажимаем кнопку Import и выбираем файл с расширением .ovpn. Импортируем.
В списке сертификатов должно появиться два новых сертификата, при этом, у одного из них должны стоять флаги KT.

6.3. Поднимаем соединение. Идём в PPP -> Interface. Добавляем OVPN Client.
Connect to - шаг 2.2., адрес
Port - шаг 2.2. и 3.4. - порт, который мы выбрали из диапозона
User - nobody
Certificate - выбираем тот, который был с флагами KT (шаг 6.2.). У меня это mikrotik.ovpn_1.
Auth - sha1
Cipher - aes 256
Use Peer DNS - yes
Add Default Route - снимаем галку

6.4. Нажимаем Apply и смотрим Status. Если соединения нет, то у меня для вас плохие новости. Вы где-то ошиблись.

7. Маркировка пакетов

Если вы ещё не опустили руки, то продолжим.

7.1. В винбоксе идём в IP -> Firewall -> Mangle.

Создаём правило:

Код: выделить все

action=mark-routing chain=prerouting comment="vpn unblock" dst-address-list=unblock new-routing-mark=unblock-mark passthrough=no src-address=192.168.230.0/24


dst-address-list можете назвать как хотите. У меня для примера unblock.
src-address- тут адрес и маска вашей сети.

7.2. Создаём правило маскарадинга для openvpn
IP -> Firewall -> NAT
Код: выделить все

action=masquerade chain=srcnat out-interface=ovpn-out1


out-interface - указываете свой интерфейс клиента openvpn (шаг 6.3.)

7.3. Добавляем маршрут

IP -> Routes

Код: выделить все

dst-address=0.0.0.0/0
type=unicast
distance=1 gateway=ovpn-out1 routing-mark=unblock-mark


gateway - указываете свой интерфейс клиента openvpn (шаг 6.3.)

8. Создаём список сайтов, которые пойдут через туннель openvpn

IP -> Firewall -> Address Lists

Добавляем необходимые записи. Например:
Name: unblock
Address: nnmclub.to

Теперь ваш трафик для адресов из списка unblock должен ходить через туннель openvpn.
Проверить можно, добавив в unblock адрес myip.ru и зайдя на него в браузере. Посмотрите, какой адрес он вам покажет.

Если эта простыня текста ввергла вас в уныние и показалась слишком сложной... Возможно, это действительно так. Увы, для реализации некоторых вещей нужны определённые знания и навыки.
Для меня данная связка openvpn + mikrotik очень удобна.

При написании этой инструкции, я пользовался статьями:
https://zen.yandex.ru/media/it_news/nastraivaem-sobstvennyi-bezopasnyi-vpn-za-130r-v-god-5de153aefe289100b0b472f2
https://weblance.com.ua/317-obhod-blokirovki-saytov-so-storony-provaydera-na-mikrotik-routeros.html

UPD: sailorxakep помог со скриншотами и описанием.

Пожалуй, попробую помочь картинками. На своём девайсе экспериментировать не буду, поэтому развернул MikroTik RouterOS в VirtualBox.

1. В тестовой схеме предполагается, что кабель провайдера приходит на интерфейс ether1.
2. От провайдера роутер получается данные DHCP, необходимые для доступа в сеть Internet.
3. Интерфейс bridge1 объединяет интерфейсы ether2-ether4, для удобства раздачи настроек вашей домашней сети по DHCP.

Примечание-1. Если подключение к провайдеру происходит по PPoE, то суть настроек от это значительно не изменится.

Примечание-2. Будем считать, что пп. 1- 5.2 уже выполнены.

Примечание-3. В качестве теста буду использовать настройки ProtonVPN Free. Какой сервер VPN использовать существенной роли не играет. Главное - показать общий принцип. Настройки ProtonVPN берутся для подключения по TCP, т.к. подключаться по UDP к OpenVPN MikroTik пока не умеет.
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
7. Маркировка пакетов
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
Просмотр доступен только для зарегистрированных пользователей
В общем, примерно, как-то так. :смущение: Дополняйте, поправляйте, исправляйте. Тем более, раз здесь есть сертифицированные специалисты по MikroTik.
vvmvv ®
Стаж: 8 лет 9 мес.
Сообщений: 115
Ratio: 5.391
2.33%
EDV64 писал(а): Перейти к сообщению
Дополнил бы статью следующим - принципиальная настройка самого хоста в качестве VPN-шлюза не так уж и нужна.
И можно было бы воспользоваться любым удобным VPN-сервисом, заворачивая в него с микротика трафик только любимых сайтов.


VPN-сервисы существенно дороже 4$ в год. А бесплатные, из тех, что проверены мною, блокируют многие трекеры.
Если есть возможность, то почему-бы не поднять своё за такие смешные деньги?
Для описанных мною нужд этого хватает с избытком.
smaga38
Стаж: 7 лет 8 мес.
Сообщений: 4
Ratio: 105.486
100%
russia.gif
Вот спасибо за статью.
Комментарии к ней напомнили о существовании бесплатной Oracle Cloud.
Предыдущая попытка зарегистрировать там акк провалилась из-за ошибок верификации карты несколько лет назад.
А сегодня норм все прошло. Теперь есть бесплатная VM =)
А по теме, есть прекрасный вариант
Описан тут:
https://habr.com/ru/post/413049/
В него укладывается и созданный по мануалу из топика VPN
А лучше он тем, что через VPN осуществляется доступ не на один, а на все заблокированные сайты
и списки этих сайтов динамические.
Ну и проще в развертывании как мне кажется.
Всем добра.
vvmvv ®
Стаж: 8 лет 9 мес.
Сообщений: 115
Ratio: 5.391
2.33%
Тестирую версию с BGP. Пока всё хорошо.
Если будет стабильно, добавлю в мануал.
vvmvv ®
Стаж: 8 лет 9 мес.
Сообщений: 115
Ratio: 5.391
2.33%
Версия с BGP работает без нареканий.
Собственно, добавить в первый пост уже не могу.
Всё делается по мануалу из поста выше (smaga38).
Вместо маркировки пакетов, производим манипуляции из мануала с хабра: https://habr.com/ru/post/413049/

В качестве сервиса BGP можно использовать: https://antifilter.network/bgp

Все остальные действия те же.

UPD: вернулся на изначальную схему. В списке маршрутов (а их более 17000), получаемых по BGP, есть адреса с сервисами, которые не заблокированы и нужны мне по работе. Подключаться к серверу по SSH через медленный VPN и админить сайты на битриксе та ещё радость. Это нужно создавать маршруты для своих сервисов через WAN. Мне проще создать список с тремя десятками заблокированных ресурсов и маркировать трафик.
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Обход блокировок Часовой пояс: GMT + 3
Страницы:   Пред.  1, 2
Страница 2 из 2