前言 openwrt 是一个自由的、兼容性好的嵌入式 linux 发行版。作为软路由玩家必备的一款神器,可以实现诸如去广告,多拨和科学上网等多种功能。本文以 openwrt 在X86平台的安装为例,介绍其部署流程。
选择合适的设备
-无论是传统的无线路由器还是小主机都有成为openwrt路由的潜力。截止到今天,已经有20多个品牌(小米,华硕,锐捷,华三等)30多种架构(x86,ipq,bcm,mtd等)支持刷入openwrt;你可以在这个网站找到符合你预算和其他要求的,能刷机的路由器。
+无论是传统的无线路由器还是小主机都有成为openwrt路由的潜力。截止到今天,已经有20多个品牌(小米,华硕,锐捷,华三等)30多种架构(x86,ipq,bcm,mtd等)支持刷入openwrt;你可以在这个网站找到符合你预算和其他要求的,能刷机的路由器。 +选择合适的系统
+选择合适的系统
+除了openwrt主线外,还可以选择:
+-
+
-
+
iStoreOSiStoreOS是openwrt的一个分支,iStoreOS 提供了软件中心:iStore,以及较美观的界面和docker支持,对新手体验较好。
+
+ -
+
ImmortalWrt 是一个原版openwrt的分支,中文优化好,更新也勤快,内置镜像源可以直连下载&更新。
+
+
在X86小主机上面安装OpenWrt
无论是作为主路由或是旁路由,传统路由器由于主频低,内存小,并不适合作为软路由;而 NAS-软路由一体式 又有 all in boom 的风险,因此推荐X86平台作为物理机。当然,也可以采用 armbian 平台或是开发板,例如网心云老母鸡、树莓派等设备。截至本文撰写时间,二手平台上的价格不太利好:一台J1900平台的售价往往在200左右,而专门的多网口工控机价格在200到1000不等,树莓派更是成为了理财产品,需要慎重选择。
准备以下工具:
-
-
- openwrt 的编译包,由 eSir 大佬编译的三个经典版本: -https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr -
- PE 启动盘,这里推荐微PE:https://www.wepe.com.cn/download.html -
- img 写盘工具:https://www.roadkil.net/program.php?ProgramID=12#google_vignette -
- 一个U盘与一台双网口物理机 +
-
+
一个U盘与一台双网口物理机
+
+ -
+
openwrt 的编译包,官方网站:OpenWrt Firmware Selector
+
+ -
+
或者用由 eSir 大佬编译的懒人包
+
+ -
+
PE 启动盘,这里推荐HotPE
+
+ - + +
安装流程:
1.进入PE环境:
@@ -120,9 +141,23 @@ https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr3.进入配置界面
-
-
- 重启系统并快速拔出U盘,避免重新进入PE;这时系统开始运行了。注意Esir固件是不跑码的,无需担心。 +
- 重启系统并快速拔出U盘,避免重新进入PE;这时系统开始运行了。注意Esir固件是不跑码的,无需担心。- 一个U盘与一台双网口物理机
- 当看到
please press Enter to activate this console
这个提示的时候系统就安装完毕了。可使用 passwd 命令设置密码。软路由将自动获取IP地址,随后我们在浏览器中打开该地址,即可看到 Lucl 界面。
++硬盘空间有一部分没有被格式化,可以手动格式化为ext4并挂载。
+
++注意初始IP往往是192.168.1.1,如果和光猫冲突需要在网络-接口中更改。
+
++基本系统主题比较简陋,可以使用luci-theme-argon。
+
+刷错主题无法打开luci:通过 SSH 登录路由器,切换到另一个已知正常的主题(例如 Bootstrap): +
+uci set luci.main.mediaurlbase='/luci-static/bootstrap' uci commit luci /etc/init.d/uhttpd restart
+然后重新访问 Web 界面,查看是否恢复正常。
在arm架构的硬路由上面安装OpenWrt
相比X86平台,arm架构的设备兼容性不高,不能随便找一个包就能安装。以下是一般步骤:
-
diff --git a/public/pagefind/fragment/en_1def5dc.pf_fragment b/public/pagefind/fragment/en_1def5dc.pf_fragment
deleted file mode 100644
index 891a171..0000000
Binary files a/public/pagefind/fragment/en_1def5dc.pf_fragment and /dev/null differ
diff --git a/public/pagefind/fragment/en_8c5eaa2.pf_fragment b/public/pagefind/fragment/en_8c5eaa2.pf_fragment
new file mode 100644
index 0000000..54d1902
Binary files /dev/null and b/public/pagefind/fragment/en_8c5eaa2.pf_fragment differ
diff --git a/public/pagefind/index/en_31bb61a.pf_index b/public/pagefind/index/en_31bb61a.pf_index
new file mode 100644
index 0000000..39799a5
Binary files /dev/null and b/public/pagefind/index/en_31bb61a.pf_index differ
diff --git a/public/pagefind/index/en_3275a84.pf_index b/public/pagefind/index/en_3275a84.pf_index
deleted file mode 100644
index d8610f2..0000000
Binary files a/public/pagefind/index/en_3275a84.pf_index and /dev/null differ
diff --git a/public/pagefind/index/en_71c0e3b.pf_index b/public/pagefind/index/en_71c0e3b.pf_index
deleted file mode 100644
index f8268ef..0000000
Binary files a/public/pagefind/index/en_71c0e3b.pf_index and /dev/null differ
diff --git a/public/pagefind/index/en_7727842.pf_index b/public/pagefind/index/en_7727842.pf_index
new file mode 100644
index 0000000..72ce12b
Binary files /dev/null and b/public/pagefind/index/en_7727842.pf_index differ
diff --git a/public/pagefind/index/en_85376fc.pf_index b/public/pagefind/index/en_85376fc.pf_index
deleted file mode 100644
index 839646e..0000000
Binary files a/public/pagefind/index/en_85376fc.pf_index and /dev/null differ
diff --git a/public/pagefind/index/en_c86b685.pf_index b/public/pagefind/index/en_c86b685.pf_index
new file mode 100644
index 0000000..284b8ca
Binary files /dev/null and b/public/pagefind/index/en_c86b685.pf_index differ
diff --git a/public/pagefind/pagefind-entry.json b/public/pagefind/pagefind-entry.json
index 061cf7a..7c6b878 100644
--- a/public/pagefind/pagefind-entry.json
+++ b/public/pagefind/pagefind-entry.json
@@ -1 +1 @@
-{"version":"1.3.0","languages":{"en":{"hash":"en_4eb949a774","wasm":"en","page_count":84}}}
\ No newline at end of file
+{"version":"1.3.0","languages":{"en":{"hash":"en_d162758b46","wasm":"en","page_count":84}}}
\ No newline at end of file
diff --git a/public/pagefind/pagefind.en_4eb949a774.pf_meta b/public/pagefind/pagefind.en_4eb949a774.pf_meta
deleted file mode 100644
index 9db4bd7..0000000
Binary files a/public/pagefind/pagefind.en_4eb949a774.pf_meta and /dev/null differ
diff --git a/public/pagefind/pagefind.en_d162758b46.pf_meta b/public/pagefind/pagefind.en_d162758b46.pf_meta
new file mode 100644
index 0000000..74e3cf5
Binary files /dev/null and b/public/pagefind/pagefind.en_d162758b46.pf_meta differ