Поднимаем SOCKS прокси для Telegram и не только

Настройку будем производить под CentOS 7

Шаг 1. Настройка сервера

На данном этапе выполняем настройку сервера для безопасного соединения.
Отключаем SElinux

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
reboot

Отключаем IPv6 протокол
cat << EOT > /etc/sysctl.d/01-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOT
sysctl -p /etc/sysctl.d/01-ipv6.conf

Шаг 2. Отключение логирования

Конечно же в целях сохранения дискового пространства 🙂

Отключаем хранение истории

unset HISTFILE
echo ‘unset HISTFILE’ >> /etc/bashrc
rm -f ~/.bash_history

Отключаем сервисы syslog/rsyslog и аудит системы
systemctl stop rsyslog && systemctl disable rsyslog

С сервисом Auditd придется немного пошаманить, поскольку просто так его отключить нельзя.

sed -i -r «s/RefuseManualStop=yes/RefuseManualStop=no/» /usr/lib/systemd/system/auditd.service
reboot
auditctl -D
systemctl stop auditd && systemctl disable auditd

Удаляем объекты директорий
unlink /var/log/messages && ln -s /dev/null /var/log/messages
unlink /var/log/secure && ln -s /dev/null /var/log/secure
unlink /var/log/wtmp && ln -s /dev/null /var/log/wtmp
unlink /var/log/lastlog && ln -s /dev/null /var/log/lastlog
unlink /var/log/audit/audit.log && ln -s /dev/null /var/log/audit/audit.log
unlink /var/log/btmp && ln -s /dev/null /var/log/btmp
unlink /var/log/maillog && ln -s /dev/null /var/log/maillog

Шаг 3. Установка Dante

Добавляем репозиторий

sudo yum install http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Включаем репозиторий и устанавливаем Dante

sudo yum --enablerepo=gf-plus install dante-server

Разрешаем автозагрузку сервиса

sudo systemctl enable sockd.service

Создаем рабочую папку

sudo mkdir /var/run/sockd

Делаем бэкап оригинального конфига

sudo mv /etc/sockd.conf /etc/sockd.conf.orig

Узнаем название сетевого интерфейса — например eth0

sudo ifconfig

Пишем свой конфиг

sudo vim /etc/sockd.conf

Подставляем название своего сетевого интерфейса и порт, а также добавляем IP адреса Telegram:

 

 

sockd.conf
logoutput: /var/log/socks.log
logoutput: stderr
На каком сетевом интерфейсе и порту обслуживаем socks клиентов
internal: eth0 port = 433
С какого IP или интерфейса выходим во внешний мир
external: eth0
internal: x.x.x.x port = 1080
external: x.x.x.x
Используемый метод авторизации клиентов. none --- без авторизации.
user.libwrap: nobody
socksmethod: username
clientmethod: username
socksmethod: username none
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody
client pass {
from: 0/0 to: 0/0
log: error
}
socks pass {
from: 0/0 to: 149.154.167.99/32
log: error
}
socks pass {
from: 0/0 to: 149.154.175.10/32
log: error
}
socks pass {
from: 0/0 to: 149.154.175.117/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.42/32
log: error
}
socks pass {
from: 0/0 to: 149.154.175.50/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.50/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.51/32
log: error
}
socks pass {
from: 0/0 to: 149.154.175.100/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.91/32
log: error
}
socks pass {
from: 0/0 to: 149.154.165.120/32
log: error
}
socks pass {
from: 0/0 to: 149.154.166.120/32
log: error
}
socks pass {
from: 0/0 to: 149.154.164.250/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.117/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.118/32
log: error
}
socks pass {
from: 0/0 to: 149.154.167.192/27
log: error
}
socks pass {
from: 0/0 to: 149.154.164.8/29
log: error
}
socks pass {
from: 0/0 to: 91.108.8.0/27
log: error
}
socks pass {
from: 0/0 to: 91.108.12.0/27
log: error
}
socks pass {
from: 0/0 to: 91.108.16.0/27
log: error
}
socks pass {
from: 0/0 to: 91.108.56.0/24
log: error
}
socks pass {
from: 0/0 to: 91.108.4.0/24
log: error
}
socks pass {
from: 0/0 to: 149.154.160.0/22
log: error
}
socks pass {
from: 0/0 to: 149.154.164.0/22
log: error
}
socks pass {
from: 0/0 to: 149.154.168.0/22
log: error
}
socks pass {
from: 0/0 to: 149.154.172.0/22
log: error
}
socks pass {
from: 0/0 to: 91.108.56.0/22
log: error
}
socks pass {
from: 0/0 to: 91.108.4.0/22
log: error
}
socks pass {
from: 0/0 to: 91.108.8.0/22
log: error
}
socks pass {
from: 0/0 to: 91.108.16.0/22
log: error
}
socks pass {
from: 0/0 to: 91.108.12.0/22
log: error
}
socks pass {
from: 0/0 to: 149.154.160.0/20
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23d:f001::e/128
log: error
}
socks pass {
from: 0/0 to: 2001:67c:4e8:f002::e/128
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23d:f001::a/128
log: error
}
socks pass {
from: 0/0 to: 2001:67c:4e8:f002::a/128
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23d:f003::a/128
log: error
}
socks pass {
from: 0/0 to: 2001:67c:4e8:f004::a/128
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23f:f005::a/128
log: error
}
socks pass {
from: 0/0 to: 2001:67c:4e8:fa60::/64
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23d::/48
log: error
}
socks pass {
from: 0/0 to: 2001:b28:f23f::/48
log: error
}
socks pass {
from: 0/0 to: 2001:67c:4e8::/48
log: error
}
socks pass {
from: 0/0 to: 0/0
command: bind connect udpassociate bindreply udpreply
log: error connect
}

 

 

Жмем ctrl+C, набираем :wq и жмем Enter — конфиг сохранен

Разрешаем порт в фаерволе

sudo firewall-cmd ---zone=public ---add-port=433/tcp ---permanent
sudo firewall-cmd ---zone=public ---permanent ---add-port=1024-65535/udp
sudo iptables -A INPUT -p udp -m multiport ---dports 1024:65535 -j ACCEPT
sudo firewall-cmd ---reload

Запускаем сервис

sudo systemctl start sockd

Проверяем статус

sudo systemctl status sockd

Поднимаем SOCKS прокси для Telegram и не только

nload -m –u h –U H

Создаем отдельного пользователя

sudo useradd proxyuser

Устанавливаем пароль

sudo passwd proxyuser

Всё можно подключаться

P.S. у Firstbyte есть отличное предложение KVM сервер всего за 111руб/мес для Telegram proxy.