路由器上使用TUN部署OpenVPN

之前写过一篇“路由器上部署OpenVPN务器”,发现tap虽然方便,但在手机上无法使用,所以想把方式改成tun,这就涉及到互联的问题了。参考了网上几篇贴子,结合自己的实际操作记录一下。

参考“通过Tomato路由器和OpenVPN实现两地局域网互联”的方法,解决了tun及互联的问题,我的操作如下:

  1. 方式由“tap”改为“tun”,防火墙由“自动”改为“自定义”,网段我设成“10.0.11.0/255.255.255.0”
  2. 高级钩选“Push LAN to clients”,自定义配置填如下内容(要预先启用jffs并格式化):
    ifconfig-pool-persist /jffs/ipp.txt
    ccd-exclusive
    client-config-dir /jffs/ccd
    script-security 2
    client-to-client
  3. 密钥保持原tap方式不变。

然后到系统管理->脚本设置,在“防火墙”页面填如下内容(假设端口是tcp 1194,路由器网站是192.168.1.0,tun的编号要到“高级设置->路由表设置”里去查看网络接口):
iptables -I INPUT 1 -p tcp –dport 1194 -j ACCEPT
iptables -A FORWARD -i tun21 -s 10.0.11.0/24 -d 192.168.1.0/24 -j ACCEPT
然后重启路由器。

给客户端设置固定IP方法,参考“OpenVPN 分配固定IP”,因为openvpn只支持255.255.255.252的子网,252 子网只有 三个IP,一个给客户端,一个给服务器,一个给广播地址,所以/jffs/ccd目录下给各个客户端分配的IP范围是ifconfig-push 10.0.11.1+(N*4) 10.0.11.2+(N*4),N=0~63,其它IP无效。

Tags:

Leave a Reply