Configuration of OpenVPN server on OpenWRT Router

在淘宝上花了85元钱买了一个华为HG255D的路由器,内存为64MB,默认刷的OpenWRT 0831的固件,在上面装了openvpn服务器启动后,CPU直接飙到100%。后来换成DD-WRT的固件,可惜支持不完美,wan端口硬是起不来,无奈刷回OpenWRT,不过这次刷的是20120310这个版本的固件,里面默认装好了openvpn,丢一份配置文件启动一下,并不像上回那样吃光所有CPU资源,CPU使用率在10%左右,相当可以了,那索性就再折腾一下吧。

首先将OpenWRT的软件包源换一下,默认的软件太少太少,编辑/etc/opkg.conf,修改src地址为http://download.unxmail.com/hg255d/packages,别忘了opkg update一下哦。

如果没有安装openvpn记得安装一下,opkg install openvpn,安装完之后,会发现如果调用/etc/init.d/openvpn start来启动openvpn会启动不了,找时间改一下这个脚本吧,那现在只能通过命令“openvpn 配置文件”这样的方式来启动,至于配置文件如何写,我是直接从我的ubuntu server上拷贝下来的,完全兼容,贴在下面大家参考一下:

在配置文件中我没有指定ca,cert,key,dh的位置,因为我把他们都拷贝到这一个配置文件中,显得简洁而已,如果想指定也可以。接着就可以启动openvpn服务了,像这样子:openvpn /etc/openvpn/server.conf,可以用netstat -an看看tcp 1194端口是否已经在监听了。

接着就是客户端的配置文件:

这样配置完成之后,会发现客户端根本连不上,因为还得修改一下OpenWRT的防火墙,只需要如下图修改一下就行,没必要像其他教程所说的各种桥接再修改DHCP分配地址。

openwrt-firewall

这样整个openwrt上的openvpn server就部署完成了,其实我买这个路由器的目的就是想在上面部署openvpn,再第一次尝试不行后,想买个树莓派玩玩,现在看来已经没有这个必要了。现在比较麻烦的就是路由器重启后,要手动启动一下openvpn,我将启动代码写在/etc/rc.local里,貌似不管用,再研究研究!其实openvpn默认是启动/etc/config/openvpn里面的配置文件,如果要单独指定一个配置文件,这几将里面的内容全部删掉,改成如下的形式:

这样一来,就完美啦!