Настройка прокси и vpn в гряде текущих событий связанных с Telegram

На волне хайпа, грех обойти эту популярную тему всех времен и народов, учитывая как буйствует Роскомнадзор расчехлив свой банхаммер и добавляя в бан листы все и вся, становится понятно, что нужны обходные технологии, и лучше если они будут настроены собственными руками. Для начала нам нужно где то раздобыть VDS(VPS) за рубежом или с зарубежным IP, несложно нагуглить такой в районе 1-2$.
Я брал тут [ https://robovps.biz/?ref=8856 ] — реферальная ссылка



Заполучив дешевый VDS, желательно выбрать debian или ubuntu X64, ну кому что…
Обновим для начала базы репозиториев
apt-get update
Теперь нам нужно выбрать что будем использовать.
1.VPN
2.Прокси

Для поднятия vpn сервера нам понадобится пакет pptpd, устанавливаем
apt-get install pptpd
И настраиваем, я в принципе в дефолтном конфиге почти ничего не трогал, просто добавил пул адресов.

/etc/pptpd.conf листинг без комментариев
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.10.1
remoteip 192.168.10.10-20
/etc/ppp/pptpd-options не трогал
lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
А вот /etc/ppp/chap-secrets, уже наш файл, здесь хранятся учетные данные пользователей
# Secrets for authentication using CHAP
# client	server	secret			IP addresses
user		pptpd	password			*
1 имя пользователя,
2 сервер,
3 пароль,
4 ип адрес, если необходимо присвоить определенный, по нему можно кстати отрабатывать скрипты из каталог if-up.d

Осталось настроить маскарадинг(NAT) и подключить некоторые модули ядра.
Включаем nat для всей 192.168.10.0 подсети
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
В место eth0 поставьте ваш внешний интерфейс, может быть enspX, ensX…
Узнать можно командой ifconfig или ip aИ обязательно подгружаем модуль ядра
modprobe nf_nat_pptp
Для автоматической загрузки модулей после перезагрузки проверяем наличие файла
cat /etc/modules-load.d/pptpd.conf 
если файл есть то все хорошо, если же нет, создайте и добавьте, данную строчку
nf_nat_pptp
Еще нужно разрешить форвардинг, для этого редактируем файл /etc/sysctl.d/99-sysctl.conf
изменяем строчку net.ipv4.ip_forward=0 на
net.ipv4.ip_forward=1
Для автоматической загрузки правил файрвола необходимо создать файл
/etc/ppp/ip-up.d/nat.sh c содержимым
#!/bin/bash
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
В данном каталоге скрипты исполняются при успешном покдлючение клиента, если сильны в bash'e и вам нужны какие то действия может что нибудь заскриптовать.
$1   Имя интерфейса, пример <b>ppp0</b>
$2   Терминал <b>ttyS1</b>
$3   Скорость <b>38400</b>
$4   Локальный IP <b>12.34.56.78</b>
$5   Внешний IP <b>12.34.56.99</b>
$6   Параметры ``ipparam'' value    foo
Все настройки закончены, попробуйте подключиться к вашему vpn

Покажу на примере windows 10
Открываем Параметры сети и Интернет



Там выбираем VPN, и жмем добавить VPN подключение



Вбиваем параметры, выбираем тип соеденения PPTP и жмем сохранить



Жмем подключиться



Проверяем как все работает



Вы великолепны!

Ну а теперь про прокси, есть много видов прокси, но нам понадобится только http/https, socks v4/5
Я опишу минимальную настройку с авторизацией для 3proxy.

Начнем с 3proxy, на нем кстати и остановился мой выбор, в нем сразу есть и socks5 и http прокси, все что нужно для счастья :-)
Единственная проблема его нет в репозиториях, поэтому либо самим собирать, либо скачать уже собранный 3proxy — версия 0.8.12 для x64(если скачаете готовый переходите сразу к пункту 2)

Выполняем все от рута

1. Сборка
Для начала установим необходимые пакеты для сборки
apt-get install -y build-essential nano wget tar gzip
Скачиваем последнюю версию 3proxy, отсюда https://github.com/z3APA3A/3proxy/releases и распаковываем ее.
cd /tmp
wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
tar xf 0.8.12.tar.gz
cd 3proxy-0.8.12
Собираем
make -f Makefile.Linux
После окончания сборки в каталоге src появятся скомпилированные исполняемые файлы, нам нужен только один 3proxy
Кладем его в /usr/local/bin
mkdir -p /usr/local/bin
cp src/3proxy /usr/local/bin
2. Настройка
Создадим пользователя от которого будет работать 3proxy
adduser --system --no-create-home --disabled-login --group proxy3
В консоль должно вывести нечто подобное
Adding system user `proxy3' (UID 113) ...
Adding new group `proxy3' (GID 118) ...
Adding new user `proxy3' (UID 113) with group `proxy3' ...
Not creating home directory `/home/proxy3'.
Нам отсюда нужно запомнить UID 113 и GID 118

Создаем конфиг со следующем содержимым
/etc/3proxy/3proxy.cfg
#GID и UID пользователя
setgid 118
setuid 113
#
# DNS сервера
nserver 1.1.1.1
nserver 8.8.8.8
#
# Размер кэша для запросов DNS по умолчанию
nscache 65536
#
# Таймауты
timeouts 1 5 30 60 180 1800 15 60
#
# Если несколько IP на одном сервере, указываем тот,
# через который ходить во внешний мир.
# Иначе эту строку игнорируем
#external 
# Тоже самое, только указываем IP, который надо слушать
# Если проигнорировать, то прокси слушает все адреса на сервере
#internal <YOURSERVERIP>
#
# Расположение файла с пользователями и паролями
users $/etc/3proxy/3proxy.auth
#
# режим запуска как deamon
#daemon
# Файл где будет хранится pid процесса
pidfile /etc/3proxy/3proxy.pid
#
# путь к логам и формат лога, к имени лога будет добавляться дата создания
log /var/log/3proxy/3proxy.log 
#Лог в стиле apache
logformat "-""+_L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" %E %I"
#
# Включаем авторизацию по логинам и паролям
auth cache strong
#
# Конфигурация http(s) proxy
# Запускаем анонимный (-a) HTTP-proxy на порту (-p) 8080 и
# socks прокси на порту 1080
# c отключенной NTLM-авторизацией (-n)
socks -n -a -p1080
proxy -n -a -p8080
Файл с явками и паролями имеет вид
/etc/3proxy/3proxy.auth
## addusers in this format:
#user:CL:password
##see for documentation: http://www.3proxy.ru/howtoe.asp#USERS
user:CL:password
Создадим каталог для ведения логов, если конечно они нужны
mkdir /var/log/3proxy
Захреначим скрипт запуска службы
/etc/systemd/system/3proxy.service
[Unit]
Description=3proxy
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/3proxy /etc/3proxy/3proxy.cfg
LimitNOFILE=65535
LimitNPROC=65535

[Install]
WantedBy=multi-user.target
Актвируем службу systemctl enable 3proxyЗапустим службуsystemctl start 3proxyЕсли все прошло без ошибок, запускаем и пользуемся.

Комментарии ()

    Есть вопрос или предложение пиши в Telegram @cloudsv

    Прямой эфир

    cloudsv 24 октября 2018, 00:27
    О жизни Обновление Scala Rider G4 0
    cloudsv 21 октября 2018, 23:16
    Arch Linux Памятка по основным утилитам Linux 0
    cloudsv 01 июня 2018, 01:39
    Telegram Настройка прокси mtproto для Telegram 26
    cloudsv 22 января 2018, 21:59
    Web Локальное зеркало обновлений Dr.web 0
    cloudsv 03 октября 2017, 10:55
    Web Пароль от резервной копии Bitrix 1
    cloudsv 09 июля 2017, 23:02
    Arch Linux Let's Encrypt это легко и просто 0

    Реклама

    @NormGIF Лучшие гифки интернетов в Telegram, подписывайся