本篇博客是对上学期关于OpenWrt一些操作的总结。由于只是针对TP-LINK WR703N进行的操作,所以只针对该型号路由器做总结。总结内容包括:
刷路由操作系统为OpenWrt
开启WiFi,设置pppoe联网
安装LUCI,支持中文界面
增加新用户
挂载USB设备
安装vsftpd作为ftp服务器
安装transmission实现脱机下载
Flash=4MB RAM=32MB ar9331芯片属于ar71xx
前提:路由操作系统已经是OpenWrt,不凭借LUCI,通过命令行方式更新OpenWrt。
1,在官网下载最新的OpenWrt固件(1,最新可以保证各种软件的安装不会出问题 2,官网固件不提供界面LUCI),链接如下:固件下载链接。进入链接地址后,找到对应于TP-LINK WR703N的固件,会有如下四个:
首先,有两种不同的格式,即jffs2与squashfs,这两种不同格式的固件区别在于,squashfs安装后,会占用一定的空间来存放系统的一些必要文件,这些文件都只是可读的,这些文件的作用是帮助恢复系统,当OpenWrt崩溃时,可以基于这些文件,使用firstboot脚本重建初始系统,而jffs2则不会存储这样的文件,好处在于节省了空间。一般,我们都使用squashfs格式的固件,方便恢复系统到初始状态。
其次,每种格式都有两个文件,factory与sysupgrade,这两个文件的区别是,factory多了一些验证的东西,用于在原厂固件的基础上进行升级,如果已经是OpenWrt,直接使用第二个文件即可。并且,在原厂固件的基础上进行升级时,首先使用factory文件,然后需要再次使用sysupgrade文件,选择不保留原来配置进行升级。
2,使用WinSCP,把sysupgrade固件拷贝到某一目录下,如/tmp之下
3,使用命令:mtd -r write /tmp/xxx.bin firmware
补充:
①使用HFS网络文件服务器也非常方便。使用putty登入后,首先把固件下载到/tmp文件夹下:
wget http://192.168.175.1:8080/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin
然后刷新即可。
②使用界面进行刷新非常方便,只做简单介绍。无论是原厂界面还是OpenWrt的操作界面,首先选择进入固件升级页,然后选择对应的固件,上传确认即可。需要注意的是,如果是原厂固件,需要先刷factory,此时所得到的就已经是OpenWrt了,然后在该界面上选择sysupgrade文件,进行升级即可。
升级结束后,使用telnet登入,添加密码以开启SSH服务(dropbear开始运行),命令依次如下:
telnet 192.168.1.1
passwd admin
passwd admin
即可为root用户添加密码admin。
刷入官方提供的固件后,是不带LUCI的,所以需要首先设置联网,然后在线安装LUCI与中文支持。设置联网主要是修改两个文件,/etc/config/network与/etc/config/wireless。可以使用WinSCP直接找到相应的文件来做修改,亦可以通过putty登陆,使用vi修改,还可以直接在命令行下修改,最终,支持pppoe联网的文件基本内容为:
/etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option hwmode '11ng'
option path 'platform/ar933x_wmac'
option htmode 'HT20'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option disabled '0' #open wireless
option txpower '17' #set power
option channel '6' #set channel
config wifi-iface
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'wifi-home' #wifi name
option encryption 'your encryption' #encrypt way
option key 'your key' #key
/etc/config/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 proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option type 'bridge' config interface 'wan' option ifname 'eth0' #allocate network card option proto 'pppoe' option username 'your username' option password 'your password'
输入命令依次如下:
设置lan ip uci set network.lan.ipaddr=192.168.1.1 设置pppoe 上网 uci set network.wan.ifname=eth0 // 分配网卡 uci set network.wan.proto=pppoe uci set network.wan.username=a03553558228 uci set network.wan.password=508538 设置无线 uci set wireless.@wifi-device[0].disabled=0 uci set wireless.@wifi-device[0].txpower=17 uci set wireless.@wifi-device[0].channel=6 uci set wireless.@wifi-iface[0].mode=ap uci set wireless.@wifi-iface[0].ssid=wifi-home uci set wireless.@wifi-iface[0].network=lan uci set wireless.@wifi-iface[0].encryption=psk2 uci set wireless.@wifi-iface[0].key=wifihomeqp 应用设置 uci commit 重启网络服务 /etc/init.d/network restart通过以上操作,修改网络配置文件,重启路由或重启网络服务,即可实现pppoe上网。
开启无线,设置pppoe联网后,就无法再通过网线连接PC与Router进而访问路由了。原因我是这么看的,wr703n只有一个网卡eht0,联网前用作lan,联网后用作了wan,所以就只能通过无线连接到lan了。
关于其他联网方式就不再说明了。
使用putty登陆路由后,通过如下命令安装LUCI与中文包:
opkg update // 更新软件列表
opkg list-installed // 查看已安装软件
opkg install luci // 安装LUCI
opkg install luci-i18n-chinese // 支持中文
即可完成LUCI的安装。
输入以下命令开启支持web服务的uhttpd,并设置其为自启动:
/etc/init.d/uhttpd enable # 开机自启动
/etc/init.d/uhttpd start # 启动uhttpd
默认OpenWrt只有root用户,这里来添加另一个用户。
OpenWrt中提供有用户权限管理所需要的一系列软件,见下图:
可以安装后,使用Linux命令进行用户的管理。这里我使用的方法是直接修改下列配置文件:
/etc/passwd,/etc/passwd-,/etc/shadow,/etc/shadow-,/etc/group。
在/etc/passwd与/etc/passwd-文件中增加:
qinpeng:x:10000:10000:qinpeng:/home/qinpeng:/bin/ash
在/etc/shadow与/etc/shadow-文件中增加:
qinpeng:$1$RPtWBVD1$t6BpBLeVFnAnZ3BQ43rCU/:0:0:99999:7:::
在/etc/group文件中增加:
qinpeng:x:1000:qinpeng
相应的,把qinpeng这个换成自己的用户名即可,登陆密码与root一样,admin,这个我通过安装passwd来完成之后的修改。至于这几行是什么意思,网上资料许多,可以自己bg一下。之后我也可以在写写。总之,添加完成之后,就多了一个用户:qinpneg,密码:admin。然后,新建目录/home/qinpeng,修改权限为755,修改所有者是qinpeng,组也为qinpeng。之后,一个新用户就有了。
之前介绍的一系列操作,其实当时都是在这一步的基础之上的。挂载USB设备后,就可以随心所欲的安装各种软件,摆脱硬件的限制。这些内容下次再写吧!