SOCKS 5 поддерживает UDP. OpenSSH утверждает, что реализует SOCKS4 и SOCKS5, но реализует только подмножество протокола SOCKS5.
Удачи в поиске того, что поддерживается в документации, посмотрите вместо этого на источник:
if (s5_req.version != 0x05 ||
s5_req.command != SSH_SOCKS5_CONNECT ||
s5_req.reserved != 0x00) {
debug2("channel %d: only socks5 connect supported", c->self);
return -1;
}
(от функции channel_decode_socks5()
в channels.c
OpenSSH-6.4p1 с 8 ноября 2013 года . Обновление продолжается до OpenSSH-7.6p1, октябрь 2017 г.)
SSH_SOCKS5_CONNECT
- командный код операции 1, который неявно является TCP-соединением. Команда 3 - UDP ASSOCIATE
для UDP-прокси (это то, что было добавлено в SOCKS5, SOCKS4 или 4a не поддерживают UDP).
Доступны коммерческие и бесплатные (например, Dante) SOCKS5 прокси, которые поддерживают UDP.
Если вам не нужна динамическая переадресация портов UDP, вы можете настроить номер (заранее выбирая места назначения) переадресаций UDP через соединение SSH, используя один из следующих методов: трафик UDP через туннель SSH (я рекомендую подход socat
, я считаю, это работать лучше всего.)