以下測(cè)試的網(wǎng)絡(luò)環(huán)境為:虛擬機(jī)NAT模式,ubuntu設(shè)置為自動(dòng)獲取ip。
1、網(wǎng)絡(luò)基本知識(shí)
具備基本的網(wǎng)絡(luò)知識(shí)對(duì)于linux的學(xué)習(xí)非常重要,只有了解了這些基礎(chǔ)知識(shí),才能更好的學(xué)習(xí)網(wǎng)絡(luò)相關(guān)指令、網(wǎng)絡(luò)設(shè)置、網(wǎng)絡(luò)服務(wù)等內(nèi)容。
1)OSI七層模型
OSI模型即網(wǎng)絡(luò)結(jié)構(gòu)的標(biāo)準(zhǔn)模型,是由國(guó)際互聯(lián)網(wǎng)標(biāo)準(zhǔn)化組織定義的網(wǎng)絡(luò)分層模型,雖然由于模型的實(shí)現(xiàn)太復(fù)雜,并沒(méi)有實(shí)際的七層網(wǎng)絡(luò)協(xié)議棧,但對(duì)于理解網(wǎng)絡(luò)協(xié)議內(nèi)部的架構(gòu)很有幫,提供了很好的參考模型。
在OSI七層結(jié)構(gòu)中,每一層規(guī)定了不同的特性,負(fù)責(zé)不同的功能:
應(yīng)用層(Application Layer):用戶接口,為應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)服務(wù)的接口,為用戶提供常用的應(yīng)用。應(yīng)用層使用報(bào)文進(jìn)行數(shù)據(jù)交互,本層定義的規(guī)范有:Telnet、FTP協(xié)議、HTTP協(xié)議、域名DNS等。
表示層(Presentation Layer):對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行解釋交換,使主機(jī)之間通信的信息能互相理解。該層功能主要包括數(shù)據(jù)的壓縮、加密、格式轉(zhuǎn)換等,定義的標(biāo)準(zhǔn)有:ASCII、JPEG等。
會(huì)話層(Session Layer):對(duì)應(yīng)用會(huì)話的建立、中止、會(huì)話過(guò)程的管理。
傳輸層(Transport Layer):該層為主機(jī)進(jìn)程之間的通信提供服務(wù),以數(shù)據(jù)段為單位,提供可靠或在不可靠的傳輸,為上層掩蓋下層細(xì)節(jié),保證會(huì)話層的數(shù)據(jù)信息能夠傳送到另一方的會(huì)話層,是計(jì)算機(jī)通信體系結(jié)構(gòu)中關(guān)鍵的一層。主要的傳輸層協(xié)議是TCP和UDP。
網(wǎng)絡(luò)層(NetWork Layer):負(fù)責(zé)將各個(gè)子網(wǎng)之間的數(shù)據(jù)進(jìn)行路由選擇,將數(shù)據(jù)從發(fā)送端主機(jī)發(fā)送到接收端主機(jī),數(shù)據(jù)單位為數(shù)據(jù)包,主要用到的協(xié)議就是IP協(xié)議。
數(shù)據(jù)鏈路層(Data Link Layer):數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層交下來(lái)的 IP數(shù)據(jù)包組裝成幀,在這一層利用通信信道實(shí)現(xiàn)無(wú)差錯(cuò)傳輸,在物理介質(zhì)基礎(chǔ)之上提供了可靠的數(shù)據(jù)傳輸。
物理層(Physical Layer):為上層提供物理介質(zhì),通信端點(diǎn)之間的硬件物理接口,設(shè)備之間以比特流進(jìn)行傳輸。該層主要與硬件相關(guān),確定了與物理接口的一些特性,如電氣特性、功能特性等。
2)TCP/IP四層模型
TCP/IP傳輸協(xié)議,即傳輸控制/網(wǎng)絡(luò)協(xié)議,也叫做網(wǎng)絡(luò)通訊協(xié)議。是linux世界的網(wǎng)絡(luò)基礎(chǔ),是在網(wǎng)絡(luò)的使用中的最基本的通信協(xié)議。TCP/IP協(xié)議不是一個(gè)獨(dú)立的協(xié)議,而是一組不同層次上的多個(gè)協(xié)議的組合,不同層次負(fù)責(zé)不同的功能。
網(wǎng)絡(luò)接口層:對(duì)應(yīng)的OSI參考模型中的物理層和數(shù)據(jù)鏈路層。TCP/IP本身并未定義該層的協(xié)議,只是規(guī)定了為上一層網(wǎng)絡(luò)層提供訪問(wèn)接口,可以傳輸IP數(shù)據(jù)包,發(fā)送ARP請(qǐng)求和接收ARP應(yīng)答。
網(wǎng)絡(luò)層:對(duì)應(yīng)OSI參考模型中的網(wǎng)絡(luò)層,是TCP/IP協(xié)議棧的核心,將數(shù)據(jù)包進(jìn)行分組并發(fā)往目的主機(jī)。主要解決主機(jī)到主機(jī)的通信問(wèn)題,它所包含的協(xié)議涉及數(shù)據(jù)包在整個(gè)網(wǎng)絡(luò)上的邏輯傳輸。該層有三個(gè)主要協(xié)議:IP(國(guó)際協(xié)議)、IGMP(互聯(lián)網(wǎng)組管理協(xié)議)、ICMP(互聯(lián)網(wǎng)控制報(bào)文協(xié)議)
傳輸層:對(duì)應(yīng)OSI參考模型中的傳輸層,提供主機(jī)與主機(jī)之間對(duì)等層之間可以進(jìn)行會(huì)話的機(jī)制,保證了數(shù)據(jù)包的順序傳送及數(shù)據(jù)的完整性。該層定義了兩個(gè)主要的協(xié)議:TCP傳輸控制協(xié)議、UDP用戶數(shù)據(jù)報(bào)協(xié)議
應(yīng)用層:將OSI參考模型中的會(huì)話層和表示層取消,將功能合并到到應(yīng)用層,為用戶提供所需要的各種服務(wù)。例如,基于TCP協(xié)議的FTP(文件傳輸協(xié)議)、Telnet協(xié)議、HTTP(超文本鏈接協(xié)議)等,基于UDP協(xié)議的TFTP、域名服務(wù)DNS、NFS等。
以FTP文件傳輸為例,在各層的數(shù)據(jù)傳輸過(guò)程如下:
3)IP
互聯(lián)網(wǎng)上的每個(gè)接口必須有一個(gè)唯一的Internet地址(也稱作IP地址)主機(jī)或網(wǎng)絡(luò)設(shè)備如果想要連接到Internet,就必須配置IP地址。應(yīng)用范圍最廣泛的因特網(wǎng)地址使用IPv4的IP地址,長(zhǎng)為32位,由4組十進(jìn)制數(shù)組成,每組數(shù)值范圍為0~255,中間用點(diǎn)號(hào)隔開。例如IP地址192.168.0.232。
IP地址的一般格式為:類別+網(wǎng)絡(luò)標(biāo)號(hào)+主機(jī)標(biāo)識(shí)。其中類別用來(lái)區(qū)分IP地址的類型,網(wǎng)絡(luò)號(hào)表示主機(jī)所在的網(wǎng)絡(luò),主機(jī)號(hào)表示主機(jī)在網(wǎng)絡(luò)中的標(biāo)識(shí)。IP地址通常分為五類:A類、B類、C類、D類、E類:
其中D、E類為特殊地址不對(duì)民用開發(fā)。對(duì)于ABC類地址劃分了公有地址和私有地址,其中公有地址由Inter INC負(fù)責(zé),這些IP需要進(jìn)行注冊(cè)申請(qǐng)。私有地址屬于非注冊(cè)地址,專門為組織機(jī)構(gòu)內(nèi)部使用,不能直接訪問(wèn)公網(wǎng),是不同局域網(wǎng)內(nèi)的計(jì)算機(jī)可以使用相同的IP地址
一些特殊的IP地址:
(一)主機(jī)號(hào)全為0的IP地址,不分配給任何主機(jī),用于表示某個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)地址
(二)主機(jī)號(hào)全為1的IP地址,不分配給任何主機(jī),僅用作廣播地址
(三)IP地址127.0.0.1為回環(huán)結(jié)構(gòu),用于本地進(jìn)行軟件測(cè)試
子網(wǎng)掩碼是一個(gè)32位的二進(jìn)制地址,用來(lái)屏蔽原來(lái)網(wǎng)絡(luò)地址的劃分情況,從而獲得一個(gè)范圍小的,可以實(shí)際使用的網(wǎng)絡(luò)。子網(wǎng)掩碼使用與IP地址相同的格式,由4組十進(jìn)制數(shù)組成,其中值為0的部分對(duì)應(yīng)IP地址的主機(jī)ID部分。
使用子網(wǎng)掩碼,網(wǎng)絡(luò)設(shè)備可以分析得出一個(gè)IP地址的網(wǎng)絡(luò)地址和子網(wǎng)地址,以及主機(jī)地址。子網(wǎng)掩碼和IP地址進(jìn)行“與”運(yùn)算后,所得到的值為網(wǎng)絡(luò)地址和子網(wǎng)地址。
標(biāo)準(zhǔn)的子網(wǎng)掩碼:
子網(wǎng)掩碼便于網(wǎng)絡(luò)設(shè)備的盡快尋址,區(qū)分本網(wǎng)段地址和非本網(wǎng)段的地址,劃分子網(wǎng),進(jìn)一步縮小子網(wǎng)的地址空間,充分利用目前緊缺的IP地址。
舉例:
比較兩臺(tái)主機(jī)的IP地址與子網(wǎng)掩碼進(jìn)行“與”運(yùn)算后的值,如果結(jié)果相同,則說(shuō)明兩臺(tái)計(jì)算機(jī)處于同一個(gè)子網(wǎng)絡(luò)上。在以太網(wǎng)結(jié)構(gòu)的網(wǎng)絡(luò)中,同一子網(wǎng)內(nèi)的兩臺(tái)計(jì)算機(jī)可以直接通信,而不用路由器對(duì)IP分組進(jìn)行轉(zhuǎn)發(fā)
兩個(gè)主機(jī)的IP地址和子網(wǎng)掩碼進(jìn)行按位“與”運(yùn)算,得到兩個(gè)主機(jī)的網(wǎng)絡(luò)地址均為11000000.10101000.00000000.00000000,即192.168.0.0,可知兩個(gè)主機(jī)在同一個(gè)網(wǎng)絡(luò)上。
5)端口號(hào)
端口是一個(gè)16位的整數(shù),為了方便多種應(yīng)用程序,區(qū)分不同應(yīng)用程序的數(shù)據(jù)和狀態(tài),引入了端口。服務(wù)程序需要對(duì)某個(gè)端口進(jìn)行綁定,客戶端訪問(wèn)主機(jī)的此端口號(hào)與應(yīng)用程序進(jìn)行通信。
端口號(hào)可以由系統(tǒng)分配,也由用戶自定義,一些常用的服務(wù)程序使用固定的靜態(tài)端口號(hào)。
6)DNS(域名系統(tǒng))
DNS是Domai Name Systerm的縮寫,即域名系統(tǒng),是一個(gè)用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫(kù),用來(lái)提供IP地址和主機(jī)之間的映射信息。
DNS的名字空間具有樹形的層次結(jié)構(gòu),結(jié)構(gòu)如下
根域是特殊結(jié)點(diǎn),沒(méi)有任何結(jié)點(diǎn),樹形結(jié)構(gòu)中的域名從最高層域名串聯(lián)起來(lái),中間用“.”分隔,頂級(jí)域名是域名的最后一部分。
頂級(jí)域名分為組織域(3個(gè)字符長(zhǎng)的普通域)和國(guó)家/地區(qū)域(2個(gè)字符的域)。
組織域:
國(guó)家/地區(qū)域:
2、ifconfig網(wǎng)絡(luò)配置命令
命令:ifconfig
功能:顯示或設(shè)置網(wǎng)絡(luò)設(shè)備。
參數(shù):ifconfig [網(wǎng)絡(luò)接口] [選項(xiàng)] 地址/參數(shù)
?
注意:
一、以上命令以ens33網(wǎng)口為例,可以更換為其他網(wǎng)絡(luò)接口;
二、操作需要使用root用戶權(quán)限;
三、該命令設(shè)置后不能夠復(fù)位保存;
關(guān)閉ens33網(wǎng)口,需要用ifconfig -a指令看網(wǎng)卡信息。
elf@ubuntu:~$?sudo ifconfig ens33 down
elf@ubuntu:~$?ifconfig elf@ubuntu:~$?ifconfig -a |
打開ens33網(wǎng)口。
elf@ubuntu:~$?sudo ifconfig ens33 up
elf@ubuntu:~$?ifconfig |
設(shè)置網(wǎng)卡信息。
elf@ubuntu:~$ sudo ifconfig ens33 192.168.0.51
elf@ubuntu:~$ sudo ifconfig ens33 broadcast 192.168.0.255 elf@ubuntu:~$ sudo ifconfig ens33 netmask 255.255.255.0 elf@ubuntu:~$?sudo ifconfig ens33 hw ether 22:22:22:22:22:22 |
3、ping網(wǎng)絡(luò)通斷檢查命令
命令:ping
功能:檢查網(wǎng)絡(luò)的連接情況,通常情況下只能ping網(wǎng)段的主機(jī),跨網(wǎng)段的ping操作需要進(jìn)行特殊的路由設(shè)置
參數(shù):ping [選項(xiàng)] IP地址/域名
?
注意:
如果是操作完上面小節(jié)的網(wǎng)絡(luò)測(cè)試命令,需要先執(zhí)行以下命令使網(wǎng)絡(luò)配置生效。
elf@ubuntu:~$ systemctl restart network-manager.service |
在進(jìn)行ping測(cè)試前需要移除現(xiàn)有的網(wǎng)絡(luò)配置,重新設(shè)置ip。
示例:
與電腦主機(jī)ip(192.168.0.64)進(jìn)行ping測(cè)試。
4、route路由配置命令
命令:route
功能:添加,刪除或查看網(wǎng)關(guān)參數(shù)
參數(shù):route
查看路由:
elf@ubuntu:~$ route |
添加路由:
elf@ubuntu:~$ sudo route add default gw 192.168.0.1 |
刪除路由:
elf@ubuntu:~$ sudo route del?default gw 192.168.0.1 |
5、nameserver設(shè)置DNS
命令:nameserver
功能:使用域名訪問(wèn)DNS,需要設(shè)置DNS
參數(shù):nameserver xx.xx.xx.xx
該設(shè)置存放的位置在/etc/resolv.conf文件中: