-1

I have an external server which I use to connect to the internet using dynamic port forwarding from my remote desktop . I forward all the connections to my local port 9150 . Therefore I use that socks5 proxy in all my application . But the problem arise in certain application uses UDP for connection and all the UDP ports are blocked in that external server .

Is it even possible to send UDP traffic without using a VPN .

1 Answers1

0

This answer looks like that the capability of SOCKS5 to accept UDP is not implemented in the SSH version of SOCKS.

Edit: the above mentioned answer focuses on the programmatic aspect of OpenSSH-6.4p1 from November 8, 2013, especially the function channel_decode_socks5 from the source code in channels.c.

  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;
    }

Having a look at the current source code (because the source code version from above link is older) reveals that also in the current source code, only socks connect is implemented, UDP is not.

The current source code as of March 2016:

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;
    }

The function channel_decode_socks5 responsible for allowing "only" TCP and not UDP has not changed since then. This is the reason why UDP traffic will not pass a socks proxy opened by openSSH.

If you really need UDP, you have several possibilities:

  • a) use a VPN connection instead of SSH, e. g. openVPN. The simplest possibility in my eyes.
  • b) file a feature request with the developers of openSSH. This could take much longer, if it will be implemented at all.
  • c) program the feature yourself and probably share it with the community. Depending on your C programming skills, this might be even faster than the openVPN solution.
stueja
  • 606