VPN through only http
I have got two machines. One running behind an HTTP proxy which only allows http connections to internet. (FTP, SSH everything else is not allowed through this network).
Second machine is a server with a public IP connected to internet. I can install any software on both these machines. Is there any tool that will help me access second machine from the first?
I would like do do things such as FTP transfer, remote login and so on.
Solution 1:
Openvpn supports operation over an http proxy. Its client is available on most desktop platforms; the server is available on most unixes. Pro: you can use any network protocol transparently (including UDP and streaming). Con: some setup required; the overhead is noticeable in some applications; you need admin rights on both sides.
Httptunnel and Httptunnel each let you set up one TCP connection (e.g., ssh) over HTTP. Pro: you don't need admin rights on either side. Con: you need special software on the server side; expect noticeable overhead; ease of setup and use can vary.
If you're only interested in ssh, you can tell it to operate via the proxy by using a program such as corkscrew. Pro: little setup required; no special server-side setup; no connection overhead. Con: doesn't work if the proxy is too restrictive (e.g. doesn't let https through); specific to ssh.
It may help to run the server on port 80 or 443.
Solution 2:
If your proxy doesn't support CONNECT (which is the case in most corporate envs), you are looking for software that uses plain GET&POST to encapsuate your traffic.
Take a look at chisel and crowbar, you may also want use openvpn as a additional layer. There is also softether which is quite promising.
- Corkscrew needs CONNECT.
- plain openvpn also uses CONNECT
- Httptunnel is no longer maintained (last release 2008)
- Httptunnel is also not maintained (last release 2010)
Solution 3:
See http://www.nocrew.org/software/httptunnel.html or http://http-tunnel.sourceforge.net/