摘 要:嵌入式系統設計的產品需要具備網絡功能需求日益增多,并且Linux系統內核及其上執行的各種網絡軟件,可以用來運行高可靠、高可用網絡服務的軟件,這也正是Linux更適合網絡應用程序的原因。本文將對如何在嵌入式Linux系統中設置及配置網絡服務進行闡述。
關鍵詞:嵌入式Linux;網絡服務
1 引言
隨著信息化、網絡化、智能化的發展,嵌入式技術得到了極大的發展,Linux操作系統以其穩定性好,可靠性高,源代碼公開,可剪裁,版權免費等優點,已成為嵌入式領域的一股新興力量,具有巨大的市場潛力和商業價值。利用嵌入式Linux系統設計的各種產品需要具備網絡功能的支持,主流網絡服務主要有internet super-server、SNMP遠程管理、使用Telnet進行網絡登錄等。
2 Inter Super-Server服務
網絡服務程序會影響來自特定端口號的服務請求,為讓網絡服務正常運行,必須有個運行中的進程在相應的端口號上監聽服務請求。大多數程序都是利用Inter Super-Server程序,它負責堅挺所有已經啟用的網絡服務器的端口。在Linux系統中主要有兩個程序可用,即:inetd和xinetd。后者將逐漸取代前者,但是前者的體積小更適合嵌入式Linux系統。
Inetd是netkit套件的一部分其中netkit-base套件除了附帶inetd外,還包括了ping。我們要先下載netkit-base并取出放到${PRJROOT}/sysapps目錄,修改configure腳本。如果不修改該腳本,測試程序將無法在主機上執行。修改方法是將__conftest測試程序前都加#以注釋掉對應測試程序。另外inetd的建立還需要glibc或uClibc。
Xinetd比inetd更優秀,因為它還允許某種安全許可。我們要先下載xinetd套件,并解壓縮放到${PRJROOT}/sysapps目錄中,其中uClibc必須支持RPC和C99才能保證xinetd順利編譯。接著進行設定、編譯以及安裝xinetd,xinetd套件會把二進制文件安裝到${TARGET_PREFIX}目錄。
兩者在安裝后都需要添加一行設定(::once:/usr/sbin/xinetd),但是區別在于xinetd只能被啟動成監控程序,所以,如果xinetd終止后,init無法再次啟動xinetd。
3 SNMP遠程管理
簡易網絡管理協議讓我們能通過TCP/IP網絡進行設備的遠程管理。這對于我們嵌入式設備的網絡應用和網絡維護提供方便。操作者不必在設備旁邊,通過遠程監控目標板自動監控工作。若我們的設備中的目標板是一個復雜網絡的一部分,亦或是你需要隨時從遠程監控它的狀態。Net-SNMP是個相當大的套件,它包含很多軟件組件。我們首先下載套件并且將它解壓放到${PRJROOT}/sysapps目錄。將Net-SNMP設置成使用glibc進行建立的工作。Net-SNMP也可鏈接uClibc,但是需要將uClibc設定成支持IPv6。如果不支持,可以在Net-SNMP的配置命令行上加入—disable-ipv6選項,讓Net-SNMP停止對IPv6的支持即可。配置命令腳本執行完畢后,接著進行建立和安裝Net-SNMP組件。
代碼如下:
$make prefix=${TARGET_PREFIX} exec_prefix=${TARGET_PREFIX} install
其中,值得注意的是SNMP代理執行時仍會讀取/usr/local/share/snmp配置文件,exec_prefix參數如果未加入整個安裝將會失敗。
4 Telnet進行網絡登錄
Telnet登錄方式管理服務是最普遍的管理方法之一,一旦目標板系統連接網絡后,Telnet協議是存取目標板的最直接有效的方法。啟用遠程登錄功能,必須執行Telnet監控程序。能夠在嵌入式Linux系統中運行的Telnet有兩種:telnetd和utelnetd。系統資源的豐富與否將決定我們選擇哪個Telnet程序,如果我們資源非常有限,我們可以選擇utelnet。Telnet的登錄管理方法不是安全的管理方式,尤其在Internet上使用。
5 結束語
總之,嵌入Linux系統設計產品要想得到更快速和更廣泛的普及,它必須要有很好的網絡應用和網絡服務。本文通過對Inter Super-Server、SNMP和Telnet三種服務的安裝過程進行了闡述,為開發人員提供了基礎服務安裝的指導,同時也對嵌入式系統中網絡服務的發展提供了依據。
[參考文獻]
[1]馬坤,楊波.Telnet協議在網管系統中的應用[J].信息技術與信息化, 2006(04).
[2]裴鵬真,孫運強.網絡管理中一種Telnet用戶帳戶截獲的穩定方法[J]. 信息技術,2008(05).
[3]張建軍,陳志雄,韓江洪,張利.Linux平臺下串行口全雙工通訊的實現[J].合肥工業大學學報(自然科學版),2003(02).
[4]馬龍,張思東,張宏科.SNMP代理軟件在IPv6環境下的實現[J].中國數據通信,2003(08).
[5]許晨輝.嵌入式軟構件技術的研究與應用[D].西北工業大學,2003.