VPS用途二之代理服务

嗯,像我们公司网络限制特别特别的多,简单一句就是不让你好好上网。公司一个小墙,兲朝一个大墙。简单说一下,在公司突破上网的方法吧,GoAgent,SSH,L2TP/PPTP,OpenVPN,Nginx反向代理,xinet,iptables,修改hosts文件。其中与VPS相关的分别是SSH,L2TP/PPTP,OpenVPN,Nginx反向代理,xinet,iptables,修改hosts文件。记下来,方便以后查找。

  • SSH代理

SSH代理应该是比较容易的一个吧,VPS上一般都会把OpenSSH Server给装上吧,VPS上的设置就比较容易的,相信有VPS的都会搞。我一般SSH专门用来代理的话,就把用户的shell设成nologin,然后在/etc/security/limits.conf 中将其连接限制为1个连接,这样这个帐号就只能用来做代理使用了。呵,去年公司还没有封22端口的时候,通过Unix-Center.net做为中转,下载我VPS上的资源,那个速度真的是快啊,1M/s左右。可能流量太大,被网管发现了,之后22端口就被禁了,杯具啊。

客户端的话,只要一条命令就OK了。

# for Linux
ssh nobody@guoliangwu.com -P 22 -C -N -D 127.0.0.1:6500

# for windows(PuTTY)
plink nobody@guoliangwu.com -P 22 -C -N -D 127.0.0.1:6500

其中参数的作用可以参考http://linux.die.net/man/1/sshhttp://linux.die.net/man/1/plink。其中-P为端口,-C表示压缩,-N表示不打开远程命令窗口(Don’t start a remote command or shell at all),-D表示转发端口。这样只要在本地客户端设置代理服务器为127.0.0.1:6500,SOCKS5,Firefox配合AutoProxy爽歪歪啊。PS: windows中putty.exe界面勾几个选项就OK了。


  • OpenVPN

参考https://forum.ramhost.us/bbs/viewtopic.php?id=4,主要就是生成密钥与Key,最后就是需要增加一条iptables规则,用于转发。客户端安装OpenVPN后会出现一个虚拟网卡,这样有时候内网就无法访问。一个是可以在客户端配置文件里增加route 192.168.0.0 255.255.0.0 net_gateway 5,二是可以用route命令来修改路由表。

  • Nginx反向代理
server 
	{
    	listen          443;
    	server_name     api.twitter.com;

    	ssl on;
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;

    	location / {
        	proxy_pass              https://api.twitter.com:443/;
        	proxy_redirect          off;
        	proxy_set_header        X-Real-IP       $remote_addr;
        	proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header        Host $host;
        	}
	}

呵,你懂的。当然直接这样子是不行的,你还要生成证书,在客户端导入证书,这样就可以正常使用某些应用了。对于手机客户端而言非常有用。

  • xinet, iptables端口转发

相比iptables,xinet端口转发更容易,参考http://linux.die.net/man/5/xinetd.confhttp://adamantsys.com/node/116

# /etc/xinet.d/yourservicename
service yourservicename
{
        disable         = no
        type            = UNLISTED
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        redirect        = targetip targetport
        port            = listenport
}

端口转发用来干什么,你懂的。 🙂

  • 修改Hosts

为什么说修改Hosts也OK呢,因为大多数公司的限制上网都是根据URL来判断的,一般不会去封IP,这样的话,再配合VPS上其它工具,就可以。。。。呵呵。

PS:L2TP/PPTP,现在我这个VPS用的是OpenVZ,无法使用PPTP,后来试了另外一个VPS,XEN,上网搜了搜,蛮多配置方法的。比较容易搞定,手机一般都会有这种VPN方式。

This entry was posted in Debian, VPS and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *