Ещё раз о старом. Как обойти блокировки интернет-ресурсов и не страдать 2.
Предисловие.
Я снова в эфире и снова приветствую своих три килоподписчика.
Эта статья, также, как и прошлая, не писалась для Пикабу. Если заминусите, то мне по-прежнему пофиг.
После публикации прошлой статьи я получил овердохрена писем с просьбой описать настройки SOCKS прокси в рамках тех конфигов, которые уже есть под OpenVPN по моим статьям.
ВАЖНО (еще раз)
В статье даны ссылки на сайты. Эти сайты ни мне, никому-либо другому не приносят прибыли, никто их раскруткой не занимается. Это не реклама!
В некоторых случаях можно было бы давать ссылки не на мой сайт с инструкциями, а сюда, на мои статьи на Пикабу. Но тут статьи с ошибками, а на сайте хоть и редко, но исправлялись. Да и лень мне листать историю публикаций.
Ну если заминусите, то и хрен с ним. Я на рейтинг не ананирую.
На самом деле миллион мануалов на эту тему. Инструкцию написана только для того, чтобы показать, как в написанные по моим статьям конфиги впилить самостоятельно работающий прокси-сервер. Если Вам лениво делать свой или вы соменваетесь, поможет ли он Вам — воспользуйтесь демонстрационным бесплатным тестовым сервисом rknsucks.xyz
Но лучше сделать свой.
Небольшое техническое описание нашего будущего сервиса:
ОС: CentOS 7 x64
Используемое ПО: 3proxy
Протокол прокси: SOCKSv4-5
Аутентификация: По желанию
Кроме того, для иллюстрирования работы сервиса будет настроен прокси-сервер по адресу proxy.rknsucks.xyz
Это доменное имя будет смотреть на тот же сервер, что ovpn.rknsucks.xyz из прошлой статьи.
Я уже писал как установить и настроить 3proxy, но там мы делали прозрачный прокси-сервер для клиентов OpenVPN сервера.
Здесь же мы сделаем прокси-сервер как самостоятельный сервис. Это позволит использовать его отдельно от OpenVPN.
Опишу весь порядок установки. Также дам примеры конфигов iptables для разных случаев установки сервера.
Да, можно было бы установить 3proxy моим скриптом автоустановки, но поскольку в прошлой статье мы правили /root/ipt-set, то скрипт вернёт нам его к дефолтному состоянию и поломает работу OpenVPN. Поэтому поставим руками, тем более, что ничего сложного тут нет.
Ладно, для лентяев в разделе 2 статьи будет скрипт автоматической установки 3proxy. Этот скрипт делает ровно всё то, что написано в разделе 1.
Все конфиги можно найти на GitHub.
Краткое содержание:
1. Установка прокси-сервера 3proxy вручную
2. Установка прокси-сервера 3proxy скриптом
3. Настройка iptables
1. Установка прокси-сервера 3proxy вручную
Подготовим сервер, если он еще не готов:
yum install epel-release -y
yum update -y
yum upgrade -y
yum install wget -y
Для компиляции нам понадобиться компилятор:
yum -y install gcc
Перейдём во временную папку
cd /tmp
и скачаем актуальную версию 3proxy
wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
Номер последней версии можно узнать тут. На момент написания статьи это 0.8.12.
Распаковываем (не забудьте исправить команду под скачанную версию):
tar -xvzf 0.8.12.tar.gz
И переходим в папку с исходниками:
cd 3proxy-0.8.12
Компилируем
make -f Makefile.Linux
Создаём папку для бинарника и pid-файл:
mkdir -p /opt/3proxy/bin
touch /opt/3proxy/3proxy.pid
Теперь перенесем скомпилированный исполняемый файл и дефолтный конфиг в рабочую папку:
cp ./src/3proxy /opt/3proxy/bin
cp ./cfg/3proxy.cfg.sample /opt/3proxy/3proxy.cfg
В папке /etc/systemd/system с помощью WinSCP или любым удобным для Вас способом создаем файл 3proxy.service следующего содержания:
Теперь откроем файл /opt/3proxy/3proxy.cfg
Удалите всё его содержимое и вставьте следующее:
Здесь для нас важны следующие строчки:
external 185.45.193.66 — внешний ip-адрес Вашего сервера
allow * — строчка разрешений для клиентов. В таком виде она разрешает любые подключения.
В общем виде строчка разрешений имеет такой формат:
allow <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
где нас интересуют следующие поля:
<userlist> — список логинов пользователей через запятую
<sourcelist> — список сетей клиентов через запятую. Сеть задается в формате xxx.yyy.zzz.mmm/l, где l — длина маски сети (количество ненулевых байт). Например, 192.168.1.0/24 соответствует сети с маской 255.255.255.0.
<targetlist> — список сетей назначения через запятую
<targetportlist> — список портов назначения через запятую. можно задать диапазон портов через -, например, 80,1024-65535
Тут уже настраиваете как Вам нужно. Как видно в приведенном выше конфиге, мы пока ничего не ограничиваем. Если вы делаете этот сервер для себя и хотите пропускать через него трафик к любым сайтам, то так и оставьте.
Если хотите разрешать подключение к прокси только по логину и паролю, то конфиг будет такой:
Где строчки:
users proxyuser1:CL:password1
users proxyuser2:CL:password2
задают логины и пароли пользователей прокси-сервера.
Образец файла.
Мне, для сервера proxy.rknsucks,xyz, важно пропускать трафик только к сетям Telegram, а весь остальной блокировать. Тогда в конфиге моего сервера строчка будет имеет вид (не используемые поля заменяем *):
allow * * 91.108.4.0/22,91.108.8.0/22,91.108.56.0/22,149.154.160.0/20,149.154.164.0/22,91.108.16.0/22,91.108.56.0/23,149.154.168.0/22,91.108.12.0/22,149.154.172.0/22,91.108.20.0/22,91.108.36.0/23,91.108.38.0/23,109.239.140.0/24,149.154.174.0/24
Напомню, что адреса подсетей нужного сайта можно получить на специализированных ресурсах. Например, на https://bgp.he.net
Можно список подсетей назначения реализовать и по-другому. Прописать их не в конфиге прокси, а в iptables (т.е. в моём случае в файле /root/ipt-set). Учитывая, что у меня на одной машине подняты и OpenVPN, и прокси, такой способ будет являться для меня предпочтительным и описан в разделе 3 статьи. Если подсетей, для которых нужно настроить ограничения, много, то тут лучше использовать более взрослые способы настройки iptables. Например ferm. Вы можете выбирать то, что лучше подходит к Вашей задаче.
Не забудьте сохранить и закрыть конфиг.
Можно попробовать запустить прокси-сервер командой:
systemctl start 3proxy
И проверить его состояние командой:
systemctl status 3proxy
Если есть ошибки, проверяйте конфиги. Если нет, то настроим автозапуск службы командой:
systemctl enable 3proxy
На этом ручные настройка и запуск прокси-сервера завершены.
2. Установка прокси-сервера 3proxy скриптом
Тут всё будет просто. Мой скрипт установки есть на GitHub. Он очень простой. Скачивает, компилирует, устанавливает, делает конфиг, запускает добавляет в автозагрузку 3proxy. Проверка ошибок минимальна. Просто, чтобы сократить рутину. Скрипт не настраивает файрволл и/или iptables.
Чтобы воспользоваться запустите команду:
wget https://raw.githubusercontent.com/secfall/3proxy_install/mas... && bash 3proxy_install.sh
Если будет ошибка из-за отсутствия пакета wget, то тогда так
yum -y install wget
wget https://raw.githubusercontent.com/secfall/3proxy_install/mas... && bash 3proxy_install.sh
3. Настройка iptables для прокси
3.1 Если у Вас уже настроен iptables по статье «Анонимность в интернете своими руками. Установка и настройка VPN сервера» или моим скриптом автоустановки OpenVPN, то приводим файл /root/ipt-set к такому виду:
Пример ipt-set
Обращаем внимание на строчки
IF_EXT="venet0"
OVPN_PORT="443"
# openvpn
$IPT -A INPUT -i $IF_EXT -p tcp --dport $OVPN_PORT -j ACCEPT
Должны быть правильно указаны название физического интерфейса, порт и протокол OpenVPN сервера.
Применяем настройки командой:
bash /root/ipt-set
3.2 Если у Вас уже настроен iptables по статье «Избирательная маршрутизация в OpenVPN«, то приводим файл /root/ipt-set к такому виду:
Пример ipt-set
Также обращаем внимание на строчки
IF_EXT="venet0"
OVPN_PORT="443"
# openvpn
$IPT -A INPUT -i $IF_EXT -p tcp --dport $OVPN_PORT -j ACCEPT
Должны быть правильно указаны название физического интерфейса, порт и протокол OpenVPN сервера.
Применяем настройки командой:
bash /root/ipt-set
ВАЖНО: указанный выше конфиг не ограничивает клиента по адресам назначения. Т.е. если в конфиге прокси-сервера не указаны разрешенные сети назначения (как написано в разделе 1 этой статьи) и такие сети не указаны в файле /root/ipt-set, то клиент прокси сервера сможет через него ходить на любой ресурс.
Если вы хотите ограничить список разрешённых сетей назначения через iptables, то тогда в файле /root/ipt-set строчки (если не используете IPv6, то только первая строчка):
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT6 -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Правим на:
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT6 -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Т.е. мы запрещаем новые исходящие соединения, но разрешаем исходящий трафик по уже установленным соединениям.
Теперь настроим правила исходящих соединений на примере Telegram и MyIP.ru (и еще разрешим исходящие на гугловые DNS). В раздел # OUTPUT chain файла /root/ipt-set допишем:
# DNS
$IPT -A OUTPUT -d 8.8.8.8/32 -j ACCEPT
$IPT -A OUTPUT -d 8.8.4.4/32 -j ACCEPT
# Telegram
$IPT -A OUTPUT -d 91.108.4.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.8.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.56.0/22 -j ACCEPT
$IPT -A OUTPUT -d 149.154.160.0/20 -j ACCEPT
$IPT -A OUTPUT -d 149.154.164.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.16.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.56.0/31 -j ACCEPT
$IPT -A OUTPUT -d 149.154.168.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.12.0/22 -j ACCEPT
$IPT -A OUTPUT -d 149.154.172.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.20.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.36.0/31 -j ACCEPT
$IPT -A OUTPUT -d 91.108.38.0/31 -j ACCEPT
$IPT -A OUTPUT -d 91.108.56.0/31 -j ACCEPT
$IPT -A OUTPUT -d 91.108.56.0/22 -j ACCEPT
$IPT -A OUTPUT -d 91.108.4.0/22 -j ACCEPT
$IPT -A OUTPUT -d 67.198.55.0/24 -j ACCEPT
$IPT -A OUTPUT -d 149.154.168.0/22 -j ACCEPT
$IPT -A OUTPUT -d 149.154.172.0/22 -j ACCEPT
$IPT -A OUTPUT -d 149.154.164.0/22 -j ACCEPT
$IPT -A OUTPUT -d 109.239.140.0/22 -j ACCEPT
$IPT6 -A OUTPUT -d 2001:b28:f23f::/48 -j ACCEPT
$IPT6 -A OUTPUT -d 2001:b28:f23d::/48 -j ACCEPT
$IPT6 -A OUTPUT -d 2001:67c:4e8::/48 -j ACCEPT
# MyIP.ru
$IPT -A OUTPUT -d 178.62.9.171/32 -j ACCEPT
Теперь пользователь нашего сервиса, причем и пользователь прокси, и пользователь vpn, сможет ходить только на подсети Telegram и на сайт myip.ru.
Не забываем применить настройки командой
bash /root/ipt-set
Ну вот и всё. Осталось вписать адрес и порт сервера в настройки клиента Telegram (Настройки -> Данные и диск -> Настройки прокси).
Бесплатный и быстрый способ обхода блокировок РКН
1. Скачиваем и устанавливаем TOR
2. Просто запускаем и сворачиваем
3. Открываем любой мессенджер или программу которую блокирует РКН, в настройках подключения применяем следующие настройки (показываю на примере Telegram)
Тип подключения - SOCKS5, IP адрес для подключения - "localhost" без кавычек, порт 9150. Имя пользователя и пароль не требуются.
Работает стабильно и быстро, без сбоев. Весь трафик идет через TOR. Единственный минус - TOR браузер всегда должен быть запущен на вашем ПК, но это не беда - свернули и забыли про него.
P.S. Данный способ работает в любой программе, в которой требуется обойти блокировку РКН.
Простой способ обхода блокировки Telegram для абонентов МТС Москвы и подмосковья
4 апреля МТС запустило IPv6 для Москвы и Подмосковья, услуга полностью бесплатна, подключить *111*1428*1#
Доступно на всех тарифах, где есть интернет
Владельцам iPhone'ов нужно просто обновить iOS до 11.3 и перезагрузить устройство, на Android нужно изменить в настройках точки доступа APN с IPv4 на IPv4/IPv6
IPv6 (интернет-протокол версия 6) имеет гораздо больше IP-адресов, чем IPv4 (примерно в 7900000000000000000000000000 (78*10^27) раз) и блокировать их роскомнадзор пока не начал, да и вряд ли у него выйдет, даже если он очень захочет.
Проверить, работает ли IPv6 можно по ссылке ipv6test.google.com
Обход блокировки Telegram без прокси и VPN
Речь пойдет об Android версии Telegram. Суть метода заключается в том, что у нас не будет прокси в настройках телеграма и не будет VPN который будет действовать на все приложения.
1) Качаем Orbot (ищите в гугл плей сами, пикабу ругается на ссылку)
2) Заходим в Orbot, жмем по луковице чтобы его включить. НЕ ЖМЕМ КНОПКУ ВКЛЮЧИТЬ VPN!
3) Заходим в настройки телеграма. Далее заходим в "Данные и диск" Листаем в самый низ и заходим в "Настройки прокси"
Вписываем в первую строчку localhost, во вторую пишем 9050.
В итоге телеграм будет работать через децентрализованную сеть Tor. Работает шустрее чем бесплатные прокси из паблика. Удобнее VPN тем что данный метод влияет лишь на телеграм, а не на браузер и другие приложения вроде сбербанка. Так же в отличии от бесплатной прокси не ведет логи, благодаря торовской децентрализованной системе. Все должно выглядеть как у меня на скриншотах.
Обход блокировки Telegram через Tor
Столько постов про поиск проксей и т.д... Зачем так много сложностей?
1) Проверяем свой IP
2) Качаем тор для дроида (Orbot)
3) Запускаем, внизу жмем FULL DEVICE VPN, в списке приложений выбираем те, которые будут тунеллироваться (в моем случае YBrowser, если по теме, то нужно выбрать Telegram)
4) PROFIT!!!
Блокировка Telegram и способы обхода
Я понимаю что уже постов дофига на тему блокировки. Но тут не о блокировке, а о том что Сайт Вести опубликовал у себя способы обхода блокировок.
Государственные СМИ опубликовали способ обхода!
p.s.Интересно, какое звание у Дурова в КГБ, учитывая что его так пиарят?
Как подготовить машину к долгой поездке
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.