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

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


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

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

Данное решение позволяет использовать 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.
Eklat
 
Стаж: 14 лет 7 мес.
Сообщений: 704
Ratio: 3.708
Поблагодарили: 866
100%
russia.gif
шкурка выделки не стоит...
CuPeHb
Стаж: 9 лет 11 мес.
Сообщений: 53
Ratio: 1.14
100%
witch.png
Отличный вариант. Спасибо огромное! Давно искал что-то подобное.
sailorxakep
Стаж: 11 лет 2 мес.
Сообщений: 726
Ratio: 40.691
Раздал: 9.353 TB
Поблагодарили: 506
100%
Откуда: с корабля Куда: на бал
pirates.png
vvmvv писал(а):
3.3. Protocol - TCP
*** если собираетесь пользоваться только официальным клиентом, без использования микротика, то оставляйте тут UDP ***


Забыли уточнить во сколько раз урежется скорость, если укажете TCP. Насколько помню, Mikrotik с OpenVPN пока не умеет по UDP работать.

Опять же, чтобы инструкцией могло воспользоваться как можно большее количество людей, то было бы неплохо дополнить её скриншотами с настройками в WinBox. А то получается:

vvmvv писал(а):
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


Но если перейти в указанный пункт меню в WinBox, Для этого необходимо отдельно окошко терминала открыть.
tigrok1
Стаж: 12 лет 3 мес.
Сообщений: 65
Ratio: 27.716
Раздал: 11.07 TB
14.8%
Цитата:


Интересные цены, но очень плохая стабильность, мне кажется, что это один и тот же продавец, что и lowendspirit и т.п., какой-то китаец.

Лучше воспользуйтесь https://www.oracle.com/ru/cloud/free/ , бесплатно и навсегда, 2 VM, каждой выделено 1/8 OCPU и 1 Гбайт оперативной памяти, 2 блочных тома общей ёмкостью до 100 Гбайт, до 5 бесплатных резервных копий, настоящий IP4 адрес, единственный минус ограничение скорости 5-10 Мбит. Лично мне, очень нравится. У гугла есть аналог, без ограничения по скорости трафика, но 100 Гб\мес и сервера только в США.

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

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


Плохая практика создавать conf файлы через copy-paste, при установке openvpn вы так же устанавливаете example файлы, которые лежат в папке с документацией. Начните создавать свой конфигурационный файл с копирования данного файла, а затем раскоментированием строк и изменением настроек. Да это очень большая и занудная стена текста, но во-первых, для новичков это даст возможность понять, что это за параметры и для чего они. А во-вторых, главная причина, в большинстве случаев предложенные example файлы уже работоспособны и оптимальны со значениями по умолчанию.
EDV64
Стаж: 13 лет 2 мес.
Сообщений: 217
Ratio: 441.181
Раздал: 225 TB
100%
russia.gif
Дополнил бы статью следующим - принципиальная настройка самого хоста в качестве VPN-шлюза не так уж и нужна.
И можно было бы воспользоваться любым удобным VPN-сервисом, заворачивая в него с микротика трафик только любимых сайтов.
Вот только все эти сервисы хотят tls-auth для OpenVPN подключения. А её микротик, увы и ах, не поддерживает...
А в целом мануал обширный, респект за труд. И не обращаем внимание на брюзжание про конфиги. Удивительно, что человек к слову mcedit не прицепился...
maestrospb
Стаж: 10 лет 8 мес.
Сообщений: 3
Ratio: 16.138
0.2%
Цитата:
Для этого необходимо отдельно окошко терминала открыть.


Для человека впервые видящего интефейс винбокса это все не актуально. Если роутер домашний микротик - то его настраивал как правило человек его же и посоветовавший. А он уже будет в курсе что и как.

Тем более не понимая что ты делаешь - там вообще нечего делать и не нужно ничего делать.

А тому, кто понимает статья в самый раз. Имея даже базовое понимание можно сделать.
Мне, имея в парке около 20 таких устройств и образование по ним все понятно :)

Я бы сделал приписку. перед тем как настраивать что-либо сделайте бэкап микротика и экспорт настроек, чтобы в случае непредвиденных ситуаций иметь возможность вернуть как было.
EDV64
Стаж: 13 лет 2 мес.
Сообщений: 217
Ratio: 441.181
Раздал: 225 TB
100%
russia.gif
maestrospb писал(а): Перейти к сообщению
Для человека впервые видящего интерфейс винбокса

Если до этого человеку не доводилось настраивать более чем д-линки домашнего уровня, то при первом взгляде на интерфейс винбокса у него случится разрыв шаблона. Стопудово :D
А если еще тронет пункт Routing - то и отложение кирпичей...
Оставшийся
Стаж: 10 лет 4 мес.
Сообщений: 95
Ratio: 198.172
100%
russia.gif
Я так понимаю на роутере тплинк арчер ц6, хоть и есть какой-то впн, такое не провернуть? Впн там вроде как только для удаленного управления
EDV64
Стаж: 13 лет 2 мес.
Сообщений: 217
Ratio: 441.181
Раздал: 225 TB
100%
russia.gif
Оставшийся
На стоковой прошивке маловероятно, но для Вашего арчера есть вполне себе OpenWRT. Если сподвигнетесь - в ней есть и не такое.
На 4пда обсуждение...
tigrok1
Стаж: 12 лет 3 мес.
Сообщений: 65
Ratio: 27.716
Раздал: 11.07 TB
14.8%
Цитата:
И можно было бы воспользоваться любым удобным VPN-сервисом


Любой удобный VPN -
* стоит денег, многие не готовы платить по 15-20$ в мес, за то что по сути для них предоставляет бесплатный "браузер opera с vpn",
* не безопасен, если есть спрос, значит есть и мошенники, который буду стараться заработать на вас,
* или это бесплатный, хороший vpn, но увы я знаю лишь один такой - protonvpn.com, вы знаете больше, расскажите?!

А теперь самое интересное, protonvpn.com, пробуем зайти на популярный сайт с сериалами, результат - "заблокировано", так как адреса бесплатных прокси в чёрном списке, хм, а давайте тогда возьмём платно, с почасовой оплатой, например vultr.com, всего-то 0,007$ в час, пробуем зайти на "сайт с сериалами" и снова "заблокировано".. увы, но исполнители законотворцев не дураки, они так же читают форумы и учатся :)

Но, помните, VPN для большинства задач, даже той, что описал автор темы выше, избыточен, достаточно лишь прокси(и туннелирование трафика, с котором микротик прекрасно справляется). Например, для запуска хромоподобного браузера достаточно к ярлыку дописать -proxy-server="socks5://прокси:порт", вопрос лишь где взять прокси, и самое простое и очевидное использование виртуальных серверов, платных и бесплатных, как создать прокси для только, что купленного, созданного виртуального сервера, вы не поверите, но в Windows 10 достаточно открыть командную строку и написать ssh ip_адрес_вашего_сервера -D 3128 и нажать enter, после чего вы сможете открыть браузер хром с --proxy-server="socks5://127.0.0.1:3128" и пользоваться. Можно запускать игры через прокси, если при обычном вашем соединении где-то неполадки, то проси меняет маршрут и часто удаётся обойти проблемное место в сети. Для запуска игры через прокси, вам поможет прекрасная программа https://www.proxifier.com/.

Ну а для всего остального, есть "бесплатный браузер опера с vpn" :)
EDV64
Стаж: 13 лет 2 мес.
Сообщений: 217
Ratio: 441.181
Раздал: 225 TB
100%
russia.gif
tigrok1
Прокси да, проходили год назад. Причем в тяжелой форме, с громождением сквида на примерно аналогичный vps. И проксифаер так замечательно к нему коннектился и так было удобно рулить правилами трафика прямо с клиента...
А потом приехал на дачу под LTE Мегафона, включил... и тупо выпялился в страницу-заглушку вместо данного сайта.
И оказалось - евонный мегафонный DPI прекрасно умеет лазить внутрь прокси-трафика, причем не простого, а https, да с парольной авторизацией. Socks5, правда, не стал проверять - стало неинтересно в целом...
Kalex
Администратор
Стаж: 16 лет 7 мес.
Сообщений: 44399
Ratio: 128.272
Поблагодарили: 15162
100%
nnm-club.gif
maestrospb писал(а): Перейти к сообщению
А тому, кто понимает статья в самый раз. Имея даже базовое понимание можно сделать.
Мне, имея в парке около 20 таких устройств и образование по ним все понятно
Ну вот и помогите топикстартеру облагородить это руководство, предоставьте ему фрагменты кода оформления, вместе со скриншотами из Winbox, вариант для GUI, и как альтернативу - код для консоли (терминал), это для людей, у которых есть железо от MikroTik, но которые не имеют таких продвинутых знакомых и которые покупали без чьей-то указки и сами же настроили его за 15 сек с помощью Quick Set.
Кто-то критикует и пальцы гнет, кто-то не понимает и вопросы задает, кто-то понимает и просто комментирует, заваливая топики сообщениями, которые не помогут людям понять смысл и не облегчат работу, а кто-то может помогать. Так вот у Вас есть возможность стать последним, а не тремя первыми :)

EDV64 писал(а): Перейти к сообщению
Прокси да, проходили год назад. Причем в тяжелой форме, с громождением сквида на примерно аналогичный vps. И проксифаер так замечательно к нему коннектился и так было удобно рулить правилами трафика прямо с клиента...
Вы бы пошли обсуждать все постороннее в более подходящие соседние топики, а тут бы обсуждали методы и решения, описанные топикстартером. Причину я написал выше, это сообщения, которые не помогут людям понять смысл написанного в шапке и не облегчат работу по настройке этого для себя.

_________________
NNMClub и IPv6/Teredo
EDV64
Стаж: 13 лет 2 мес.
Сообщений: 217
Ratio: 441.181
Раздал: 225 TB
100%
russia.gif
Kalex писал(а): Перейти к сообщению
Вы бы пошли [...] а тут бы обсуждали методы и решения, описанные топикстартером.

Ну ок. Обсуждаю. Сделал по мануалу. Все работает, только ось на хостинге выбрал Debian 10, лично мне ближе.
Конкретно по руководству можно добавить, что при правильных ответах скрипту openvpn-install.sh ручная правка /etc/openvpn/server/server.conf требуется только в одной строке.
С:
Код: выделить все
auth SHA512

На:
Код: выделить все
auth SHA1

Еще конкретно у меня в конфиг вписалось (у автора такого нет):
Код: выделить все
tls-crypt tc.key

И с ним при попытке подключения микротика в syslog`e сервера регистрируется:
Код: выделить все
tls-crypt unwrap error: packet too short

Соответственно микротику отлуп. Решение - закомментировать или удалить из /etc/openvpn/server/server.conf:
Код: выделить все
#tls-crypt tc.key
sailorxakep
Стаж: 11 лет 2 мес.
Сообщений: 726
Ratio: 40.691
Раздал: 9.353 TB
Поблагодарили: 506
100%
Откуда: с корабля Куда: на бал
pirates.png
Kalex писал(а): Перейти к сообщению

Ну вот и помогите топикстартеру облагородить это руководство, предоставьте ему фрагменты кода оформления, вместе со скриншотами из Winbox, вариант для GUI, и как альтернативу - код для консоли (терминал), это для людей, у которых есть железо от MikroTik, но которые не имеют таких продвинутых знакомых и которые покупали без чьей-то указки и сами же настроили его за 15 сек с помощью Quick Set.

Пожалуй, попробую помочь картинками. На своём девайсе экспериментировать не буду, поэтому развернул 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.
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Обход блокировок Часовой пояс: GMT + 3
Страницы:  1, 2  След.
Страница 1 из 2