Posts Tagged ‘VPN’

VPN on VPS

Posted in work with tags , .

Mar 2, 10

No reply

这两天刚搞到一台米国的VPS,相当便宜,配置、速度也还不错。周末忙活了两天配了一下VPN,这里做一下笔记:

1. Apache优化

ubuntu下有个apache2-mpm-perfork包,能很显著地降低apache内存占用。装完之后apache的从200M掉到100M!很好很强大!

2. OpenVPN证书生成

这个要在本机做!生成的CA.crt是public key,ca.key是private key,这两个用于生成server和client的证书。因此ca.key一定不要传到server上去,否则别人就能拿来自己生成证书了。

3. 服务器内核配置

服务器端要做nat的话需要内核的tun和iptables_nat module,我的vps是联系管理员给加的,因为自己改不了内核配置。

4. OpenVPN服务器端配置

做NAT需要添加两条:
这个将使客户端将VPN配置成默认网络连接

push "redirect-gateway def1"

这个将设置客户端的DNS服务器(防止DNS劫持)

push "dhcp-option DNS x.x.x.x"

这里DNS可以用OpenDNS的server

5. 用iptables中转来自client的包

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source x.x.x.x

–to-source配置成服务器公网IP。OpenVPN的howto里面的这一条目在我的VPS上不适用。

6. Windows客户端权限问题

windows的GUI客户端需要管理员权限运行。在vista/win7等开启了UAC时,要将gui程序兼容性改为winxp,并默认管理员运行。

7. 客户端route/iptables

按上面配置客户端将会使用VPN做默认连接。可以使用chnroutes来配置国内IP不走VPN.

客户端配置仍然不太满意。正在考虑Firefox的autoproxy插件,再利用什么软件中转到VPN去,然后其余连接用普通的。这样可以大大减少VPN流量并提高访问速度。刚在google code中搜了下openvpn,似乎有相关的项目。firefox那边插件选择连接的可能性不大,理论上。
客户端都配好了再更新。

—PS—
今天本来想跟美女炫耀一下,结果说错话了,适得其反。郁闷。