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