openwrt软路由基础探索

简介: openwrt软路由基础探索

 

文章中相关知识整理自网络。

1:WAN和LAN是什么?

WAN是英文Wide Area Network的首字母所写,即代表广域网; ==》对外

LAN则是Local Area Network的所写,即本地网(或叫局域网)。 ==》对内

        ====》都连接在LAN口上,把宽带路由器当交换机用。

2:openwrt是什么?

OpenWrt 项目是一个针对嵌入式设备的Linux操作系统。

对于开发人员来说,OpenWrt 是一个无需围绕它构建完整固件就能开发应用程序的框架; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备。

哪些有趣且强大的插件:https://zhuanlan.zhihu.com/p/103121214

广告屏蔽大师 Plus +;上网时间控制;解锁网易云灰色歌曲;应用过滤(OpenAppFilter);动态 DNS;SmartDNS 服务器;网络唤醒;Shairplay;Turbo ACC 网络加速;ser2net

3:旁路由

指挂靠在主路由网络下的一个旁系网络,他分担了一部分路由器的功能,因此被大众简称为「旁路由」,本质上它是一个通过 LAN 口与主路由连接的一个客户端设备。

一种是发烧友在软路由系统中,通过虚拟化的形式,安装两套路由系统,它们各司其职,在软件层面上形成了主旁网络架构。 另一种就是通过使用两个实体路由器,通过连接和配置打造的硬件形式上的主旁网络结构。 虽然他们形式上有一定区别,但这种双路由系统(硬件或虚拟化)的网络布局,殊途同归,最终目的都是为了将家庭网络带宽进行合理的分配利用,并提供更强的扩展性,以实现更多强大的功能

4:如何在虚拟机VMWare中安装openwrt?

理解:

1:openwrt是一套源码,通过源码,通过make menuconfig 选择自己适合的机型,选择目标文件类型==》这里选择虚拟机

然后通过生成的VMDK文件直接用虚拟机取。

2:直接去论坛或者其他地方,取别人编译好的固件,进行安装。

5:交叉编译

在一个平台上生成另一个平台上的可执行代码。

1:在项目的起始阶段,目的平台尚未建立,因此需要做交叉编译,以生成我们所需要的bootloader(启动引导代码)以及操作系统核心;

2:当目的平台能启动之后,由于目的平台上资源的限制,当我们编译大型程序时,依然可能需要用到交叉编译。

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。

常见的交叉编译例子如下:

1、在Windows PC上,利用ADS(ARM开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码

2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。

3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码

如何搭建openwrt交叉编译环境?

1: 下载SDK包,【参考链接】(如何选择自己硬件对应的openwrt?

2:设置相关的环境变量,【参考】(export PATH 和export STAGING_DIR)

3:通过设置编译用的第三方库,进行编译。

交叉编译环境的配置:

1:下载SDK包,编译toolchain进行交叉编译环境的安装

2:直接去官网取对应的Toolchain版本,进行交叉编译环境的设置和安装。

解释包的含义:

 

如上图:

第一个黄线是编译固件要用的ImageBuilder,是编译完整固件用的,我们只编译ipk软件包所以用不到,

第二个黄线就是我们要用的SDK文件了 ==》里面包含有交叉编译环境用到的toolchain,以及可以用make menuconfig 配置生成自己想要的环境。

第三个和第四个都是纯净版的OP系统,可以下载然后刷到wndr4300路由器里面,一个是原有OP网页刷,一个是原版或者tftp刷的固件。刷入这个固件然后再opkg安装我们编译出的ipk包就具备相关功能了。

目录
相关文章
|
6月前
|
5G 网络架构 索引
安装一个开源虚拟路由器VPP-20.09
安装一个开源虚拟路由器VPP-20.09
|
网络协议 网络架构
计算机网络实验(华为eNSP模拟器)——第四章 配置静态路由、动态路由
计算机网络实验(华为eNSP模拟器)——第四章 配置静态路由、动态路由
计算机网络实验(华为eNSP模拟器)——第四章 配置静态路由、动态路由
|
网络协议 Unix Linux
CentOS7下利用FRR路由套件实现OSPF动态路由组网
CentOS7下利用FRR路由套件实现OSPF动态路由组网
1320 0
CentOS7下利用FRR路由套件实现OSPF动态路由组网
|
3月前
|
网络协议 Linux 网络架构
在Linux中,如何设置网络路由?
在Linux中,如何设置网络路由?
|
4月前
|
Linux 网络安全 网络架构
将Linux做成路由器
将Linux做成路由器
59 8
|
6月前
|
Linux SDN 网络虚拟化
Linux虚拟网络设备全景解析:定义、工作模式与实践应用
在深入探索Linux操作系统的强大功能时,我们不可避免地会遇到虚拟网络设备的概念。这些设备扮演着构建和维护虚拟化环境中网络通信的关键角色。本文旨在详细介绍Linux虚拟网络设备的定义、工作模式以及它们的多样化用途。
Linux虚拟网络设备全景解析:定义、工作模式与实践应用
|
6月前
|
网络协议 网络架构
ensp中BGP(边界网关协议)基础原理及配置命令
ensp中BGP(边界网关协议)基础原理及配置命令
354 0
|
6月前
|
安全 网络安全 网络架构
OpenWRT软路由web界面如何远程访问
OpenWRT软路由web界面如何远程访问
|
Linux
【linux】解决软路由内部服务器无法访问外网的问题
【linux】解决软路由内部服务器无法访问外网的问题
484 0