Live data from Hacker News

TCP/UDP/ICMP traffic over UDP tunneling

github.com

11–20 of 21 posts

Re: TCP/UDP/ICMP traffic over UDP tunneling

#11
It turns out this is kind of already in the Linux Kernel. See here: https://lwn.net/Articles/614348/

You can tunnel TCP / IP / GRE, reasonably even Ethernet itself over UDP. This is actually really interesting for cases where you want layer 2 bridging over the internet without all the complexity and overhead of a VPN.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#12
post #4

Reminds me of Iodine (IP over DNS): http://code.kryo.se/iodine/ Of course, it only works if DNS resolution is allowed without auth, which can vary a lot.

iodine is awesome, but is usually very slow, in real-life tests I've rarely gotten anywhere close to the benchmarks cited in the README.

Nonetheless, it's an awesome tool to help you get that beachhead and upgrade your connection from there.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#13
post #12
post #4

Reminds me of Iodine (IP over DNS): http://code.kryo.se/iodine/ Of course, it only works if DNS resolution is allowed without auth, which can vary a lot.

iodine is awesome, but is usually very slow, in real-life tests I've rarely gotten anywhere close to the benchmarks cited in the README. Nonetheless, it's an awesome tool to help you get that beachhead and upgrade your connection from there.

iodine will detect if the server is directly reachable and in that case send full frames in both directions, just like this application or a normal vpn.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#14
post #7
post #6

Earlier quoted context omitted.

> It's useful to avoid Internet restrictions It's used to bypass DPI where known VPN softwares are already filtered.

How many providers have DPI filtering for select apps on unauthenticated connections ? Exactly zero.

I don't know. But where I'm working, I have to register my company's VPN traffic (DST IP addr) to pass their (state owned company) filter. Edit: Not in China.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#15
post #9
post #5

How is this different from a VPN over UDP, like OpenVPN or Cisco Anyconnect?

Exactly, that was my first thought. I have an OpenVPN endpoint on different ports over UDP and TCP available. My experience is, that UDP is also blocked like TCP. The only possible work around is then IP over DNS, which works but with very very limited bandwidth.

On cellular networks, my experience is that everything on port 53 is hijacked and shipped off to a telco DNS server though.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#16
post #11

It turns out this is kind of already in the Linux Kernel. See here: https://lwn.net/Articles/614348/ You can tunnel TCP / IP / GRE, reasonably even Ethernet itself over UDP. This is actually really interesting for cases where you want layer 2 bridging over the internet without all the complexity and overhead of a VPN.

Wouldn't work directly here, as "ip fou add" reserves a local port, while in OP's case it's a reserved remote port. And reserving local port 53 in case of 5353 packets would kill dns resolution.

With an extra iptables rule should work though:

  iptables -t nat -A PREROUTING -s my.server -p udp --sport 53 -d DNAT --to 127.0.0.1:5555
  ip fou add port 5555 ipproto 4

Re: TCP/UDP/ICMP traffic over UDP tunneling

#18
post #9
post #5

How is this different from a VPN over UDP, like OpenVPN or Cisco Anyconnect?

Exactly, that was my first thought. I have an OpenVPN endpoint on different ports over UDP and TCP available. My experience is, that UDP is also blocked like TCP. The only possible work around is then IP over DNS, which works but with very very limited bandwidth.

> The only possible work around is then IP over DNS

What about tunnel over HTTP? That can be much better obfuscated. Tunnel over DNS can be easily filtered out by just checking for the traffic amount (for example to block VoIP the ISP should just degrade DNS if traffic amount is above a treshold for a user)

Re: TCP/UDP/ICMP traffic over UDP tunneling

#19
post #5

How is this different from a VPN over UDP, like OpenVPN or Cisco Anyconnect?

In some countries all VPN is blocked (so the ISP will simple block the stream if standard VPN headers are detected).

These kind of tunnels allows custom, obfuscated protocols.

Re: TCP/UDP/ICMP traffic over UDP tunneling

#20
post #11

It turns out this is kind of already in the Linux Kernel. See here: https://lwn.net/Articles/614348/ You can tunnel TCP / IP / GRE, reasonably even Ethernet itself over UDP. This is actually really interesting for cases where you want layer 2 bridging over the internet without all the complexity and overhead of a VPN.

Agreed. The same is true for VXLAN which is also in the Kernel and also runs over UDP.
Post reply on HN