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.總結
希望本期文章能讓你對零遁開發闆有一個相對清晰的認識,如果你有這方面的需求,可以聯系零遁廠家咨詢。如果有任何疑問,可以在評論區留言。這期分享就到這裡了,我是旋律果子,希望大家多多支持,我們下期再見。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!