На волне хайпа, грех обойти эту популярную тему всех времен и народов, учитывая как буйствует
Роскомнадзор расчехлив свой банхаммер и добавляя в бан листы все и вся, становится понятно, что нужны обходные технологии, и лучше если они будут настроены собственными руками. Для начала нам нужно где то раздобыть
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
Если все прошло без ошибок, запускаем и пользуемся.
Комментарии ()