試著在 Raspberry Pi 上設定 OpenWRT,以存取內聯網服務(NAS、網頁、USB 印表機、藍牙雲端硬碟等,方便離線下載......) )
–2020.8.1.更新
嘗試了各種編譯 OpenWrt 的方法後,我發現只要在對應平台上編譯它的外掛,就不用在 Make MenuConfig 裡為一大堆選項煩惱。 最後,是我做了選擇https://github.com/SuLingGG/OpenWrt-Rpi根據官方版本彙整的圖片
完成:
1、wifi热点 2、内网穿透 3、百度网盘离线 4、KMS激活 5、你懂的
摘要:
1. 編譯 oepnwrt 耗時甚多,嘗試了三種編譯方法:
1.1. 本地編譯:在 Ubuntu 中本地編譯。 優點:便宜、快速; 缺點:程式碼來源與更新來源預設為外國,速度緩慢且不穩定,需牆壁支援。
1.2. 遠端編譯:在 Google Cloud 的 VPS 中編譯。 優點:出乎意料地快速存取並更新程式碼來源; 缺點:編譯時間長且需要 SSH 來維持連線,但 SSH 過於穩定且需要支援。
1.3. 線上編譯:設定 GitHub 的線上編譯功能非常強大。唯一的缺點是設定有點複雜,需要時間學習——到目前為止,我還沒成功:(配置。
2. 在 OpenWrt 的設定過程中有一些陷阱:
2.1. 將 WAN 埠設為 DHCP 用戶端(目標是在各種環境中熱插拔)。如果因不明原因無法上網,請將其改為靜態位址。 懷疑在取得 IP 位址時,閘道位址未被正確取得,至今仍未解決。
2.2 設定 WiFi 熱點時,請使用 802.11N 模式;沒有裝置能找到熱點,因此必須使用 legency 模式。並非所有裝置都是舊裝置,這個問題至今仍未解決。
2.3. 嘗試 DDNS 後,我發現沒有公共 IP 位址。 在 ADSL 時代,電信 PPPoe 有公開 IP,但只是動態分配。現在,光纖接取是私有 IP,所以 DDNS 不適用。
使用 FRP 內聯網穿越(需在公共網路上架設伺服器以進行轉發),參考教學:https://github.com/fatedier/frp/blob/master/README_zh.md
2.4. 執行內聯網穿越時,除了網頁問題外,所有埠口皆可正常存取。Firefox、Chrome 和 Edge 都顯示ERR_UNSAFE_PORT。 由於埠映射會進行,外部網路存取內部網路的網路會 http://xxx.xxx.com:6000 在瀏覽器的地址列,而外部埠號則對應到內部網路埠 80,因此瀏覽器會發出不安全的埠錯誤。 在瀏覽器中設定非標準的網頁埠。以 Firefox 為例:about:config-> 建立一個新的字串類型項目 network.security.ports.banned.override,值為 6000
計畫:
1、在树莓派上做一个php+mysql站点,用作本站点的同步备份。然后在后面拖一个nas,做私有云盘。 2、用树莓派做一个wifi mesh,用于无线信号范围扩展 3、加一个摄像头监控
–2020.7.8.更新
觸發點:
1、不要用root权限编译(不要sudo,否则由于权限问题编译失败) 2、一定要加梯子,否则由于curl下载失败导致编译失败,即使加了梯子,也不知道中国电信(小区内因修宽带断网已经搞了好几次了)抽的是什么风,境外ping值奇高,很像被ddos的感觉。无奈在谷歌云上创建了一台ubuntu 18.4 lts,在它上面编译顺利多了(虽然前端无需梯子,但本地网络还是需要稳定) 3、make menuconfig的时候,最后全部配置好了save的时候一定是.config,编译过程默认加载.config。可以save一个备份(如a.config),加载备份的a.config最后save的时候还是需要save到.config中,否则按全部默认选项编译 4、编译错误,由于make命令的V=s参数会输出详细的编译信息,所以出错后可以依据输出的线索查找解决办法 5、root分区太小(20G)导致磁盘空间不足,编译完占用的磁盘空间21G,在menuconfig中选择的配置项越多占用的磁盘空间越多(猜测),创建虚拟机的时候,磁盘空间给大一点(64G)
–2020.6.30.更新
我的主要工作是為 Raspberry 編譯 OpenWrt(你也可以下載已編譯的版本)。我選擇編譯是因為我一直玩別人的 OpenWrt,所以決定自己試試看。
方法:
1、在windows10上用vmware做一个Ubuntu 18.04.4 LTS的虚拟机,用作编译环境(2020.7.8.update:用谷歌云上的虚拟机进行编译更方便,除了谷歌云的控制台需要梯子访问,虚拟机本身是不需要梯子的,直接ssh上去就可以)。 2、在ubuntu上做一个全局代理(Privoxy)为了编译过程稳定不中断(由于你懂的原因,诸如apt, git, wget, curl等在访问一个国外源的时候,有可能无法访问),前端需要一个梯子(流行的s、r、t都可以) 3、下载源码,配置参数,编译。

