RaspberryPi 3b+ 安装OpenWrt教程
layout: post
title: "RaspberryPi 3b+ 安装OpenWrt教程"
date: 2019-09-28 22:00:00 +0800
categories: RaspberryPi
近日在研究p2p原理的时候,因为NAT类型的限制,遇到了不少麻烦,而我们宿舍的路由器又不支持控制NAT方式,于是想在我的树莓派上安装OpenWrt以实现一个NAT可控的路由器,本以为既然有了OpenWrt官方固件,应该会比较简单,可还是遇到了不少麻烦,因此简单记录一下,供遇到同样问题的朋友们参考。
硬件
- Raspberrypi 3b+
首次说明一下需要的硬件,因为 Raspberrypi 3b+ 本身带有无线网卡,网线接口,如果只是打算用树莓派连接WAN,作为无线路由器的话,是不需要任何其他配件的,对于之前的型号,可能就需要配网卡了。
- 显示器、键盘
注意snapshot版本是不带 lcui 的,所以没法直接在浏览器进入管理界面,不过理论上来说,开机之后,通过网线和电脑相连应该就可以通过 192.168.1.1 登录 ssh 了,但是不排除因为网络调整之类的原因导致无法连接,最好直接连接显示器和键盘,便于调试。
固件说明
接下来说一下固件,有两种类型固件,一种是release版本,另一种是snapshot版本。在我安装的时候,release版本不带无线网卡驱动,而snapshot版本不带lcui(也就是用于在浏览器登录的那个路由器管理程序)。
我原本安装的是release版本,安装好之后发现无线网卡无法启动,于是从我的Raspbian系统中复制了相应的无线网卡驱动到OpenWrt系统中,然后就可以成功连接WIFI,也能开AP了,但是由于在之后我连接WAN的时候,树莓派总是莫名重启,频繁到根本无法连接到热点,于是我决定试试snapshot版本。所以下面就从说说snapshot版本的安装与配置过程吧,建议读者安装snapshot版本,我当时查资料的时候大家都推荐的snapshot版本,这应该都是大家试验之后得出的结论。
下载安装
下载
有好几种镜像,分两种文件系统、两种类型( factory 和 sysupgrade ),文件系统都可以,但是要注意 sysupgrade 是用于在路由器管理界面升级使用的,factory 才是使用SD卡刷系统使用的,因为相对更了解ext4,所以我下载了ext4-factory版本。

解压并写入镜像文件
注意sdX代表你SD卡对应的设备文件
gzip -d openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz
sudo dd if=openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img of=/dev/sdX bs=2M conv=fsync
开机
接好显示器和键盘,把sd卡装入树莓派开机,如果不出意外应该就可以看到输出,等屏幕上提示按Enter启动console的时候,就可以按Enter启动终端了。
如果没有显示器的话,可以尝试用网线直接连接电脑,看能否通过 root@192.168.1.1 登录,默认是可以直接登录的,登录之后可以通过 passwd 设置root密码。
当然也可以先把sd卡挂载到电脑上,根据下面的说明,改好配置文件后再装进去开机测试。
启用无线网卡
确认无线网卡是否正常驱动
使用 ip addr 命令,查看 interface 信息如果存在 wlan0 ,则可确定无线网卡驱动没有问题。
启用无线网卡
我在刚开机时执行 ip addr 命令,wlan0 的状态为 DOWN 也就是关闭状态,因此需要手动启用。于是我尝试使用 wifi up 命令来启用,但是并没有成功,好像是提示 wlan0处于disabled状态,这时候如果你执行 wifi status 应该可以看到 radio0 的 disabled 属性为 true。
因此需要修改 /etc/config/wireless 文件(系统带有 vi 命令),将 radio0 配置中的 disabled 改为 0
...
config wifi-device 'radio0'
...
option disabled '0'
...
然后执行 /etc/init.d/network restart 重启网络服务,这时候再次使用 ip addr 查看网络情况,无线网卡应该就已经启用了,如果没有的活,可以尝试使用 wifi up 或者 ip 命令手动启用
配置网络
我的配置方式是使用wlan0(无线网卡)建立本地无线局域网,而eno0(以太网卡)只用于连接WAN。
因此我将原本配置文件的 lan 配置中包含 bridge 那一行删掉了,因为我并不打算用于桥接,并且改成了使用无线网卡 wlan0(原本是eno0)。
还有一点值得注意的是,我将 lan 中的 ipaddr 改为了 192.168.2.1 , 这是为了避免将WAN口连接到我们宿舍的路由器上时发生地址冲突,这样配置之后,连接到树莓派的无线局域网中的设备的ip也将是192.168.2.*,用那些设备登录路由器设置(现在还不能用,只有装好了lcui才能用)或者登录ssh的话要使用 192.168.2.1 这个地址。
如果你使用网线连接电脑的方式登录ssh,这样配置会导致你无法继续使用这种方式,不过如果wifi配置正确的话,应该可以连接wifi来继续使用ssh。
config interface 'lan'
option ifname 'wlan0'
option proto 'static'
option ipaddr '192.168.2.1'
option netmask '255.255.255.0'
option ip6assign '60'
对于WAN,要根据实际情况配置
- 如果是宽带的话,一般是使用
PPPOE方式
config interface 'wan'
option proto 'pppoe'
option ifname 'eth0'
option ipv6 'auto'
option username '用户名'
option password '密码'
- 如果是DHCP局域网,配置更为简单
config interface 'wan'
option proto 'dhcp'
option ifname 'eth0'
改好配置文件之后, /etc/init.d/network restart 重启网络服务,测试一下能否连接wifi,出问题的话,也要多使用 ip addr 命令来排查错误,查找原因。
正常情况下,现在应该已经可以连接wifi,连接此wifi的设备也可以连接到 root@192.168.2.1 了。对于wan口,可以使用 ip addr 查看wan口是否已经获取到了ip地址,没有的话好好检查下配置。
检测是否一切正常
如果你的WAN可以正常连接,WIFI也可以正常使用的话,那么恭喜,如果WAN正常连接而WIFI不能上网的话,可能是防火墙配置的问题,下文会告诉你怎么改配置。既然已经可以连接网络了,我们不妨先来安装好 lcui ,然后就可以像路由器一样登录管理界面了。
安装 lcui 管理程序
参见https://openwrt.org/zh-cn/doc/howto/luci.essentials
安装
在软件库中检索可用软件包的最新列表:
opkg update
完整安装一个不需要HTTPS支持的LuCI:
opkg install luci
完整安装一个需要HTTPS支持的LuCI:
opkg install luci-ssl
开始使用Web服务器(uHTTPd)
Web服务器uHTTPd是LuCI安装包的一个依赖软件,它会在你安装LuCI时自动安装。
安装后,Web服务器是未运行的!你需要手动开启它。你还应该启动Web服务器,以使它在你重启路由器时自动启动。
下面的第一个命令启动Web服务器,第二个使它在重启时启动。
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
安装好之后,应该就可以登录OpenWrt管理界面了
RaspberryPi 3b+ 安装OpenWrt教程的更多相关文章
- 树莓派3B安装OpenWrt打造超级路由器
网上有很多树莓派安装OpenWrt的教程,我这里写一下个人安装体验以及踩过的坑
- Raspberrypi 3B+ 安装 php+sqlite
按照网上的命令都为安装php5-fpm 和 php5-sqlite, 但是发现无法找到软件,可能是系统版本比较高的缘故,原来的版本已经不支持了. 经过努力华找到如下安装方法 sudo apt-get ...
- OPENWRT X86 安装使用教程 (未完成)
目 录 一 下载 Openwrt 镜像文件 二 将镜像文件写入目标磁盘 2.1 写盘工具 2.2 Physdiskwrite 写盘 2.3 win32diskimager 写盘 三 管理界面 3. ...
- openwrt教程 第一章 物联网&openwrt开发概述
1.1 我们的宗旨 互联网.移动互联网的时代已经过去,物联网的时代已经来临!2014年,是物联网元年,2016年,物联网将达到高潮!为了迎接该潮流,我们工作室(F403科技创意室:http://f40 ...
- 树莓派3B安装LEDE
本来想安装openwrt的,但是op官方没有支持pi3,甚至op都不怎么发新版了,仅LEDE分支有缓慢的更新..离题了,之前给pi3装过LEDE,体验不是很好.今天到openwrt官网看了下,发现之前 ...
- wr720n v4 折腾笔记(一):安装Openwrt
好久没有写过文章了,今天先来个引子:wr720n v4版本安装openwrt 最近弄了个路由器wr720n,想抓包做点东西,于是就先从刷固件openwrt开始吧. 所需工具: 1.wr720n v4路 ...
- IntelliJ IDEA - 热部署插件JRebel 安装使用教程
IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...
- Zabbix3.x安装图解教程
准备知识: Zabbix3.x比较之前的2.0界面有了很大的变化,但是安装部署过程与2.x基本完全一样. 1.Zabbix2.x安装图解教程 http://www.osyunwei.com/archi ...
- VMware vCenter Server安装图解教程
安装说明: 1.安装VMware vCenter Server的主机操作系统为:Windows Server 2008 R2 2.在Windows Server 2008 R2中需要预先安装好SQL ...
随机推荐
- 【Java并发基础】安全性、活跃性与性能问题
前言 Java的多线程是一把双刃剑,使用好它可以使我们的程序更高效,但是出现并发问题时,我们的程序将会变得非常糟糕.并发编程中需要注意三方面的问题,分别是安全性.活跃性和性能问题. 安全性问题 我们经 ...
- 13、python的路径处理
前言:本文主要介绍python中路径的处理,包括os模块和有关的2个魔法变量. 一.os模块 python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录,具体如下: os.getc ...
- 创建dynamics CRM client-side (五) - 使用regular expression (正则表达式)来检查phone number
我们这次要使用account, 让我们首先重建一个JavaScript. 建议每个entity都创建专属的js // Converting functions to Namespace Notatio ...
- Python的条件控制及循环
一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ...
- Spring注解开发系列Ⅵ --- AOP&事务
注解开发 --- AOP AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,横向重复,纵向抽取.详细的AO ...
- alert弹出窗口,点击确认后关闭页面
alert("点击确认后,关闭页面"); window.opener=null;window.top.open('','_self','');window.close(this);
- centos7 手动设置时间
date -s "2020-02-03 23:13:00" hwclock -w clock -w
- IntelliJ IDEA 2019.3 安装+永久破解[Windows]
IntelliJ IDEA 2019的最后一个版本发布了,听说大幅优化了运行速度,本人实测启动速度确实比以前快不少,所以赶紧安排上新版本IDEA的破解教程 系统环境:Win10 LTSC(1809) ...
- 1755: N相关孪生素数
#include<stdio.h>int f(int n,int L,int R){ int ch[10000],i,j,count=0; j=1; for(i=L;i<=R;i++ ...
- pycharm破解码
今天又遇到了pycharm注册码失效的问题: 找到了一个好用的破解教程,为了能够尽快的使用,我用的是注册码的方式 教程链接:https://www.cnblogs.com/yuuje/p/101009 ...