Ввиду последних событий знакомы поднял SOCK5 прокси. Всё вроде работает, но вот в Телеге например не работают звонки, весь процесс повисает на соединение.
Кто что может посоветовать/порекомендовать в данном вопросе?
Конфиг:
client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
 
client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}
 
socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

Здравствуйте, возник вопрос.Ввиду последних событий знакомы поднял SOCK5 прокси. Всё вроде работает, но вот в Телеге например не работают звонки, весь процесс повисает на соединение.Кто что может посоветовать/порекомендовать в данном вопросе?Конфиг:

кто настраивал?

Я настраивал. Но я тупо взял отдельный VPS на Арубе, воткнул туда Ubuntu Bionic, где последний dante (1.4.2) «из коробки», поставил его и воткнул такой конфиг:

# /etc/danted.conf

logoutput: stderr
internal: eth0 port = 1080
external: eth0

socksmethod: username
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody

client pass {
    from: 0/0 to: 0/0
    log: error
    session.max: 100
}

socks pass {
    from: 0/0 to: 0/0
    log: error
    session.max: 100
}

Всё завелось из коробки. Юзеры — системные с /usr/sbin/nologin

Всё завелось из коробки. Юзеры — системные с /usr/sbin/nologin

Уран в 40 раз распространеннее серебра и в 500 — золота.

44 226 просмотров

Для ускорения работы с некоторыми программами и парсерами, которые я использую, требуются прокси, сначала я арендовал их, но потом решил поднять свои SOKS5 прокси сервера на уже имеющихся серверах с сайтами.

На всех серверах стоит Ubuntu Server 14.04, может где-то и 12.04, но описание должно подойти и для всех остальных систем основанных на Debian.

Есть 2 известных мне способа организации работы SOKS5 сервера:

  1. SOCKS через SSH. Этот способ удобен своей простотой но неудобен при частом использовании, или использовании с разных машин;
  2. Установка SOCKS сервера. При использовании этого способа уйдет чуть больше времени на первоначальную настройку, но потом пользоваться прокси будет быстрее и удобнее.

SOCKS через SSH

Для того чтоб поднять SOCKS5 через SSH нужен только доступ к SSH сервера.

Вводим в терминале или SSH клиенте (PuTTY для Windows)


ssh -D 1080 user@server

Если запросит пароль, то нужно ввести пароль от SSH сервера.

-D – указывает порт по которому будет доступен SOKS5 сервер

Все, после этого вы можете подключиться к SOKS5 серверу по адресу localhost:1080 или 127.0.0.1:1080

Такой способ удобен тем что не нужно ничего дополнительно устанавливать и настраивать. Но перед каждым подключением или после разрыва ssh соединения, например из-за проблем с интернетом придется заново вводить эту команду.

Установка SOCKS сервера

Я знаю 2 SOCKS сервера 3proxy и Dante. У себя использовал Dante Server его настройку и опишу.

Установить Dante сервер можно с помощью apt-get, по умолчанию устанавливается старая версия (v.1.1). Ниже будут настройки для старой и новой (v.1.4) версий.

Установка новой версии Dante Server


sudo apt-get update

sudo apt-get install software-properties-common python-software-properties

sudo add-apt-repository ppa:dajhorn/dante

sudo apt-get update

sudo apt-get install dante-server

После этих действий Dante Server будет установлен, но ругнется и не сможет запуститься, видимо дефолтные настройки имеют ошибку.

Далее нужно отредактировать файл настроек


sudo nano /etc/danted.conf

Приведя его к такому виду


logoutput: syslog /var/log/danted.log

internal: eth0 port = 1080

external: eth0



socksmethod: username

user.privileged: root

user.unprivileged: nobody



client pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

    log: error

}



socks pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

    command: connect

    log: error

    method: username

}

Расшифровка конфига:

  • указываем лог файл который будет находиться по адресу /var/log/danted.log;
  • eth0 - сетевой интерфейс на котором висит внешний IP сервера, узнать его можно воспользовавшись командой ifconfig, либо можно просто указать свой внешний IP вместо названия интерфейса;
  • порт для SOKS5 прокси – 1080;
  • socksmethod - метод авторизации. username - авторизация с указанием логина и пароля системных пользователей. Можно указать none если вы хотите не использовать авторизацию, но не советую оставлять открытым для порт для прокси т.к. сканеры прокси не дремлют, и у меня через открытый порт начали спам рассылать, после чего мне хостер отписал что у моего IP идет спам и надо что-то решать, можно использовать не дефолтный порт а какой-то другой, это позволит отсрочить нахождения вашего прокси сканерами;
  • user.privileged - имя пользователя с расширенными правами;
  • user.unprivileged - имя пользователя с обычными правами (как я понял dante работает от имени этих пользователей в зависимости от того какими правами нужно обладать для выполнения операции).

После сохранения настроек нужно перезагрузить Dante


sudo service danted restart

Все, теперь к SOKS5 прокси можно подключиться с любого устройства, указав IP сервера, порт – 1080, и данные для авторизации (имя и пароль пользователей которые зарегистрированы на сервере).

Я для доступа к прокси создал отдельного пользователя и указываю его данные. Создавал командой


sudo useradd -m soksuser && sudo passwd soksuser

Где soksuser – имя создаваемого пользователя.

Узнать подробнее о создании пользователей в Ubuntu.

Установка старой версии Dante Server


sudo apt-get update

sudo apt-get install dante-server

Далее нужно отредактировать файл настроек


sudo nano /etc/danted.conf

Приведя его к такому виду


logoutput: syslog /var/log/danted.log

internal: eth0 port = 1085

external: eth0



method: username

user.privileged: root

user.notprivileged: nobody



client pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

    log: error

}



pass {

    from: 0.0.0.0/0 to: 0.0.0.0/0

    command: connect

    log: error

    method: username

}

Дальше все так-же как и в новой версии о которой я писал выше.