Настройка и установка прокси-сервера Dante для доступа к определенным адресам

В последнее время часто появляется необходимость возобновить доступ к каким-либо сервисам, пострадавшим от ковровых блокировок серверов Amazon и Google. Простейший вариант — установить на VPS прокси-сервер, который соединяется с нужными адресами. Не буду детально останавливаться на покупке и запуске VPS, в этом нет ничего сложного. А вот настройку прокси-сервера стоит рассмотреть подробнее. Я использовал бесплатный прокси-сервер Dante на сервере с Ubuntu 16.04.

Обновляем систему и устанавливаем все необходимые пакеты:

sudo apt-get update && apt-get upgrade
sudo apt-get install -y gcc build-essential libwrap0 libwrap0-dev libpam0g-dev make nano wget tar gzip ufw

Качаем исходный код Dante и компилируем его:

cd /opt
wget http://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -xvf dante-1.4.2.tar.gz
cd dante-1.4.2/
mkdir /opt/dante
./configure --prefix=/opt/dante
make && make install

Проверяем собранное приложение и смотрим его версию:

/opt/dante/sbin/sockd -v

Качаем примерный конфиг Dante, настроенный под доступ к Telegram. Полная документация доступна на официальном сайте:

wget -c http://tvoridob.ro/tgproxy/sockd.conf -O /etc/sockd.conf

Правим конфиг с учетом вашей ОС и настроек, вместо eth0 необходимо вписать свой сетевой интерфейс (у OpenVZ это venet0, в external возможно придется вписать внешний IP сервера):

nano /etc/sockd.conf

Запуск Dante как сервиса:

/opt/dante/sbin/sockd -D

Старт прокси:

/opt/dante/sbin/sockd -f /etc/sockd.conf -D

Выключение прокси:

/usr/bin/pkill sockd

Добавляем в firewall правила, закрывающие доступ по всем портам кроме 1080 (прокси) и 22 (ssh):

sudo ufw allow 1080/tcp
sudo ufw allow 22/tcp
sudo ufw enable

Подчищаем хвосты:

rm /opt/dante-1.4.2.tar.gz
sudo rm -r /opt/dante-1.4.2/

Готово, вы восхитительны!
Метки:
прокси, прокси-сервер, vds, настройка, мануал, telegram

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.