TP-Link 703n, OpenWrt, Cisco VPN, CHNROUTES
前段日子在@weeker的怂恿下购置了TP-Link 703N,100软妹币有找。买这么个烂牌子的小东西回来当然是用来折腾的,以下便是折腾内容:
先来看看703N的硬件参数:
- Atheros AR7240 CPU (400Mhz)
- Atheros AR9331 Chipset (integrated wireless)
- 802.11 b/g/n 150Mbps (130Mbps real)
- wireless power output 20dBm – 100mW
- 4 MB flash memory
- 32 MB RAM
- USB 2.0 port
- Powered via micro-USB socket
- Tiny form factor: 5.7cm x 5.7cm
总结下:这玩意很小;它用USB供电;AR芯片OPEN-WRT支持;4MB FLASH刷OPEN-WRT勉强够用;32MB RAM对于OPEN-WRT来说足够。所以这玩意不刷OPEN-WRT实在是没天理了。另外这玩意的供电是5V USB,启动电流185MA,实际工作电流只有100MA。所以除了任何USB充电器外,电脑的USB口的供电也绰绰有余,至于拿外接电池包或者飞利浦 X130那样妖艳的玩意来供电也是一点问题都没有的。
闲话少说,开刷。去OPEN-WRT页面下载相应固件:squashfs-factory.bin。然后登陆到TP-LINK的Web管理界面进入固件升级菜单选择此固件升级开刷。由于此文拖稿拖了有两个月,所以具体截图已不可寻,至于要等多久才算刷完记忆也有点模糊,所以大家就多等些时候再去断电源重启为好。
刷完重启后你会发现TP-Link原有的WIFI SSID已经没有了,而且也没多出类似叫“OPEN-WRT”之类的SSID出来,所以这玩意已经给你刷成砖了orz。好吧,第一次就刷成砖的可能性还是很小的,你看不到WIFI SSID是因为这个固件默认是把WIFI关闭的Orz。如果你有另一台路由器可以先把703N连在上面,这样它能获取到一个地址可以让你TELNET上去配置,如果没有路由器可以这么干:给703N通电启动后拿一个针反复捅它的RESET孔(不用很频繁,1秒1次就行),捅的差不多的时候703N的蓝色指示灯就会开始反复闪烁,这个时候就不用捅了。用网线把703N和你的电脑相连,电脑的IP地址设为“192.168.1.2/255.255.255.0”,然后“telnet 192.168.1.1”应该就能连上了。
由于拖稿时间过长,写到这里我实在记不起默认情况下OPEN-WRT是否会开启SSH,所以大家就当作现在我们还是在用telnet连接吧。由于上面捅reset进入其实是“Failsafe”模式,所以我们要先
mount_root
mount完后先顺手“passwd”把root密码改了。然后去“/etc/config”下面改一下“dhcp, firewall, network, wireless”这四个文件。以下是简单解释:
network
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0' option proto 'dhcp' config interface 'wifi' option proto 'static' option ipaddr '192.168.20.1' option netmask '255.255.255.0'
由于703N就一个网口,所以配两个interface,一个叫’wifi’一个叫’lan’。lan我是设置通过DHCP自动获取地址,而wifi设置了固定的ip’192.168.20.1’。
wireless
config wifi-device 'radio0'
option type 'mac80211'
option macaddr 'xx:xx:xx:xx:xx:xx' //按照各位自己的wifi mac地址来,不用改
option hwmode '11ng'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option channel 'auto'
option txpower '20'
option country 'CN'
option htmode 'HT20'
config wifi-iface
option device 'radio0'
option network 'wifi' //wifi interface的名字,和'/etc/config/network'里的对应
option mode 'ap'
option encryption 'none' //不加密
option macfilter 'allow' //使用mac地址过滤
list maclist 'xx:xx:xx:xx:xx:xx' //允许登陆的mac地址
option ssid 'imwifi' //ssid名字
option hidden '1' //不广播ssid
这里设置WIFI的一些基本信息,注释直接写旁边了。我是设置为不广播ssid,不加密,mac过滤。所以加入wifi网络时需要手动填写wifi ssid。
dhcp
...
config dhcp wifi
option interface wifi
option start 100
option limit 150
option leasetime 12h
list dhcp_option 6,8.8.8.8
config dhcp lan
option interface lan
option ignore 1
前略,两段主要时设置dhcp地址池,'wifi''lan'与之前'/etc/network'中的名字一一对应。
firewall
config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward ACCEPT
# Uncomment this line to disable ipv6 rules
# option disable_ipv6 1
config zone
option name lan
option network 'lan'
option input ACCEPT
option output ACCEPT
option forward ACCEPT
option masq 1
option mtu_fix 1
config zone
option name wifi
option network 'wifi'
option input ACCEPT
option output ACCEPT
option forward ACCEPT
config forwarding
option src lan
option dest wifi
config forwarding
option src wifi
option dest lan
...
主要作用是把lan和wifi互相之间的数据转发都打开,除了wifi可以通过lan口来共享网络外,这样设置wifi和lan口的ip地址都可以用于管理登陆。
接下来说Cisco IPsec VPN配置,请参看此文章:Pure IPsec VPN with IPsec-Tools/Racoon on CentOS,完毕。
最后说下我的路由配置,我的不动脑策略就是把国外的所有流量都走VPN,国内流量都不走VPN。路由表的生成是有chnroutes的脚本完成的,至于加入到路由器的路由表里如果纯粹用“route add”来加三千多条记录是很不合理的,利用点小技巧3秒便搞定了。具体可以参看最后我提供的配置文件里的“up.sh”。
最后的最后在“/etc/rc.local”里加几条东西来完成自动连接VPN以及添加路由表。
rc.local
sleep 5
/sbin/vpncwatch -c twitter.com -p 80 -i 10 vpnc /etc/vpnc/default.conf
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -j MASQUERADE
iptables -t mangle -I FORWARD -o tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -I FORWARD -i tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A OUTPUT -o tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
sleep 5
/etc/up.sh
exit 0
此文成文比较仓促,没有提到如何安装vpnc之类的软件过程,各位可以搜索“opkg update”“opkg install vpnc”这样的条目自学一下。全部配置完后记得“reboot -f”重启即可。
12 Responses to “TP-Link 703n, OpenWrt, Cisco VPN, CHNROUTES”
-
-
请问 用原版703刷rom空间够用吗? pptp/l2tp 加chnroutes
-
我的703N,差点被我刷成砖头,好在最后救活了.暂时还没折腾到VPN呢
-
物尽其用大概就是这个了 :)
-
可否做到让703n进行pppoe拨号?
-
有没有关于open wrt的网站推荐。。。最近貌似要做类似的东西
-
望指导 703n 使用openwrt 怎样拨bras(校内一种vpn) ,非常感谢
-
你这个东西肯定会误导很多新人的。里面不少错误啊
-
楼上的,你说“误导很多新人的。里面不少错误啊”。
可是,如果把自己的真实配置写出来的话?
很危险的。
请问703n配套的电源适配器,输出电压和电流是多少呢?不知能否用iPhone充电器给它供电,这样出门少带一样