Linux SOCKS5 туннелирование не работает с udp-трафиком

Я использую команду ssh -N -D 0.0.0.0:1080 localhost которая отлично работает для моего веб-браузера, но когда я пытаюсь и туннелю приложение UDP-трафика, оно не работает.

Я думал, что socks5 должен иметь возможность обрабатывать UDP-трафик, или есть что-то еще, что мне нужно настроить?

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 г.)

SSH_SOCKS5_CONNECT – это командный код операции 1, который неявно является TCP-соединением. Команда 3 – UDP ASSOCIATE для проксирования UDP (это то, что было добавлено в SOCKS5 , SOCKS4 или 4a, не поддерживает UDP).

Существуют коммерческие и бесплатные (например, Dante ) прокси SOCKS5, которые поддерживают UDP.

Если вам не нужна динамическая переадресация портов UDP, вы можете настроить номер (предварительно назначая адресатов) переадресации UDP по SSH-соединению, используя один из этих методов: UDP-трафик через SSH-туннель (я рекомендую подход socat , я нахожу Это работать лучше всего.)

  • UDP-трафик через SSH-туннель
  • UDP против TCP, насколько быстрее это?
  • Поведение Netcat / socat с трубопроводом и UDP?
  • Что вы используете, когда вам нужен надежный UDP?
  • Размер пустых пакетов UDP и TCP?
  • SSH-соединение под UDP?
  • Как использовать перфорирование отверстий UDP для туннеля / сеанса SSH
  • Как синхронизировать два цикла видео с mplayer и upd?
  • Отправка широковещательной рассылки UDP, прием нескольких сообщений
  • UDP Multicast через Интернет?
  • Установка IP-адреса источника для гнезда UDP
  • Interesting Posts

    0 – десятичный литерал или восьмеричный литерал?

    Легальность реализации COW std :: string в C ++ 11

    обнаружить нажатие клавиши в python?

    Как установить фиксированный пользовательский пароль в Teamviewer (сервер) без отправки регистрационных данных?

    Что делать, если жесткий диск разделен на более чем 26 разделов в Windows?

    Как вызвать метод в java?

    Что вызывает запросы активации Windows 7?

    Удаление свойств и личной информации – пакетный режим или приложение

    Безопасность OWIN – Как реализовать токены обновления OAuth2

    Интерфейсы выводятся из System.Object? C # spec говорит «да», Эрик говорит «нет», реальность говорит «нет»

    Есть ли ограничение по размеру на внешних жестких дисках USB?

    Время простоя приложения

    Сеть WiFi отлично подходит для Macbook Pro и Win XP, но Win Vista «Ограниченная связь»

    Нужна помощь при загрузке в фоновом режиме на Android?

    Восстановление данных из нераспределенного раздела жесткого диска

    Давайте будем гением компьютера.