Skip to content

henry0408/Openwrt_Raspberry-Pi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Openwrt

使用树莓派+openwrt配置旁路由

OpenWRT的Web界面开发

1. 使用树莓派+openwrt配置旁路由以及科学上网工具:wink:

Steps::bulb:

  1. Openwrt树莓派烧录:white_check_mark:

    1. 官网找到对应固件的openwrt版本,https://firmware-selector.openwrt.org/
      1. 或者使用其他大神已编译好的固件,我用的是SuLingGG https://github.com/SuLingGG/OpenWrt-Rpi 可以找到对应的树莓派版本:https://doc.openwrt.cc/2-OpenWrt-Rpi/
    2. 下载带FACTORY的镜像文件
    3. 电脑安装烧录软件:balenaEtcher
    4. SD格式化软件:SD card Formatter,https://www.sdcard.org/downloads/formatter/
    5. 电脑插入SD卡,用烧录软件balenaEtcher将.img文件烧录进SD卡(若卡中有内容,则需要先格式化)
  2. 用一根网线将树莓派和电脑链接,并给树莓派上电,断掉电脑其他网络连接:white_check_mark:

  3. 在电脑中更改以太网属性(主要是防止冲突):white_check_mark:

    img1

    1. p.s. 默认网关为树莓派openwrt的默认地址:192.168.1.1
  4. 浏览器输入192.168.1.1进入openwrt后台:white_check_mark:

    1. 如果使用官方版本的话,第一次无需密码直接login
    2. 如果使用SuLingGG版本的话,默认密码为password
  5. 进入后台后设置系统密码,到system--> administration--> router password(我设置的为123456):white_check_mark:

  6. 开启树莓派本身的wifi功能:white_check_mark:

    1. Network--> Wireless--> 选择SSID为OpenWrt--> 点击Enable--> Save

      img2

    2. 点击Edit,在Operating frequency中把Mode改成Legacy,channel改成auto,点击保存

      img3

  7. 更改LAN口配置:white_check_mark:

    1. 在Interface中选择LAN的edit

      img4

    2. 更改Ipv4地址和网关

      • IPv4 address改成:192.168.3.10
      • IPv4 gateway改成:192.168.3.1
      • Advanced setting中custom DNS改成114.114.114.114

      注意:网关为我的主路由的IPv4,为了避免冲突,openwrt的IPv4改成了同一网段下不同的地址(2-254都可以),建议在电脑终端cmd--> 输入ipconfig查看一下

      img6

      img7

    为了可玩性更高,下面截图都为使用SuLingGG的GitHub中下载的固件并使用的截图

    1. 保存并应用后会一直保持在加载状态,是因为此时openwrt访问已经不再是192.168.1.1了(下图),此时拔掉与电脑的网线,插到路由器(主路由)的一个LAN口上

      • 注意:使用官方版本要在90s内完成拔掉网线并插入LAN口的操作,否则会启动rollback

      img5

  8. 重新登陆到Openwrt:white_check_mark:

    浏览器中输入新设定的地址:192.168.3.10,输入密码“password”便可重新登陆

    img8

  9. 手机或其他设备此时连接名为“Openwrt”的wifi可以成功连接并上网(主路由为HUAWEI-CA1P7S):white_check_mark:

    img9img10

    上图可以看到主路由依旧为192.168.3.1

  10. 设置旁路由“OpenWrt”密码,网络--> 无线 --> 无线安全, 我设置的为15042237015:white_check_mark:

img11

  1. 一些reference:white_check_mark:
  2. 主要的reference视频讲解:https://www.v2ex.com/t/835585 Or https://www.youtube.com/watch?v=iyQjjgOfPnQ
  3. https://www.youtube.com/watch?v=w7rwNF2Q3lM
  4. https://zhuanlan.zhihu.com/p/509064156

2. OpenWRT的Web界面

1. 要访问openwrt文件,首先需要远程登陆到开发板(树莓派)

  1. 在网页中访问192.168.3.10进入openwrt,在系统--> 管理权中找到“网关端口”,并确认其已经打开

image

否则之后的步骤会出现“由于目标计算机积极拒绝%2C无法连接。+连接失败”等错误

  1. 下载并安装WinSCP,用于在Windows和开发板之间传输并可以直接修改文件

    • 点击新建会话,协议选择FTP

    image

    • 端口切换称22,主机名为OPenWrt开发板的ip:我们的为192.168.3.10,用户名和密码分别为OpenWRT网页登陆时用的用户名和密码:我们的分别为root和password

    • 点击登陆,效果如图

    image

    其中左侧为Windows目录,右侧为OpenWRT目录,可以直接拖拽

2. 新建一个二级界面(在菜单栏System导航下添加HelloWorld选项卡)

  • 使用WinSCP登录开发板,进入/usr/lib/lua/luci/controller/admin目录下,打开system.lua文件进行编辑,添加一行语句:

    entry({"admin", "system", "Helloworld"}, template("admin_system/helloworld"), _("Helloworld"), 99)
    

image

  • 进入/usr/lib/lua/luci/view/admin_system目录下,新建helloworld.htm文件,并添加一行:

    <%+header%> <h1><%: HelloWorld %></h1> <%+footer%>
    
  • 保存后重启树莓派并登陆OPenWRT网页,可以看到效果:

image

image

3. 新建一个一级界面,其中包含一个二级界面(菜单栏新建“Example1”导航,并在其中添加“First”选项卡)

  • 创建 lua 脚本文件:/usr/lib/lua/luci/controller/example1.lua

  • 添加内容如下

    --第一行声明模块路径
    module("luci.controller.example1", package.seeall)
    
    function index()
    --[[
       创建一级菜单 example,firstchild()表示链接到其第一个子节点,即
       当我们单击菜单 Example 时,LuCI 将调度其第一个子节点。"Example"即
       在网页中显示的菜单。60 表示其顺序,LuCI 自带的模块的顺序为:
       Administration(10),Status(20),System(30),Network(50),Logout(90)。
       call("first_action")表示当子节点被调度时将执行下面定义的方法 first_action()
     --]]
       entry({"admin", "example1"}, firstchild(), "Example1", 60)
       entry({"admin", "example1", "first"}, call("first_action"), "First")
    end
    
    function first_action()
    --加载/usr/lib/lua/luci/view/header.htm
    luci.template.render("header")
    --输出 html 内容
    luci.http.write("<h1>Hello World</h1>")
    end
       
    

    image

  • 查看网页端变化

    image

p.s. LUA中,用--表示单行注释,--[[ --]]表示多行注释

4. 配置需要的界面

image

About

OpenWRT配置软路由以及LuCI开发

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published