[OpenWrt] OpenWrt的网上笔记
OpenWrt的网上笔记
笔记: | gashero |
---|---|
日期: | 2009-09-04 |
目录
- 1 简介
- 2 参考文献
- 3 OpenWrt介绍
- 3.1 NVRAM操作
- 4 准备工作
- 5 关于Belkin 7231-4P
- 6 内核配置与编译
- 7 安装
- 7.1 清空nvram
- 7.2 安装firmware
- 7.3 TFTP方式安装
- 7.4 MTD方式安装
- 7.5 对改装的路由恢复64MB内存设置
- 7.6 7231-4P的WEB安装OpenWrt-kamikaze-8.09.1
- 8 后期配置
- 8.1 配置MAC地址,未确定版本
- 8.2 设置路由的内网IP地址
- 8.3 无线网络配置
- 8.4 PPPoE上网配置
- 8.5 简单的无线中继配置
- 8.6 修改路由器交换端口
- 9 软件与模块安装
- 9.1 安装USB设备
- 10 故障解决
- 11 我的归纳
2 参考文献
tsend time的博客: http://blog.chinaunix.net/u1/38213/ :
- [r]DD-WRT初次接触: http://blog.chinaunix.net/u1/38213/showart_1889929.html
- [r]OpenWrt-1.安装手记: http://blog.chinaunix.net/u1/38213/showart_1890101.html
- [u]OpenWrt FAQ-入门级别的中文帮助: http://blog.chinaunix.net/u1/38213/showart_1890319.html
- [r]OpenWrt NVRAM集合: http://blog.chinaunix.net/u1/38213/showart_1890362.html
- [r]OpenWrt-2.投入工作: http://blog.chinaunix.net/u1/38213/showart_1890368.html
- [r]OpenWrt固件介绍: http://www.ssbbcc.com/349.html
- [r]路由器升级版本选择(DD-WRT/TOMATO/...): http://www.ssbbcc.com/228.html
- [i]贝尔金7231-4P 64M版介绍: http://www.ssbbcc.com/224.html (还有关于JTAG的内容)
- [r]OpenWrt固件配置简介: http://www.ssbbcc.com/398.html
- [u]主页: http://www.lupaworld.com/131820/ 包含一些OpenWrt编译的笔记,不过设备不同
- [r]非常方便的OpenWrt的嵌入式Linux开发环境: http://www.lupaworld.com/131820/viewspace-108558.html 一些没什么内容的介绍
- [r]OpenWrt嵌入式Linux开发环境: http://www.dzkf.cn/html/qianrushixitong/2009/0525/3795.html 关于WRT的历史
- [i]一个小型的无线路由器Linux系统OpenWRT:http://www.cppblog.com/Khan/archive/2006/11/23/15573.html (还有很多关于nvram设置的提示)
- [u]OpenMoko移植OpenWrt: http://wiki.openmoko.org/wiki/OpenWrt/zh_cn
- [u]OpenWrt经验小结: http://blog.liuyi.info/openwrt (主要讲WRT54G有关的)
- [u]什么是OpenWrt: http://hi.baidu.com/fnsoxt/blog/item/c2414f10a6fa33fcc2ce79d7.html (简介)
- [r]OpenWrt/kamikaze/8.09.1/brcm-2.4/ 7231-4P路由器安装笔记:http://hi.baidu.com/westhack/blog/item/64cdcc455b58642fcefca361.html
- [r]备份CFE和NVRAM的命令: http://hi.baidu.com/westhack/blog/item/5a6bfe35aedcda1690ef3976.html
- [u]刷OpenWrt教程: http://hi.baidu.com/lnas/blog/item/15497166f835f02cab184c84.html (包含一些有用的外部链接)
- [r]OpenWrt Remote Admin: http://www.wantmoore.com/archives/2007/08/06/openwrt-remote-admin/
4 准备工作
判断硬件支持主要是看CPU型号。查看 http://oldwiki.openwrt.org/TableOfHardware.html 。
设备 | 参数 |
型号 | F5D 7231-4P |
CPU | Broadcom 4712 200MHz |
闪存 | 4MB |
内存 | 64MB |
交换机芯片 | ADM6996L |
版本 | 不确定 |
按照硬件支持列表中来看,只剩下两种可能,一种是Support,一种是Untest。应该没问题的。
下载的镜像有多种版本:brcm是指CPU方面的通用版本,jffs2是指文件系统可写,但是较大,squashfs是只读文件系统,但是压缩后很小。
.trx版本是通用的,.bin为了提供设备支持而做的。首先尝试.trx版本。
dd if=/dev/mtd/0 of=/tmp/cfe.bin dd if=/dev/mtd/3 of=/tmp/nvram.bin
5 关于Belkin 7231-4P
# nvram show | grep corerev wl_corerev= wl0_corerev=7
- wl0_corerev=4 :一定使用VINT版
- wl0_corerev>=5 <=7 :使用VINT和NEWD均可,推荐VINT
- wl0_corerev>=8 :使用VINT和NEWD均可
- wl0_corerev>9 :一定使用NEWD
如果结果不唯一,就先刷一个试试。我的是7。市面上买到的一部分时7230-4改的。一款刷不坏的路由。建议不要碰CFE,因为坏了需要JTAG才能修复。
7 安装
直接下载的brcom没有bin版本,只有trx版,一个作者尝试该文件名直接刷,刷成砖头了,重新做nvram以后居然可用了。
7.4 MTD方式安装
下载固件:
wget http://downloads.openwrt.org/kamikaze/...../openwrt-brcom-2.4-squashfs.trx
使用mtd刷新进去:
mtd -r write openwrt-brcm-2.4-squashfs.trx linux
7.5 对改装的路由恢复64MB内存设置
telnet登录: telnet 192.168.1.1
用户名root,密码admin
输入如下命令,一共5行:
nvram set sdram_init=0x0008 nvram set sdram_config=0x0033 nvram set sdram_ncdl=0x0000 nvran commit reboot
不要断电,等待路由重启完成
恢复32MB内存的命令:
nvram set sdram_init=0x0008 #另一说0x000a nvran set sdram_ncdl=0x0000 nvran commit reboot
8 后期配置
8.1 配置MAC地址,未确定版本
nvram set il0macaddr=00:11:50:xx:xx:xx nvram set et0macaddr=00:11:50:xx:xx:xx nvram set et1macaddr=00:11:50:xx:xx:xx nvram set wan_hwaddr=xx:xx:xx:xx:xx:xx nvram set lan_hwaddr=xx:xx:xx:xx:xx:xx nvram set wl0_hwaddr=xx:xx:xx:xx:xx:xx nvram commit reboot
8.3 无线网络配置
修改文件 /etc/config/wireless,寻找 config wifi-iface ,如下修改:
option ssid XXXXXX #定义SSID option mode ap #AP的工作模式 option encryption none #不加密 option encryption wep #WEP加密 option key 1 option key1 XXXXXXX #密钥,wep64为10个16进制数字,wep128为26个16进制数字 option encryption psk #WPA-PSK加密 option key XXXXXX #WPA密钥 option hidden 1 #启用SSID隐藏,0为广播
#option disable 1
/etc/init.d/network restart
8.4 PPPoE上网配置
自动获取IP的PPPoE,修改 /etc/config/network,寻找 config interface wan ,如下修改:
option ifname "eth0.1" option proto pppoe option username <username> #PPPoE用户名 option password <password> #PPPoE密码 option macaddr xx:xx:xx:xx:xx:xx #MAC地址克隆
/etc/init.d/network restart
option ifname "eth0.1" option proto dhcp option hostname <routername> #设置路由器机器名
9 软件与模块安装
9.1 安装USB设备
opkg update opkg install kmod-usb-ohci opkg install kmod-usb-storage
opkg install kmod-fs-ext3 opkg install e2fsprogs
接入U盘,可以用dmesg看到 /dev/scsi/host0/bus0/target0/lun0 之类的信息,并可以认出型号。
mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1
mkdir /opt mount -t ext3 /dev/scsi/host0/bus0/target0/lun0/part1 /opt
开机自动挂载U盘,建立 /etc/init.d/optware文件。这种太复杂,略过。
可以通过设置 /etc/fstab来自动挂载,先启用fstab:
# uci set fstab.@mount[0].enabled=1 # uci set fstab.@mount[0].fstype=ext3 # uci set fstab.@mount[0].device=/dev/mmcblk0p1 # uci set fstab.@mount[0].target=/mnt/mmc # uci set fstab.@mount[0].options=rw,sync,noatime # uci commit fstab # /etc/init.d/fstab restart
11 我的归纳
刷firmware时可以用web界面升级,扩展名必须由.trx改成.bin。
刷完以后就可以直接进telnet来进行配置了。主要顺序如下:
这时应该就可以上网了,默认情况下对内网的DHCP是打开的,这个不用担心。
这时可以进入WEB管理界面看看,注意立即修改自己的管理密码。
修改管理密码以后telnet就无法使用了,但是可以使用ssh了。
安装完 kmod-usb-ohci 、 kmod-usb-storage 、 kmod-fs-ext3 这3个模块以后 /jffs分区已经使用600KB了,剩余1.1MB。
dest usb /mnt/usb option force_space #option overlay_root /jffs #?
mount /dev/scsi/host0/...../part1 /mnt/usb opkg update opkg -d usb install xxxxx
export PATH=$PATH:/mnt/usb/bin:/mnt/usb/usr/bin export LD_LIBRARY_PATH:/mnt/usb/lib:/mnt/usb/usr/libmount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt/usb sleep 1 svnserve -d -r /mnt/usb/svnroot --listen-host=0.0.0.0 --listen-port=3690
先建立文件 /etc/config/ddns,这样就可以用uci体系进行配置了:
config 3322option user username:passwordoption server www.3322.orgoption name myname.3322.org
建立文件 /etc/hotplug.d/iface/30-update3322,并且可执行,内容如下:
# cat /etc/hotplug.d/iface/30-update3322 NAME=wget CONFIG=ddns COMMAND=/usr/bin/$NAME[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && {[ -x $COMMAND ] && [ -r /etc/config/$CONFIG ] && {. /etc/functions.shconfig_load ddns${COMMAND} -q -O - /"http://`config_get cfg1 user`@`config_get cfg1 server`/dyndns/update?system=dyndns&hostname=`config_get cfg1 name`" 2>&1| logger -t $NAME} & }
这个脚本方式失败,但是后来发现opkg源里面有 ez-ipupdate ,也就是3322使用的IP更新客户端。
cd /etc/rc.d ln -s ../init.d/fstab S42fstab
这时修改 /etc/config/fstab中的U盘挂载就有效了。
ez-ipupdate -s www.3322.org -u zerologos:zlogos
如上也是不能用的,因为ez-ipupdate最近宣布不支持3322(qdns)了。
更新自身IP可以使用3322.org的URL参数来完成,格式如下:
URL=http://<username>:<password>@members.3322.org/dyndns/update?system=dyndns&hostname=<domain>&wildcard=off
wget -q -O - $URL
可以将如上命令写入一个脚本,然后建立脚本 /etc/hotplug.d/qdns_update.sh该脚本用于动态管理网络接口的改变,内容如下:
sh /root/qdns_update.sh >> /mnt/usb/qdns_update.log 2>&1
对于在U盘上安装的软件,启动服务时注意设置好 $PATH 和 $LD_LIBRARY_PATH ,可以考虑在 /etc/init.d目录下的启动脚本中,各个函数前加上如下语句:
source /etc/profile
当然前提是你已经在 /etc/profile中加入了合适的环境变量定义了。
WAN=$(nvram get wan_ifname) LAN=$(nvram get lan_ifname) iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j NAT --to 192.168.1.50 iptables -A forwarding_rule -i $WAN -p tcp --dport 22 -d 192.168.1.50 -j ACCEPT
iptables -s <IP> -t nat -A prerouting_wan -p tcp -dport 22 -j ACCEPT iptables -s <IP> -A input_wan -p tcp -dport 22 -j ACCEPT iptables -s <IP> -t nat -A prerouting_wan -p tcp -dport 1080 -j DNAT -to 192.168.0.1:80 iptables -s <IP> -A input_wan -p tcp -dport 80 -j ACCEPT
[OpenWrt] OpenWrt的网上笔记相关推荐
- OpenWrt的网上笔记
目录 •1 简介 •2 参考文献 •3 OpenWrt介绍 •3.1 NVRAM操作 •4 准备工作 •5 关于Belkin 7231-4P •6 内核配置与编译 •7 ...
- 从零开始学习OpenWrt完美教程+学习笔记
原贴地址:zhidx.jiguo.com/p/186.html Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于G ...
- 【物联网】OpenWrt OpenWRT的源码下载及目录结构
OpenWRT的源码下载及目录结构 OpenWrt的源代码管理默认用的是SVN下载: svn co svn://svn.openwrt.org/openwrt/trunk/ . 还可以用Git下载: ...
- [OpenWrt] openwrt无线配置
先配置有线 设置lan ip(即访问路由的ip) uci set network.lan.ipaddr=[lan ip] 复制代码 pppoe用户 uci set network.wan.proto= ...
- Openwrt+WR703N 折腾笔记
前言 只是个人折腾 Openwrt 的一个流程笔记 过程步骤 Prerequisites To generate a flashable firmware image file with a size ...
- openwrt网上资料
OpenWrt的网上笔记 笔记: gashero 日期: 2009-09-04 目录 1 简介 2 参考文献 3 OpenWrt介绍 3.1 NVRAM操作 4 准备工作 5 ...
- [转]openwrt网上资料
原文地址:http://blog.csdn.net/ffilman/article/details/5754989# OpenWrt的网上笔记 笔记: gashero 日期: 2009-09-04 目 ...
- openwrt 网上资料搜集
OpenWrt的网上笔记 笔记: gashero 日期: 2009-09-04 目录 1 简介 2 参考文献 3 OpenWrt介绍 3.1 NVRAM操作 4 准备工作 5 ...
- 【笔记】openwrt - nginx编译、配置反向代理(https下netdata不显示)
文章目录 # 完整交叉编译 # 完整交叉编译ssl # SDK编译 # 配置反向代理 # 群晖内置nginx配置 # 完整交叉编译 参考:https://servertesa.wordpress.co ...
最新文章
- 香河php程序员_失控的香河最流行的四大职位
- 登录表单 参考新浪微博
- 分布式数据库一定会替代Oracle吗?
- Spring Boot 10:处理Json数据中的null值
- C语言字符串分离数字和字母,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
- layui多文件上传讲解_Layui 多文件上传 SSH
- Node.js:模块查找,引用及缓存机制
- Python 字符串和列表的转化 ,简单到尖叫
- mysql 返回自增id_mysql 返回自增id
- ParaSwap启动Aave V2集成,允许用户在V1和V2版之间进行套利
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
- 巴特沃斯低通滤波器 matlab,基于MATLAB做巴特沃斯低通滤波器..doc
- 简单了解HttpServer的使用
- SH-SSS丨《端到端音视频说话人日志网络》论文线上分享
- Dart中的构造函数
- C语言程序设计博客作业07
- Soft-NMS – Improving Object Detection With One Line of Code
- php_excel表中_如何自动将多行中文转换成拼音,excel表格怎样设置批量将汉字变成拼音...
- centos7 ceph 集群部署
- ubuntu可爱的玩具:小猫咪 oneko
热门文章
- 印象笔记打开错误_使用云笔记,记下永恒的财富
- 个人总结:计算广告概述
- JS基础知识--arguments是什么?
- java stringbuilder清空_如何清除或清空StringBuilder? [重复]
- 计算机在小学英语中的应用,信息技术在英语教学中的应用
- html文本框 控件,HTML5的文本框表单控件
- Bit-banging
- Formily 学习2 (Rxjs 知识)
- vue+nuxtjs中使用swiper( vue-awesome-swiper)缩略图(双向控制)
- 炫界 (893) -(公园现qq号牵)_融创公园学府|露台洋房 演绎生活多样可能