<ul id="gu0q4"></ul>
  • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
    <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    • <samp id="gu0q4"></samp>

      常用的網(wǎng)絡(luò)服務(wù)搭建和使用原創(chuàng)

      發(fā)布時(shí)間:2023-11-27 16:39:44
      TFTP服務(wù)搭建 NFS服務(wù)搭建 SSH服務(wù)搭建

      各位小伙伴在使用ElfBoard開發(fā)板的過程中,必然會(huì)有拷貝文件到開發(fā)板中的這個(gè)操作,通??梢酝ㄟ^U盤進(jìn)行拷貝,但是為了更方便的傳輸文件,還可以通過搭建網(wǎng)絡(luò)服務(wù)的方式進(jìn)行文件傳輸,下面給小伙伴們介紹一些常用的網(wǎng)絡(luò)服務(wù)的搭建和使用。

      首先ubuntu的網(wǎng)絡(luò)模式需要設(shè)置為橋接模式,電腦主機(jī)、ubuntu主機(jī)、開發(fā)板三者的ip要處于同一網(wǎng)段,且ubuntu主機(jī)要能上外網(wǎng),同時(shí)還要關(guān)閉ubuntu和windows防火墻(關(guān)閉ubuntu防火墻:sudo ufw disable)。

      本文中使用的三者的ip分別如下:

      電腦主機(jī)ip:192.168.0.64

      Ubuntu主機(jī)ip:192.168.0.51

      開發(fā)板ip:192.168.0.232

      然后參照以下的操作步驟就可以進(jìn)行網(wǎng)絡(luò)服務(wù)的搭建和使用。

      01
      TFTP服務(wù)搭建

      TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議),是TCP/IP協(xié)議族中用來在客戶機(jī)和服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,開銷很小。TFTP通常用于內(nèi)核調(diào)試。在嵌入式Linux開發(fā)過程中,內(nèi)核調(diào)試是其中一個(gè)基礎(chǔ)、重要的環(huán)節(jié)。調(diào)試內(nèi)核通常是與 Bootloader配合使用,只需在Bootloader中實(shí)現(xiàn)了網(wǎng)卡驅(qū)動(dòng)和TFTP客戶端,就可以使用TFTP進(jìn)行傳輸內(nèi)核。使用TFTP協(xié)議傳輸文件,還需要在主機(jī)安裝TFTP服務(wù)端,可以在 Linux系統(tǒng)下實(shí)現(xiàn),也可以在Windows系統(tǒng)下實(shí)現(xiàn),下面在Linux(Ubuntu)系統(tǒng)下安裝TFTP服務(wù)端進(jìn)行測(cè)試。

      1.安裝服務(wù)器、客戶端和守護(hù)進(jìn)程

      elf@ubuntu:~$ sudo apt-get install tftp-hpa tftpd-hpa xinetd

      2.服務(wù)器配置

      首先,在/home/elf目錄下建一個(gè)tftpboot,并把屬性改成任意用戶可讀寫:

      elf@ubuntu:~$ mkdir tftpboot  elf@ubuntu:~$ chmod 777 tftpboot

      然后,進(jìn)入目錄 /etc/xinetd.d/,并在其中新建文件tftp,把指定的內(nèi)容加入到tftp文件中:

      elf@ubuntu:~$ cd /etc/xinetd.d/ elf@ubuntu:~$ sudo vim tftp

      添加以下內(nèi)容到tftp文件:

      service tftp{disable = no 138socket_type = dgramprotocol = udpwait = yesuser = elfserver = /usr/sbin/in.tftpdserver_args = -s /home/elf/tftpboot -cper_source = 11cps = 100 2}

      最后,修改配置文件/etc/default/tftpd-hpa:

      elf@ubuntu:~$ sudo vim /etc/default/tftpd-hpa

      修改為:

      TFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/elf/tftpboot"TFTP_ADDRESS="0.0.0.0:69"TFTP_OPTIONS="--secure -l -c -s"

      注意將“TFTP_DIRECTORY” 改為新建tftpboot目錄所在的路徑。

      3. 重新啟動(dòng)服務(wù)

      elf@ubuntu:~$ sudo /etc/init.d/xinetd reload [ ok ] Reloading xinetd configuration (via systemctl): xinetd.service.elf@ubuntu:~$ sudo /etc/init.d/xinetd restart[ ok ] Restarting xinetd (via systemctl): xinetd.service.elf@ubuntu:~$ sudo /etc/init.d/tftpd-hpa restart[ ok ] Restarting tftpd-hpa (via systemctl):tftpd-hpa.service.

      4. 測(cè)試服務(wù)器

      測(cè)試一下,在/tftpboot文件夾下新建立一個(gè)文件 :

      elf@ubuntu:~/tftpboot$ touch abc

      進(jìn)入另外一個(gè)文件夾:

      elf@ubuntu:~/tftpboot$ cd /home/elf@ubuntu:/home$ sudo tftp 192.168.0.51                  //192.168.0.51為本機(jī)IPtftp> get abc tftp> quitelf@ubuntu:/home$ lsabc  elf

      如果可以下載abc文件說明服務(wù)器已經(jīng)安裝成功。

      02
      NFS服務(wù)搭建

      在嵌入式Linux開發(fā)中,需要在Linux主機(jī)編寫程序代碼,然后編譯程序,生成的二進(jìn)制程序文件要傳輸?shù)侥繕?biāo)機(jī)上才能調(diào)試、運(yùn)行。那么如何更快、更便捷地傳輸文件,提高開發(fā)工作的效率呢?NFS無疑是最好的選擇。通過NFS服務(wù),主機(jī)將用戶指定的目錄通過網(wǎng)絡(luò)共享給目標(biāo)機(jī)(和windows的文件網(wǎng)絡(luò)共享類似)。目標(biāo)機(jī)可以直接運(yùn)行存放于Linux主機(jī)共享目錄下的二進(jìn)制程序,這樣調(diào)試程序時(shí)十分方便、高效。

      ?

      NFS即網(wǎng)絡(luò)文件系統(tǒng)(Network File-System),可以通過網(wǎng)絡(luò)讓不同機(jī)器、不同系統(tǒng)之間可以實(shí)現(xiàn)文件共享。通過NFS,可以訪問遠(yuǎn)程共享目錄,就像訪問本地磁盤一樣。

      ?

      1. ubuntu下搭建nfs服務(wù)器的方法

      軟件下載安裝:

      elf@ubuntu:~$ sudo apt-get install nfs-kernel-server nfs-common portmap

      創(chuàng)建NFS的目錄為nfs_rootfs,并在該目錄下新建測(cè)試文件test;

      elf@ubuntu:~$ mkdir nfs_rootfself@ubuntu:~$ cd nfs_rootfs/elf@ubuntu:~/nfs_rootfs$ touch testelf@ubuntu:~/nfs_rootfs$ lstest

      修改配置文件:

      elf@ubuntu:~/nfs_rootfs$ sudo vim /etc/exports

      在文件中添加以下配置:

      /nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)/home/elf/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)

      重啟配置文件和服務(wù):

      elf@ubuntu:~/nfs_rootfs$ sudo exportfs -rvelf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/rpcbind restartelf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/nfs-kernel-server restart

      2. 驗(yàn)證

      在開發(fā)板上驗(yàn)證nfs服務(wù)器,執(zhí)行完以下命令將nfs服務(wù)器掛載到開發(fā)板的/mnt目錄:

      root@ELF1:~# mount -t nfs4 -o vers=4 172.16.0.51:/home/elf/nfs_rootfs /mnt/

      掛載成功后,查看/mnt目錄,會(huì)看到剛才解壓的文件系統(tǒng):

      root@ELF1:~# ls /mnt/test

      03
      SSH服務(wù)搭建

      SSH為Secure?Shell的縮寫,由IETF的網(wǎng)絡(luò)小組(Network Working Group)所制定的建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH是較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來又迅速擴(kuò)展到其他操作平臺(tái),目前為止,幾乎所有UNIX平臺(tái),包括HP-UXLinux、AIX、Solaris、Digital?UNIXIrix等,都可運(yùn)行。

      1. 在系統(tǒng)開發(fā)過程中經(jīng)常會(huì)遇到下列情形

      (1)Linux主機(jī)不在本地,但又要使用或者維護(hù)這臺(tái)計(jì)算機(jī);

      (2)一個(gè)嵌入式Linux產(chǎn)品不方便接調(diào)試串口,需要進(jìn)行維護(hù);

      (3)在遠(yuǎn)程機(jī)器和本地機(jī)器之間進(jìn)行文件傳輸。

      ?

      如果遠(yuǎn)程目標(biāo)系統(tǒng)已經(jīng)開啟了SSH服務(wù),通過SSH可以輕松解決以上問題。使用SSH服務(wù),一方面需要在遠(yuǎn)程系統(tǒng)上安裝SSH服務(wù),另一方面要在本地系統(tǒng)上安裝SSH客戶端,常見的SSH客戶端有 putty、SSH Secure Shell Client 等。

      2. SSH有以下幾個(gè)知識(shí)要點(diǎn)

      (1)SSH是安全的加密協(xié)議,用于遠(yuǎn)程連接Linux服務(wù)器;

      (2)SSH默認(rèn)端口是22號(hào)端口,安全協(xié)議版本SSHv2,除了SSHv2版本之外還有SSHv1版本(有漏洞,不安全);

      (3)SSH服務(wù)端主要包含兩個(gè)服務(wù)功能SSH遠(yuǎn)程連接和SFTP服務(wù);

      (4)Linux SSH客戶端包含SSH遠(yuǎn)程連接命令以及遠(yuǎn)程拷貝scp命令等。

      3. 安裝SSH

      (1)在Ubuntu(Linux主機(jī))終端鍵入以下指令,安裝SSH服務(wù):

      elf@ubuntu:/$ sudo apt-get install ssh

      (2)啟動(dòng)SSH服務(wù):

      elf@ubuntu:/$ sudo service ssh start

      (3)查看SSH服務(wù)的狀態(tài):

      elf@ubuntu:/$ sudo service ssh status ssh.service - OpenBSD Secure Shell server   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)   Active: active (running) since Mon 2021-08-23 17:19:57 CST; 45s ago Main PID: 7383 (sshd)    Tasks: 1 (limit: 2292)   CGroup: /system.slice/ssh.service           └─7383 /usr/sbin/sshd -D
      8月 23 17:19:57 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...8月 23 17:19:57 ubuntu sshd[7383]: Server listening on 0.0.0.0 port 22.8月 23 17:19:57 ubuntu sshd[7383]: Server listening on :: port 22.8月 23 17:19:57 ubuntu systemd[1]: Started OpenBSD Secure Shell server.

      (4)關(guān)閉SSH服務(wù):

      elf@ubuntu:/$ sudo service ssh stop

      (5)測(cè)試方法:?

      在Windows主機(jī)通過putty訪問Linux系統(tǒng),打開putty界面,使用SSH登錄,ip設(shè)置Linux主機(jī)的ip,端口號(hào)默認(rèn)為22。

      第一次登錄,會(huì)提示如下警告,點(diǎn)擊“是”即可:

      登錄時(shí),輸入用戶名與密碼完成登錄。

      關(guān)于網(wǎng)絡(luò)服務(wù)搭建和使用的相關(guān)操作就介紹到這里,希望本篇文章能夠幫助大家在學(xué)習(xí)嵌入式開發(fā)的過程中提供幫助。

      其它推薦:

      推薦閱讀:

      /* 53客服*/ /* 百度統(tǒng)計(jì)*/ /* 百度站長*/
      <ul id="gu0q4"></ul>
    • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
      <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      • <samp id="gu0q4"></samp>