SOCKS proxy

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 29 мар 2023, 12:41

Olej писал(а):
29 мар 2023, 12:22
что-то недоделали
Зашёл на сервер...

Код: Выделить всё

olej@R420:~$ ssh olej@90.156.230.27
...
И очень неожиданно:

Код: Выделить всё

olej@277938:~$ systemctl is-enabled danted
enabled

Код: Выделить всё

olej@277938:~$ systemctl status --no-pager --full danted
● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
   Loaded: loaded (/lib/systemd/system/danted.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2023-03-29 11:13:27 MSK; 1h 20min ago
     Docs: man:danted(8)
           man:danted.conf(5)
  Process: 545 ExecStartPre=/bin/sh -c   	uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`;  	if [ -n "$uid" ]; then  		touch /var/run/danted.pid;  		chown $uid /var/run/danted.pid;  	fi  	 (code=exited, status=0/SUCCESS)
  Process: 562 ExecStart=/usr/sbin/danted (code=exited, status=1/FAILURE)
 Main PID: 562 (code=exited, status=1/FAILURE)
Он автоматом не смог стартонуть :-( - что-то ему не зватило...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 29 мар 2023, 12:43

Olej писал(а):
29 мар 2023, 12:41
Он автоматом не смог стартонуть
А вручную он безукоризненно стартует:

Код: Выделить всё

olej@277938:~$ sudo systemctl start danted

Код: Выделить всё

olej@277938:~$ systemctl status --no-pager --full danted
● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
   Loaded: loaded (/lib/systemd/system/danted.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2023-03-29 12:41:57 MSK; 2s ago
     Docs: man:danted(8)
           man:danted.conf(5)
  Process: 3830 ExecStartPre=/bin/sh -c   	uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`;  	if [ -n "$uid" ]; then  		touch /var/run/danted.pid;  		chown $uid /var/run/danted.pid;  	fi  	 (code=exited, status=0/SUCCESS)
 Main PID: 3835 (danted)
    Tasks: 20 (limit: 1149)
   Memory: 86.1M
   CGroup: /system.slice/danted.service
           ├─3835 /usr/sbin/danted
           ├─3837 danted: monitor
           ├─3838 danted: negotia
           ├─3839 danted: request
           ├─3840 danted: request
           ├─3841 danted: request
           ├─3842 danted: request
           ├─3843 danted: request
           ├─3844 danted: request
           ├─3845 danted: request
           ├─3846 danted: request
           ├─3847 danted: request
           ├─3848 danted: request
           ├─3849 danted: request
           ├─3850 danted: request
           ├─3851 danted: request
           ├─3852 danted: request
           ├─3853 danted: request
           ├─3854 danted: request
           └─3855 danted: io-chil
И с моего удалённого (на 1000 км.) хоста в LAN:

Код: Выделить всё

olej@R420:~$ curl check-host.net/ip

olej@R420:~$ echo $?
0

Код: Выделить всё

olej@R420:~$ curl ifconfig.co
90.156.230.27

olej@R420:~$ host linux-ru.ru
linux-ru.ru has address 90.156.230.27
linux-ru.ru mail is handled by 10 mx2.timeweb.ru.
linux-ru.ru mail is handled by 10 mx1.timeweb.ru.
Всё ОК ...
Но с автостартом нужно разбираться :!: - отложено...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 03 апр 2023, 13:43

Утверждается (https://t.me/Yggdrasil_ru/298541 и https://t.me/Yggdrasil_ru/298547) что и 3proxy и Dante - умеют работать с IPv6.
Если на сервере развернуть IPv6 через Yggdrasil.
Нужно делать :!:

https://t.me/Yggdrasil_ru/298558 -> https://paste.opensuse.org/pastes/39efcd836474:

Код: Выделить всё

olej@R420:~$ cat /etc/sockd.conf | egrep -v "^#"
...
internal: eth0 port = 1080
internal: wg0 port = 1080
internal: ygg0 port = 1080

external: 157.245.3.239
external: 2001:470:1f06:25c::2
external: 224:6723:7ae0:5655:e600:51c9:4300:a2fb
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 04 апр 2023, 13:45

Olej писал(а):
03 апр 2023, 13:43
умеют работать с IPv6
В связи с развёртыванием сети Yggdrasil с поддержкой IPv6 на сервере, возник вопрос проброса IPv6 через SOCKS5 сервер.
IPv6 communication
IPv6 в Dante в значительной степени обрабатывается автоматически на основе типов адресов, найденных в файле конфигурации сервера. В большинстве случаев не требуется никаких изменений в существующих конфигурациях Dante, основанных только на IPv4, но в некоторых случаях изменения потребуются.
Чтобы сервер Dante принимал запросы как по адресам IPv4, так и по IPv6, необходимо указать либо сетевой интерфейс с обоими типами адресов в качестве значения ключевого слова internal в sockd.conf, либо указать ключевое слово несколько раз с разными адресами. Например:

Код: Выделить всё

#accept SOCKS requests on 10.0.0.1 (IPv4) and fc00::01 (IPv6)
internal: 10.0.0.1 port = 1080
internal: fc00::1  port = 1080
Чтобы добавить правило, которое принимает любой адрес, независимо от семейства адресов, можно использовать следующий специальный синтаксис адреса, специфичный для Dante (0/0):

Код: Выделить всё

#accept connections from any client
client pass {
        from: 0/0 to: 0/0
}
Приведенное выше правило будет соответствовать клиентам IPv4 и IPv6, подключаясь либо к внутреннему IPv4-адресу Dante (если есть), либо к внутреннему IPv6-адресу Dante (если есть).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 10 апр 2023, 21:44

В порядке "жеста доброй воли" ... и после длительной проверки в работе - объявляю: доступ к SOCKS5 proxy, работающем на сервере этого вот форума:

Код: Выделить всё

olej@nvidia:~$ host linux-ru.ru
linux-ru.ru has address 90.156.230.27
linux-ru.ru mail is handled by 10 mx1.timeweb.ru.
linux-ru.ru mail is handled by 10 mx2.timeweb.ru.
username: proxy_user_02
password xxxxxx
port: 1080
И подключение и проверка выглядит так:

Код: Выделить всё

olej@nvidia:~$ curl -x socks5://proxy_user_02:xxxxxx@90.156.230.27:1080 ifconfig.co
90.156.230.27

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 01 май 2023, 01:59

Для сравнения - это уже было вскользь здесь: SOCKS через SSH — не только для ICQ - протокол SSH может туннелировать множество других сетевых протоколов. Таким способом среди множества других возможностей представляется возможность организовать SOCKS-проксирование сквозь такой туннель.:

Код: Выделить всё

olej@R420:~$ ssh -N -D 5555 90.156.230.27
olej@90.156.230.27's password:
...
Проверка:

Код: Выделить всё

olej@R420:~$ curl -x socks5://127.0.0.1:5555 ifconfig.co
90.156.230.27
Это то что называют иногда "VPN для бедных".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 01 май 2023, 02:03

Olej писал(а):
01 май 2023, 01:59

Код: Выделить всё

olej@R420:~$ ssh -N -D 5555 90.156.230.27
olej@90.156.230.27's password:
В команде имя пользователя явно нельзя указывать, неявно предполагается текущее имя логина на запрашиваемом клиенте. А пароль, затем, запрашивается на сервере SSH для этого же имени. Для подтверждения того как это происходит можете выполнить команду в терминале от root:

Код: Выделить всё

$ sudo ssh -N -D 5555 90.156.230.27
[sudo] пароль для olej:       
root@90.156.230.27's password: 
Здесь запрашивается 2 разных пароля: 1-й для sudo на локальном клиенте, второй — на удалённом сервере.
Если вы будете упорствовать в вводе «не того» пароля в команде прокси, то после нескольких попыток (обычно 2) сервер оборвёт все текущие и новые SSH подключения чтобы воспрепятствовать дальнейшим попыткам. Этот «молчание» будет продолжаться несколько минут, значение определяется настройками параметров логирования на сервере.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 13 июн 2023, 15:13

Про то как заставить все утилиты пакетной системы DEB работать через SOCKS прокси (совершенно не тривиальная задача :!: ) здесь: пакетная система DEB.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 13 июн 2023, 17:46

Olej писал(а):
19 мар 2023, 20:03
olej@277938:~$ aptitude search Dante
p dante-client - SOCKS wrapper for users behind a firewall
p dante-server - SOCKS (v4 and v5) proxy daemon (danted)
Конфигурацилнные файлы (в порядке итогов):
dante-client => /etc/dante
dante-server => /etc/danted
Обычно они находятся на разных хостах: /etc/dante - на клиентах, /etc/danted - на хосте-ретрансляторе ... что и создаёт путаницу.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SOCKS proxy

Непрочитанное сообщение Olej » 13 июн 2023, 18:17

Olej писал(а):
13 июн 2023, 17:46
/etc/danted - на хосте-ретрансляторе
Ещё один вопрос к серверу: он создаёт слишком много логов, при устоявшейся работе... мегабайты (десятки и сотни) в сутки - это нужно заглушать...

Код: Выделить всё

olej@277938:~$ grep -v ^# /etc/danted.conf | grep -v ^$ | grep pass -A3
client pass {
        from: 0/0 to: 0/0
        log: error ioop
}
socks pass {
        from: 0/0 to: 0/0
        log: error ioop
        group: proxy
Ресурсы описывающие /etc/danted.conf :
Minimal server configuration
Server logging
The following arguments can be given to the log keyword to enable logging of various types of information:
connect - Information about accepted client connections.
disconnect - Information about disconnecting clients.
ioop - Logging of each data transfer operation.
data - Logging of the actual data transferred.
tcpinfo - Logging of information obtained via the TCP_INFO socket option, on platforms where this information is available.
Установка и настройка Dante SOCKS5 Proxy сервера на Ubuntu 18.04 LTS

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей