首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評測 / 活動(dòng)區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 11305|回復(fù): 1
上一主題 下一主題
[其它]

【硬創(chuàng)邦】跟hoowa學(xué)做智能路由:系統(tǒng)基礎(chǔ)配置

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2014-5-14 10:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來自遼寧
本帖最后由 dongtao 于 2014-5-17 13:31 編輯

在這一章當(dāng)中,我們將介紹在OpenWRT系統(tǒng)下的編輯和配置的基礎(chǔ)指令和操作知識,因?yàn)楹罄m(xù)的章節(jié)主要用于介紹如何配置路由的相關(guān)功能,在配置的操作時(shí)我們需要掌握編輯和處理的方法。 本章中,編輯和配置的基礎(chǔ)方法我們分為三種,三種方式都可以操作成功。分別為:

  • 使用VI編輯器: 適合教學(xué)時(shí)直接修改配置文件。
  • 使用UCI進(jìn)行編輯: 適合教學(xué)時(shí)使用,更適合用于自己開發(fā)的第三方程序修改配置文件。
  • 使用SCP下載到本地編輯: 適合教學(xué)和系統(tǒng)的測試,文件通過SCP工具下載到本地修改,完成后再上傳到服務(wù)器上(要注意使用Notepad++或editplus或ue這類支持unix格式文本文件編輯器)
VI編輯器介紹

vi(Visual Interface)是Linux上最通用的標(biāo)準(zhǔn)編輯器,幾乎99.99%的Linux發(fā)行版中都包含它。vi可以在不需要圖形界面的情況下實(shí)現(xiàn)對文件的查看、修改、刪除、查找、替換等眾多功能。vi的操作,適用于通過串口直接修改文件,以及通過ssh遠(yuǎn)程登入系統(tǒng)修改文件。 在OpenWRT中,系統(tǒng)允許通過vi編輯器直接修改UCI配置文件,從而實(shí)現(xiàn)對系統(tǒng)的配置。

VI的操作方法

在本節(jié)我們就簡單的介紹下VI的基本操作方法。


vi指令語法: vi [文件名]


如果指定的文件名不存在,將會(huì)在內(nèi)存中自動(dòng)創(chuàng)建一個(gè)空文件,等待保存時(shí)保存到磁盤上。如果文件名存在則將打開該文件。vi在打開文件后有兩種工作模式:

  • vi指令模式: 在這個(gè)模式下,不能對文件做修改,指令輸入內(nèi)容在屏幕的左下方顯示。
  • vi編輯模式: 在編輯模式下,可以對文件內(nèi)容進(jìn)行修改,刪減,或增加。在OpenWRT的系統(tǒng)下,我們可以輸入鍵盤上的主鍵盤區(qū)內(nèi)容,也可以使用上下左右箭頭按鍵調(diào)整位置。

兩種模式切換: 在指令模式下,按鍵盤上的字母”i”既進(jìn)入編輯模式(insert方式),這個(gè)時(shí)候可對文件進(jìn)行修改編輯。在編輯模式下按鍵盤的esc鍵,即可返回指令模式,可以輸入指令。 vi支持的指令列表,所有指令都要輸入”:”作為指令開頭,以回車作為指令結(jié)束:


退出vi編輯器指令,放棄對文件的修改: :q! 退出vi編輯器: :q 保存當(dāng)前內(nèi)容: :w 保存退出: :wq 強(qiáng)制保存退出: :wq! 搜索字符: :/[字符內(nèi)容]


操作舉例:

鍵盤輸入 i 進(jìn)入編輯模式,然后可以 隨便輸入一些字符(這時(shí)已經(jīng)可以寫文字了)

保存退出,進(jìn)入指令模式,輸入保存退出指令:wq (請編輯截圖) 該文件即保存,再次使用vi /tmp/test打開文件即可看到文件保存內(nèi)容。

認(rèn)識UCI

眾所周知,在Linux下各種軟件包有各種不同的配置腳本,每個(gè)配置腳本的語法格式和操作方式不同,這樣的設(shè)計(jì)雖然可以體現(xiàn)出各軟件包自身的優(yōu)勢,同時(shí)也增加了智能路由產(chǎn)品開發(fā)的難度。在這一點(diǎn)上OpenWRT下的UCI技術(shù)無疑是一種創(chuàng)新。

UCI是(Unified Configuration Interface)集中式配置信息管理接口的縮寫,他是OpenWRT引進(jìn)的一套配置參數(shù)管理機(jī)制。UCI管理了OpenWRT下最主要的系統(tǒng)配置,并且提供了簡單,容易,標(biāo)準(zhǔn)化的人機(jī)交互接口。UCI的管理包含了網(wǎng)絡(luò)配置,無線配置,系統(tǒng)信息配置等作為路由器的系統(tǒng)主要配置參數(shù)。UCI可以幫助開發(fā)人員快速的開發(fā)出基于OpenWRT的智能路由產(chǎn)品的控制界面(諸如瀏覽器界面,手機(jī)界面等)。

在OpenWRT下有大量的軟件包的配置實(shí)用了UCI兼容模式。大量的應(yīng)用程序其實(shí)都有他們自己的配置文件,比如samba的配置文件默認(rèn)是/etc/samba/samba.conf,但是在OpenWRT下samba軟件包使用的配置方式也是UCI。當(dāng)執(zhí)行/etc/init.d/samba start的時(shí)候,啟動(dòng)腳本將通過UCI的shell解碼器分析/etc/config/samba配置文件,并且生成需要的/etc/samba/samba.conf配置,來完成配置。

OpenWRT下服務(wù)軟件加載流程(samba舉例):


啟動(dòng)腳本—>/etc/config/samba(UCI解碼器)—>/etc/samba/samba.conf—>啟動(dòng)samba服務(wù)


OpenWRT下配置處理流程(samba舉例):


uci命令—>UCI編解碼器—>/etc/config/samba


由于uci配置文件非常適合人機(jī)交互,因此如果你是需要人工修改配置,也可以簡單的使用常見的vi編輯器直接修改配置:


vi /etc/config/samba


默認(rèn)的OpenWRT系統(tǒng)擁有以下幾個(gè)配置文件,隨著軟件包的增加系統(tǒng)配置文件數(shù)量也會(huì)增加:


dhcp 路由器的DHCP服務(wù),面向LAN口下計(jì)算機(jī)提供IP地址分配服務(wù) dropbear SSH服務(wù) firewall 路由轉(zhuǎn)發(fā),端口轉(zhuǎn)發(fā),防火墻規(guī)則 fstab 外部存儲(chǔ)器配置 network WAN / LAN 網(wǎng)絡(luò)配置 system 時(shí)間服務(wù)器時(shí)區(qū)配置 wireless 無線網(wǎng)絡(luò)配置


UCI配置文件格式

UCI默認(rèn)情況下只處理/etc/config中的配置文件,通過參數(shù)指定也可以通過UCI處理其他位置的配置文件。UCI的配置文件同XML不同(XML的設(shè)計(jì)更適應(yīng)機(jī)器讀取),而UCI配置文件的設(shè)計(jì)對于人讀取非常友好。所以即使你手工修改這些配置也是沒有任何問題的。

UCI文件內(nèi)容格式舉例:


config ‘example’ ‘test’
option ‘string’ ‘some value’
option ‘boolean’ ’1′
list ‘collection’ ‘first item’
list ‘collection’ ‘second item’


從config開始一直到下一個(gè)config出現(xiàn)中間的內(nèi)容表示一個(gè)段配置(以下均用Section表達(dá)),其作用類似編程語言中的{}作用,是表示一個(gè)區(qū)域數(shù)據(jù)。


Section開始語法: config ‘類型’ ‘名字’


其中上面例子的example就是這個(gè)配置的類型,而test就是這個(gè)配置的名字。UCI允許”匿名”的配置存在所以可能存在只有”類型”而沒有”名字”的配置。


參數(shù)定義語法: option ‘鍵’ ‘值’


option表示當(dāng)前的配置中的鍵/值定義語法。上面例子定義了一個(gè)鍵為’string’,值為’some value’的配置參數(shù)。


列表定義語法: list ‘集合名字’ ‘值’


list表示一種集合參數(shù),UCI會(huì)根據(jù)相同集合名字生成一個(gè)數(shù)組(以上例子數(shù)據(jù)中包含’first item’和’second item’兩個(gè)值)給予相應(yīng)的軟件包使用。 UCI允許的參數(shù)格式:


option example value
option ‘example’ value
option example “value”
option “example” ‘value’
option ‘example’ “value”


當(dāng)遇到上面錯(cuò)誤的時(shí)候,UCI還是可以很好的工作,但是如果遇到下面的格式,UCI將出現(xiàn)問題:


option ‘example” “value’
option example some value with space


另外非常重要的是,盡量使用常規(guī)字符去處理器UCI,特殊字符有可能會(huì)破壞數(shù)據(jù)結(jié)構(gòu)的完整性。

UCI文件讀寫方式

UCI文件的讀寫有兩種方式:

  • UCI文件的讀寫可以通過OpenWRT附帶的uci指令來完成,這種讀寫方式可以用于命令行也可以用于自己開發(fā)的WEB程序來操作。
  • 直接使用系統(tǒng)的vi編輯器直接修改UCI文件,所做的修改也可以被系統(tǒng)所識別。
UCI指令讀取配置

語法格式: uci [<options>] <command> [<arguments>] 查看類語法:


uci get <config>.<section>[.<option>] 取得一個(gè)鍵的值 或根據(jù)段的名字取得類型
uci show [<config>[.<section>[.<option>]]] 顯示出全部 / 配置文件 / 段 / 鍵 的完整格式
uci changes [<config>] 顯示出全部 / 配置文件 的未保存修改(經(jīng)過commit語法保存后就不再有記錄)


變更類語法:


uci add <config> <section-type> 增加一個(gè)匿名段配置到配置文件中
uci set <config>.<section>[.<option>]=<value> (增加/修改)一個(gè)有名字的段 / 增加一個(gè)段中的鍵和值
uci add_list <config>.<section>.<option>=<string> 增加一個(gè)列表集合數(shù)據(jù)到配置文件中
uci del_list <config>.<section>.<option>=<string> 刪除一個(gè)指定值的列表集合數(shù)據(jù)
uci delete <config>[.<section>[[.<option>][=<id>]]] 刪除一個(gè) 段 / 鍵 / 指定值的鍵
uci commit [<config>] 將變更保存在文件中,或保存全部變更到各自文件


UCI在讀取的時(shí)候優(yōu)先顯示內(nèi)存中的緩存,其次顯示文件中的。UCI在進(jìn)行變更的時(shí)候只變更內(nèi)存的,如果要使變更生效需要執(zhí)行commit將其寫入文件。 來舉個(gè)例子。首先產(chǎn)生一個(gè)用來做測試的樣本測試:


root@OpenWrt:~# cp /etc/config/system /etc/config/mytest


查看當(dāng)前狀態(tài):

取出mytest.ntp.server的值:

增加一個(gè)名為mytest類型為hello的段到mytest文件中:


root@OpenWrt:~# uci set mytest.mytest=hello


增加一個(gè)配置到這個(gè)段中:


root@OpenWrt:~# uci set mytest.mytest.enable=1


修改mytest.@system[0].hostname這個(gè)參數(shù):


root@OpenWrt:~# uci set mytest.@system[0].hostname=hoowa


刪除掉一個(gè)ntp.server的值:


root@OpenWrt:~# uci del_list mytest.ntp.server=2.openwrt.pool.ntp.org


查看都修改了啥:

保存修改:


root@OpenWrt:~# uci commit mytest


看看文件有啥變化:

舉例,開啟wifi功能:


root@OpenWrt:/# uci set wireless.radio0.disabled=0
root@OpenWrt:/# uci commit wireless


讓wifi開啟生效:


root@OpenWrt:/# wifi


使用SCP進(jìn)行文件傳輸

SCP(Secure copy)是OpenWRT中的SSH附帶的文件傳輸功能,SCP在操作上類似FTP可以實(shí)現(xiàn)一個(gè)安全的數(shù)據(jù)文件傳輸。

SCP適用于調(diào)試階段的程序文件上下載,從而進(jìn)行快速測試,這是個(gè)非常不錯(cuò)的工具。

第一步:正式開放SSH

在默認(rèn)的情況下由于沒有密碼,所以SSH無法登入。首先修改系統(tǒng)超級賬戶密碼,在提示中填寫兩次新密碼:


root@OpenWrt:/# passwd


完成后重啟SSH的服務(wù):


root@OpenWrt:/# /etc/init.d/dropbear restart


第二步: 安裝WinSCP

大家可以使用一個(gè)winscp的工具實(shí)現(xiàn)這個(gè)操作。winscp工具已經(jīng)放在了教學(xué)服務(wù)器上,下載地址為http://182.92.3.46/hoowa/openwrt/tools/winscp439setup.zip。安裝這個(gè)工具軟件,然后讓你的電腦連接到開發(fā)板的wifi上(在上邊案例中,你已經(jīng)開啟過wifi了,對嗎?),同時(shí)打開軟件。

第三步: 點(diǎn)擊新建


主機(jī)名填寫IP地址,默認(rèn)的開發(fā)板是192.168.1.1
端口填寫22
用戶名填寫root
密碼就填寫剛才設(shè)置的那個(gè)密碼
文件協(xié)議選擇SCP


點(diǎn)擊連接, 連接過程中有提示找不到group指令,沒關(guān)系直接確認(rèn)就行了。

第四步:文件處理

登入后,操作起來就像FTP工具一樣,左側(cè)是你的電腦,右側(cè)是開發(fā)板系統(tǒng),你可以上載下載文件。

在本章,我們介紹了三種進(jìn)行配置編輯的方法,請選擇其中一種最為你進(jìn)行后續(xù)操作所使用的方式即可。其他的用到了再回來學(xué)習(xí)也可以的。

到這里,我們在硬件部分的第一次操作基本完成,接下來將進(jìn)去軟件環(huán)節(jié),來學(xué)習(xí)如何配置出一個(gè)具備完整功能的路由系統(tǒng)來。



上一篇:周鴻祎攜360安全路由器殺入智能路由器市場 ...
下一篇:有人買過小米路由器的嗎?用起來怎么樣?
沙發(fā)
發(fā)表于 2015-3-2 21:54 | 只看該作者 | 來自北京
強(qiáng)烈支持樓主ing……
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-11-14 21:32 , Processed in 0.076424 second(s), 16 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表