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 ...
随机推荐
- IDEA工具java开发之 常用窗口
◆project窗口 ◆structure窗口 ◆todo窗口 ◆favorites窗口 ◆termimal窗口 此窗口默认打开的时cmd,所以才这里可以操作任何cmd可以操作的内容, 一般次 ...
- Ubuntu学习之路2
由于数据越来越多,学习的也稍微多了点,故将一步一步学习到的命令和快捷键继续到这篇博客. 1. 查看隐藏文件和文件夹 Ctrl+H 2. 打开搜索管理器 Alt+F2 3. 查看系统内存 free -h ...
- UIKit, AppKit, 以及其他API在多线程当中的使用注意事项
UIKit, AppKit, 以及其他API在多线程当中的使用注意事项 Overview The Main Thread Checker is a standalone tool for Swift ...
- [ Python入门教程 ] Python中日期时间datetime模块使用实例
Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...
- 【Java并发基础】利用面向对象的思想写好并发程序
前言 下面简单总结学习Java并发的笔记,关于如何利用面向对象思想写好并发程序的建议.面向对象的思想和并发编程属于两个领域,但是在Java中这两个领域却可以融合到一起.在Java语言中,面向对象编程的 ...
- 共轭先验(conjugate prior)
共轭是贝叶斯理论中的一个概念,一般共轭要说是一个先验分布与似然函数共轭: 那么就从贝叶斯理论中的先验概率,后验概率以及似然函数说起: 在概率论中有一个条件概率公式,有两个变量第一个是A,第二个是B , ...
- Kubernetes-Ingress资源详解
什么是Ingress #阿里云称之为ingress路由!在 Kubernetes 集群中,主要用于接入外部请求到k8s内部,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力 ...
- SpringBoot性能优化之HikariCP连接池
以前一直使用阿里Druid数据库连接池,这段时间听说有个号称速度最快.代码最简的后起之秀——HikariCP,于是动手实践一下 1.依赖如下: <?xml version="1.0&q ...
- 微服务之docker(二)
一.SpringCloud/SpringBoot整合docker 使用docker的maven组建构建springboot应用(官方文档:https://spring.io/guides/gs/spr ...
- C语言系列之自增自减运算符的用法(二)
运算符中最难理解的有自增自减运算符的使用方法,下面我将简单总结一下他们的使用方法 我们知道,C语言运行是由右向左运行的 下面我们来看一个例子 当i等于3的时候 j=++i; 由上面可知,C语言是由右向 ...