找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 73666|回复: 42

TP-Link WR720N刷入OpenWrt之一般流程

  [复制链接]
发表于 2014-2-6 00:12 | 显示全部楼层 |阅读模式
本帖最后由 江海客 于 2014-2-6 00:12 编辑

这些天因为某些原因,一直在折腾我的TP-Link WR720N V3,也算是物尽其用吧,为榨干它的所有剩余价值,就刷成OpenWrt了。

目前的需求大约如下:

  • 无线上网(╮(╯_╰)╭)
  • 挂载USB设备(USB存储、摄像头等)
  • USB启动(用于扩展系统空间)
  • SSH安全隧道(安全代理)
  • wifi的web认证

以上需求可能会因为实际情况发生改变,以后再记录。

刷OpenWrt之前,特地学习了一下OpenWrt Image Builder,OIB是OpenWrt的预编译环境,作用是将已经编译完成的软件包进行打包。相对于从源码编译而言,OIB要省时省力。当然,在定制方面也受到了些许限制,不过都在可以接受的范围之内。我按照自己的需求已经将自己需要的软件编译到刷机包当中。为了此文的适用性,以下内容还是按照官方版的默认配置进行说明。

登录OpenWrt官方网站,查看支持列表发现默认支持我的设备,直接下载刷机包做准备。

使用网线连接电脑和路由的LAN口,输入路由的地址,默认为http://192.168.1.253/,登录路由,在系统升级页面选择刷机包openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin,选择不保存配置,确认升级。在升级过程中不可断电。当升级结束后,电脑与路由会重新建立连接。

打开命令提示符,登录到路由的控制平台。

telnet 192.168.1.1

OpenWrt的wifi并非默认开启,我们需要修改一下wifi的配置文件来开启它。

vi /etc/config/wireless

删除此行内容

option disabled 1

保存,退出。

重启路由,启动后,我们就可以抛开网线了。

我的网络环境是直接接入上级路由,无需拨号,所以,将路由的WAN口直接接入上级网络即可上网。

评分

参与人数 1恩山币 +1 收起 理由
dsjnc + 1 一看就是觉得高端、大气、上档次!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2014-2-6 00:12 | 显示全部楼层

上次我们已经刷入了OpenWrt、开启了wifi,并接入了网络。接下来,我们要给路由安装USB存储的支持。

之前,我们使用Telnet登录路由器,为了路由的安全我们将设置root的密码,并使用SSH登录路由。

telnet 192.168.1.1

接下来修改密码

passwd root

输入两次新密码,关闭命令提示符。

至此,路由的Telnet服务就关闭了,并开启了SSH服务。SSH的客户端推荐使用PuTTY。使用SSH登录路由以后我们先更新一下软件包列表。

opkg update

一切正常的话我们将得到以下反馈。

Downloading http://downloads.openwrt.org/sna ... ckages/Packages.gz.
Updated list of available packages in /var/opkg-lists/barrier_breaker.

下面,我们就可以安装系统中所缺少的软件了。

opkg install kmod-usb-storage #USB存储支持
opkg install kmod-fs-ext4          #ext文件系统支持,向下兼容
opkg install kmod-nls-utf8        #UTF-8字符支持
opkg install block-mount           #USB挂载支持,USB启动支持

安装完成后,插入Ext3或者Ext4格式的U盘,系统将会自动识别出来。

ls /dev

能够看到类似sda、sda1、sda2这样的命名。

mount /dev/sda1 /mnt #将sda1分区挂载到/mnt
cd /mnt #打开/mnt

这样就成功挂载了U盘。

接下来,我们要让系统从U盘启动,来扩展下可怜的不到4M的空间。

mount /dev/sda1 /mnt #挂载sda1到mnt
mkdir /tmp/root #创建根文件夹镜像
mount -o bind / /tmp/root #绑定根目录到镜像文件夹
cp /tmp/root/* /mnt -a #复制根文件夹所有文件到/mnt
echo Boot from U-Disk >> /mnt/etc/banner #写入一个提示用于表示这是U盘启动
umount /tmp/root #卸载
umount /mnt #卸载

U盘启动所需要的文件已经准备好了,接下来要让系统启动时自动挂载U盘并从U盘启动。

vi /etc/config/fstab #编辑fstab配置文件

添加以下内容(#为注释内容,可以不添加)

config ‘mount’
# option target ‘/overlay’ #挂载到/overlay
option device ‘dev/sda1′
# option fstype ‘ext3′ #推荐ext3格式
# option options ‘rw, sync’ #模式选项
# option enabled_fsck ’1′ #检查修复磁盘错误
option enabled ’1′
option is_rootfs ’1′

运行以下内容

/etc/init.d/fstab enable #开机启动fstab
reboot #重启

按此配置,一切正常的话,当重启完成登录SSH后就会看到最后一行提示为

Boot from U-Disk

好了,系统挂载在U盘启动到此完成。


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-6 00:12 | 显示全部楼层

SSH是个好东西,用途多多。

OpenWrt自带的SSH为Dropbear,略显薄弱,直接换OpenSSH。

登录OpenWrt,先移除Dropbear。

opkg remove dropbear

更新列表

opkg uodate

安装OpenSSH

opkg install openssh-client #安装OpenSSH客户端
opkg install openssh-server #安装OpenSSH服务端

安装完成后先登录远程主机测试一下。

ssh user@host

连接成功就可以继续了。

ssh -D 0.0.0.0.0:7070 user@host

成功开启socks代理。目前,你可以通过Chrome+SwitchySharp或者FireFox+AutoProxy之类的组合做一些你想做的事情。这些不在本文讨论内容之列。

手动启动SSH、意外断开连接都是目前的弊端。不过,好在有一个很舒心的小工具autossh。

opkg update
opkg install autossh

为了方便登录远端服务器,先生成一下秘钥

ssh-keygen -b 1024 -t rsa

一路回车通过。会生成两个文件。

ls ~/.ssh
id_rsa id_rsa.pub

上传id_rsa.pub的内容到服务器,追加到这个文件最后。

~/.ssh/authorized_keys

修改autossh配置文件

vi /etc/config/autossh
config autossh
option ssh ‘-i /root/.ssh/id_rsa -D 0.0.0.0:7070 user@host’ #不用解释吧
option gatetime ’0′
option monitorport ’20000′
option poll ’600′

然后执行

/etc/init.d/autossh enable
/etc/init.d/autossh start

好了,现在,只要路由启动socks代理就启用了。


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-6 00:12 | 显示全部楼层

socks代理有了,我们再来个http代理。

opkg update
opkg install polipo

编辑配置文件

vi /etc/polipo/config

在尾端增加以下几行

proxyAddress = “0.0.0.0″
proxyPort = 8123
proxyName = “localhost”
cacheIsShared = false
socksParentProxy = “localhost:7070″
socksProxyType = socks5
diskCacheRoot = “”
localDocumentRoot = “”
disableLocalInterface = true
disableConfiguration = true
dnsUseGethostbyname = yes
disableVia=false
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535
maxAge = 0
maxExpiresAge = 0

Polipo的开机启动有些问题,原始的开机启动加载的配置文件很奇葩。所以我们用以下方式修改。

编辑开机启动文件

vi /etc/init.d/mypolipo

输入

#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org
START=99
start() {
service_start /usr/sbin/polipo -c ‘/etc/polipo/config’
}
stop() {
service_stop /usr/sbin/polipo -c ‘/etc/polipo/config’
}

然后设置执行权限,允许开启自启动,并运行

chmod +x /etc/init.d/mypolipo
/etc/init.d/mypolipo enable
/etc/init.d/mypolipo start

至此,端口为8123的HTTP代理就架设成功。与socks同在,各取所需吧。


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-6 00:12 | 显示全部楼层

OpenWrt和Nginx其实是绝配的,他们很合拍。下面的操作,可以让你的OpenWrt基本支持Nginx+PHP。

opkg update
opkg install nginx
opkg install php5
opkg install php5-cgi
opkg install php5-fastcgi
opkg install spawn-fcgi

编辑Nginx配置文件

vi /etc/nginx/nginx.conf
    server {        listen       88; #设置端口        server_name  localhost;        location / {            root   /home;        #设置主目录            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        location ~ \.php$ {            root           /home; #cgi目录            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #别管什么了,这行就这样            include        fastcgi_params;        }    }

然后呢,把这句加到开机启动。

spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -f php-cgi

然后,没了。

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-6 00:12 | 显示全部楼层
接下来,透明代理,WEB认证,恩,以后再发...
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-6 08:43 | 显示全部楼层
本帖最后由 逍遥剑侠 于 2014-2-9 18:34 编辑

安装luci
opkg install luci
opkg install luci-i18n-chinese 就成中文

然后执行
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

启动luci



我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-7 00:31 | 显示全部楼层
720N哈哈,昨天今天刷的OP,PT下载直接把路由器跑的重启了,挂载移动硬盘倒是没有问题,用USB hub挂载一个U盘扩容,一个移动硬盘当存储
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-7 01:01 | 显示全部楼层
    telnet 192.168.1.1

OpenWrt的wifi并非默认开启,我们需要修改一下wifi的配置文件来开启它。

    vi /etc/config/wireless

删除此行内容

    option disabled 1

保存,退出。

这样开了无线,那硬复位后重启无线还开着吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-7 09:11 | 显示全部楼层
bsctv 发表于 2014-2-7 01:01
telnet 192.168.1.1

OpenWrt的wifi并非默认开启,我们需要修改一下wifi的配置文件来开启它。

复位后就是你刚刷入的状态。默认无线关闭。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-7 10:22 | 显示全部楼层
江海客 发表于 2014-2-7 09:11
复位后就是你刚刷入的状态。默认无线关闭。

能修改为硬复位后默认开启么,有这需要
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-7 11:08 | 显示全部楼层
很好的教程,先收了,多谢楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-8 01:36 来自手机 | 显示全部楼层
利害,这个小方方都玩第三方固件!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-2-8 07:23 | 显示全部楼层
非常详细的教程,很有得借鉴
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-2-10 23:01 | 显示全部楼层
bsctv 发表于 2014-2-7 10:22
能修改为硬复位后默认开启么,有这需要

使用OpenWrt Image Builder对OpenWrt进行打包时可以将配置文件写入刷机包,作为默认值,请参考OpenWrt Image Builder的使用方法。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-17 05:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表