小伙伴们,今天又是我(R6300 V2)当值哦,上次与大家一起分享了在DD-WRT固件下的各种玩法,今天一起来看看如何在R6300 V2下安装Optware并实现OpenVPN的自动连接吧!
Optware是DD-WRT系统中的一个类似第三方软件的运行环境,之所以叫做Optware是因为这个环境是装在/opt目录下的,值得注意的是,这个opt也有自己的/bin、/etc、/lib等目录,基本和一个完整的linux环境类似。
Optware的软件都是已经编译好了的,通过ipkg软件进行下载安装,只要知道软件名就能通过ipkg install 软件名,进行安装。Optware也有好几种,DD-WRT自己维护了一个版本,OpenWRT也有一个,华硕也有一个Oleg Optware,他们都是可以使用的,就是性能和各自源内的软件略有不同而已,可以同时装若干个,不用都放在/opt下面的。
Optware下的软件大多非常实用,国内用户常用的包括一系列的自动运行软件,如BT下载客户端、VPN自动运行、远程监控等等。
执行JFFS下的OPT目录挂载命令,代码如下:
mkdir /jffs/opt
mount --bind /jffs/opt /opt
注意,opt挂载命名至关重要,由于之前配置迅雷xware固件时已经对opt进行了授权,隐蔽笔者一度偷懒只是对JFFS进行了mkdir,没做mount,结果华丽丽的报错了,最终补上命令后才实现正常挂载并进入下一步操作。
执行opkg包安装命令,代码如下:
ipkg update
ipkg install opkg
在jffs目录下创建etc目录并配置opkg/conf文件,具体内容如下:
echo "src openwrtarmhttp://downloads.openwrt.org/snapshots/trunk/imx6/packages/">/jffs/etc/opkg.conf
echo "dest root/opt" >> /jffs/etc/opkg.conf
echo "dest ram/tmp" >> /jffs/etc/opkg.conf
echo "lists_dir ext/jffs/var/opkg-lists" >> /jffs/etc/opkg.conf
echo "option overlay_root/jffs/overlay" >> /jffs/etc/opkg.conf
更新opk.conf配置文件,代码如下:
opkg -f /jffs/etc/opkg.confupdate
安装opkg软件包,代码如下:
opkg -f /jffs/etc/opkg.conf--force-depends install <软件包>
至此OPT环境搭载完成,用户这时即可通过以上命名安装自己需要的软件,并配置开机自动运行等命名。
OpenVPN的自动连接
首先需要一说的是,我们 这里只讨论OpenVPN的自动连接问题,不涉及VPN服务器及秘钥证书的申请等问题。
首先我们要在/jffs/openvpn/下新建一個openvpn.conf文件,具体內容如下:
up 'iptables -A POSTROUTING-t nat -o tun0 -j MASQUERADE; /jffs/openvpn/vpnup.sh openvpn'
down 'iptables -DPOSTROUTING -t nat -o tun0 -j MASQUERADE; /jffs/openvpn/vpndown.sh openvpn'
client
dev tun
ca /jffs/openvpn/ca.crt
cert/jffs/openvpn/client.crt
key /jffs/openvpn/client.key
<connection>
remote<server1_ip_address> 443 udp
</connection>
<connection>
remote<server2_ip_address> 53 tcp
</connection>
remote-random
resolv-retry infinite
nobind
float
persist-key
persist-tun
comp-lzo
verb 3
remote-cert-tls server
ping 10
ping-restart 60
redirect-gateway def1
auth-user-pass/jffs/openvpn/password.txt
log /tmp/openvpn.log
需要一提的是,静态证书是需要自己申请的,如果你的服务提供商有提供相应的证书下载那是最好的。
设置开机时不启动DD-WRT自带的openvpn服务,代码如下:
nvram set openvpncl_enable=0
nvram commit
测试脚本是否成功,代码如下
killall openvpn
openvpn --config/jffs/openvpn/openvpn.conf --verb 5
ipkg文件的安装
前面看到了opkg文件的安装,这里我们就顺道说一下ipkg文件包的安装。其实ipkg的资源比前者丰富很多,这里简单的说一下ipkg的文件安装方式,目前几个常用的ipkg源都是由OpenWRT维护的,DD-WRT也有自己的源,但是规模要小很多。
首先更新ipkg源,代码如下:
ipkg update
默认的源里面的软件目录其实比较老的,但是还算全,这里随意安装一个Protmap试试。
Optware和OpenVPN的组合小结:
一张图说明Optware加上OpenVPN的用途
与华硕RT-AC68U使用的Optware+Gogate组合不同,OpenVPN适用于较为复杂的环境,两者在速度方面比较的话后者会快一些,毕竟前者需要调用到谷歌的API, 而且后者在实现方面不存在太大的难度,实际上Optware+Gogate的组合还略显复杂一些。