零遁開發板(通訊領域)介紹,改安卓底層隨意使用docker,手機搭載openwrt,物聯網應用,臨時辦公場地網絡

1.USB共享網絡還有意義嗎?企業臨時辦公場地的網絡如何搭建?

Hi,大傢好,我是旋律果子,一個網絡極客,也是linux開發者。現在是2022年瞭,手機USB共享網絡還有意義嗎?

有這麼一個場景,例如在戶外一個臨時辦公場地,不方便遷寬帶過來,就會面臨沒有網絡的情況。有人說直接打開手機熱點不就行瞭。這樣雖然能夠滿足單個電腦上網,但是缺點也有不少。第一是手機通過Wi-Fi分享出來的熱點本身就不穩定,其一存在兼容性問題,有些設備是很難連上的;其二是萬一手機熄屏等原因可能導致熱點消失。第二,在工作場地電腦非常多的情況下,分享出來的Wi-Fi熱點會互相幹擾,影響很嚴重。第三,很難建立局域網,如果辦公場地的電腦之間需要實現局域網內通訊,那分享Wi-Fi熱點的方式就非常差瞭,即便是很多臺電腦同時連接到一個手機上,局域網傳輸的壓力也會非常大,去局域網的流量占用瞭去公網的帶寬,很輕易會導致斷網。

那麼這個時候,USB網絡共享就很有意義瞭。通過手機連接運營商的網絡,通過USB和網線共享出來,直接插入辦公場地的交換機中。這樣隻有到公網的流量會經過手機,到局域網的流量會直接走交換機,不經過手機,就不會影響穩定性瞭,效率非常高。

(臨時辦公場地USB轉以太網共享網絡示意圖,內部主機之間數據交換直接走交換機)

以上的情況是較為理想的情況。現實的問題是,原始的安卓系統的網絡比較復雜,很不方便管理。為此,零遁開發板就很好的解決瞭這一個需求。零遁通過修改安卓系統的源代碼,重新編譯瞭安卓的內核,增加瞭docker網絡層面的所有內核依賴,例如MAC-Vlan、iptables、bridge等,目前支持docker以及依賴cgroup的特性。

(零遁開發板su進入底層後,可以使用iptables)

在我的粉絲中,我想openwrt大傢應該不陌生,一個非常著名的軟路由系統。相比傢用路由器,你可以通過openwrt幾乎完全控制你的網絡,例如實現屏蔽廣告,代理上網,VPN,多網絡聚合,根據流量特征進行分流,流量控制,vlan等多個特性,也支持和安全性相關的自定義防火墻規則。功能非常強大。如果分享網絡使用的是這麼一個強大的系統,那麼對於臨時辦公場所,隻需要一臺零遁開發板加一臺交換機(有必要的時候)就完全夠用瞭!

(零遁開發板中內置的openwrt系統管理頁面,左邊為概況,右邊為防火墻規則)

2.零遁開發板不止能搞網絡,看看安卓內核怎麼改的

零遁開發板裡面安裝瞭一個openwrt,這個到底是怎麼實現的呢?openwrt的功能是全的嗎?零遁開發板上還能做其他的開發嗎?我想這些應該是大傢關心的問題。

零遁通過修改安卓的源代碼,添加瞭對docker的支持,修復瞭docker網絡層面所有的內核依賴,如macVlan、iptables以及bridge等。也就是說,這個openwrt的功能是完整的,也可以自定義安裝不少應用。

另外,修改的安卓代碼也增加瞭很多實用功能,例如支持通電自動開機;docker也添加到瞭系統啟動項中,並且以root權限運行,權限級別高意味著功能沒有被閹割。另外,修改的代碼也增加瞭不少硬件支持,以及USB相關的擴展設備。可以連接更多的網卡、串口、攝像頭、采集卡等;也方便擴展各種儀器儀表。

安卓系統自身的權限也是一個問題,修改的代碼取消瞭su命令(以root權限運行)的權限檢測,例如“su rm -rf /*”這樣的命令也可以執行成功瞭,雖然我們不會這麼執行,但足以體現我們開發者獲得的權限之高。

剛才說瞭不少依賴和權限的問題,依賴問題決定瞭我們安裝的東西能不能用,權限同樣也是。當依賴和權限都解決瞭之後,我們就可以任意發揮瞭。例如剛才的openwrt就是運行在這麼一個環境中。Wi-Fi或者USB網絡共享,也是運行在這種環境中。我們同樣也可以安裝其他系統和應用,例如運行nginx,mysql,寶塔面板,甚至centos7和其他linux,或者結合傳感器以及其他的儀器儀表實現物聯網類似的功能。

(零遁開發板中安裝瞭寶塔面板的docker,承載寶塔面板的系統為centos7)(寶塔面板中可以繼續安裝其他組件)

3.零遁開發板目前的網絡架構,分享出來的網絡是繞開安卓系統的限制的?

我們剛才講瞭一個openwrt的例子,這個openwrt是零遁預裝的。安卓底層有兩個流量出口,一個是安卓系統本身的Wi-Fi,一個安卓系統本身的流量卡,不過Wi-Fi和流量卡隻會使用其中的一個,如果需要同時使用則需要繼續進行開發。Openwrt也有兩個wan口,wan1口的默認網關也對應著Wi-Fi或流量卡,openwrt的wan2口則是給繼續開發預留的接口,開發者可以繼續開發這個接口,依據協議特征給流量分流與多wan聚合等。Openwrt默認有一個lan口,這個就是真正分享給我們局域網的應用瞭,也就是我們局域網的流量都是通過openwrt控制的,安卓底層隻是將openwrt出來的流量再進行瞭一次轉發。

(零遁開發板網絡架構圖)

由於openwrt接管我們局域網的所有流量,在openwrt上就可以搞很多事情瞭,例如可以實現廣告屏蔽,代理上網,流量控制與攔截,VPN等功能,非常方便。因為openwrt本身也是操作系統,在openwrt上也是可以安裝應用的,那麼也非常方便開發瞭。這些都歸功於零遁破除瞭權限的限制與補充瞭內核依賴。

零遁開發板雖然用openwrt來接管整個局域網中的流量,而且openwrt的默認網關卻是安卓底層,那麼大傢是不是擔心,萬一有要使用公網IP的情況,公網IP落不到openwrt上面?其實除瞭openwrt之外,安卓底層的iptables也是可以正常使用的,那麼直接在安卓底層中使用iptables添加DNAT等端口映射,內部的openwrt也是可以享受與公網IP相同的效果的。

4.零遁開發板目前的外觀、硬件特性與價格優勢

之所以現在才講到外觀是因為系統以及內核源代碼的修改才是核心。這次收到的測試機外觀也是滿足一些基礎功能,也沒有外接傳感器。設備需要使用安卓手機,一個3D打印的殼子,內部安裝瞭一個type-c擴展塢,擴展出瞭1個usb type-C,兩個usb type-A、一個HDMI,一個千兆以太網口。在擴展塢上還可以擴展更多的傳感器以及儀器儀表,為後面的AI人工智能,物聯網等應用做出準備。

(零遁開發板外觀)

零遁開發板cpu使用的是高通驍龍865,性能強勁。“芯參數”網站中有cpu的評測對比數據。

目前國內主流開發板使用RK3399比較多,下面是與RK3399的數據:

(高通驍龍865與RK3399對比)

使用樹莓派開發板的也很多,下面是與樹莓派4B的對比數據:

(高通驍龍865與樹莓派4B對比)

因為要控制安卓底層的命令行,擴展出來的usb口可以接鍵盤,同樣也可以連接藍牙鍵盤等設備。這款開發板的待機時間也是一個亮點,主要是廠商對安卓cpu級別的使用進行瞭功耗管理。從源代碼上看,每個程序回指定使用cpu的哪個核心。市面上普通開發板+4G模塊,同樣電池大小,大概4小時就沒電瞭。而零遁的這款開發板可以待機24小時左右。

雖然這個開發板對電池的待機做瞭不少優化,不過為瞭能連續使用,充電還是很有必要的。擴展塢中的type-c口也可以反向向開發板充電,這樣如同在臨時辦公場地中分享網絡,監控這種需要不間斷運行等類似的應用就可以連續運行瞭。

在流量卡速度方面,這個開發板也是支持5G的。相比於市面上的開發板有非常大的價格優勢,定價大概在1500元左右。目前市面上支持5G的開發板基本上在5000元左右。

5.總結

希望本期文章能讓你對零遁開發板有一個相對清晰的認識,如果你有這方面的需求,可以聯系零遁廠傢咨詢。如果有任何疑問,可以在評論區留言。這期分享就到這裡瞭,我是旋律果子,希望大傢多多支持,我們下期再見。

———–

常駐小尾巴:

作者介紹與教程列表(知識空間):https://lingxuntech.feishu.cn/wiki/wikcnFETfESAtdFcmheLMcPWjkb

企業官網(合作/服務/設備購買):https://www.lingxun.tech

赞(0)