Linux網(wǎng)絡(luò)基礎(chǔ)
這是Linux網(wǎng)絡(luò)基礎(chǔ)的筆記,首先介紹了計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)知識,然后是Linux的網(wǎng)絡(luò)設(shè)置
參考資料
- 主要為視頻資料:慕課網(wǎng)
- 輔助書籍:Linux從入門到精通(劉憶智 清華大學(xué)出版社)
- 網(wǎng)絡(luò)地址分為A更胖,B衙熔,C赶撰,D蝌以,E類,這樣的分類有什么意義栋荸,各類別有什么區(qū)別嗎菇怀?
ISO/OSI
容易弄混的幾個概念:
- ISO:國際標(biāo)準(zhǔn)化組織
- OSI:開放系統(tǒng)互聯(lián)模型
- IOS:蘋果操作系統(tǒng)

7,6,5是面向應(yīng)用程序提供的服務(wù),4,3,2,1是面向數(shù)據(jù)提供服務(wù)晌块。
幀存儲的是MAC地址爱沟,即硬件地址,每個網(wǎng)卡上的唯一的標(biāo)識摸袁,負(fù)責(zé)局域網(wǎng)(內(nèi)網(wǎng))數(shù)據(jù)通信
-
報(bào)文存儲的是IP地址钥顽,IP地址負(fù)責(zé)公網(wǎng)(外網(wǎng))數(shù)據(jù)通信
應(yīng)用層 用戶接口
表示層 數(shù)據(jù)的表現(xiàn)形式、特定功能的實(shí)現(xiàn)如加密
會話層 對應(yīng)用會話的管理靠汁、同步
傳輸層 可靠與不可靠的傳輸蜂大、傳輸前的錯誤檢測、流控蝶怔、確定端口
網(wǎng)絡(luò)層 提供邏輯地址奶浦、選路
數(shù)據(jù)鏈路層 成幀、用MAC地址訪問媒介踢星、錯誤檢測與修正
物理層 設(shè)備之間的比特流的傳輸澳叉、物理接口、電氣特性等
示例(發(fā)送郵件):
應(yīng)用層:打開163等郵件網(wǎng)站,編輯郵件
表示層:點(diǎn)擊發(fā)送后成洗,把郵件的內(nèi)容轉(zhuǎn)換為數(shù)據(jù)五督,例如轉(zhuǎn)換為ASCII的0101,還有實(shí)現(xiàn)加密功能
會話層:確定數(shù)據(jù)是在本機(jī)上使用的例如PPT瓶殃,還是需要發(fā)送出去的郵件充包。如果是PPT就不用下面4層,直接保存起來就可以了遥椿。
傳輸層:寫入郵件的發(fā)送端口號:25基矮,接收端口號:110.是個TCP協(xié)議
網(wǎng)絡(luò)層:把本機(jī)IP地址和目標(biāo)IP地址寫入
數(shù)據(jù)鏈路層:把本機(jī)MAC和目標(biāo)MAC寫入
物理層:完成實(shí)際的數(shù)據(jù)傳輸
TCP/IP

網(wǎng)絡(luò)接口層
網(wǎng)絡(luò)接入層與OSI參考模型中的物理層和數(shù)據(jù)鏈路從相對應(yīng)。它負(fù)責(zé)監(jiān)視數(shù)據(jù)在主機(jī)和網(wǎng)絡(luò)之間的交換冠场。事實(shí)上家浇,TCP/IP本身并為定義蓋層的協(xié)議,而由參與互聯(lián)的個網(wǎng)絡(luò)使用自己的物理層和數(shù)據(jù)鏈路從協(xié)議碴裙,然后與TCP/IP的網(wǎng)絡(luò) 接入層進(jìn)行連接钢悲。地址解析協(xié)議(ARP)工作在此層,即OSI參考模型的數(shù)據(jù)鏈路層青团。網(wǎng)際互聯(lián)層
網(wǎng)際互聯(lián)層對應(yīng)于OSI參考模型的網(wǎng)絡(luò)層譬巫,主要解決主機(jī)到主機(jī)通信問題咖楣。它所包含的協(xié)議涉及數(shù)據(jù)包在整個網(wǎng)絡(luò)上的邏輯傳輸督笆。該層有三個主要協(xié)議:網(wǎng)際協(xié)議(IP)、互聯(lián)網(wǎng)組管理協(xié)議(IGMP)和互聯(lián)網(wǎng)控制報(bào)文協(xié)議(ICMP)诱贿。傳輸層
傳輸層對應(yīng)于OSI參考模型的傳輸層娃肿,為應(yīng)用層實(shí)體提供端到端的通信功能,保證了數(shù)據(jù)包的順序傳送及數(shù)據(jù)的完整性珠十。該層定義了兩個主要的協(xié)議:傳輸控制協(xié)議TCP和用戶數(shù)據(jù)報(bào)協(xié)議UDP料扰。
TCP/IP三次握手應(yīng)用層
應(yīng)用層對應(yīng)于OSI參考模型的高層,為用戶提供所需要的各種服務(wù)焙蹭,例如:FTP晒杈、Telnet、DNS孔厉、SMTP等拯钻。

-
TCP/IP模型和OSI模型的比較
- 共同點(diǎn)
- OSI參考模型和TCP/IP參考模型都采用了層次結(jié)構(gòu)的概念
- 都能夠提供面向連接和無連接兩種通信服務(wù)機(jī)制
- 不同點(diǎn)
- 一個是七層一個是四層結(jié)構(gòu)
- 對可靠性要求不同(后者更高)
- OSI模型是在協(xié)議開發(fā)前設(shè)計(jì)的,具有通用型撰豺。TCP/IP是現(xiàn)有協(xié)議集后再建立模型粪般,不適用于非TCP/IP網(wǎng)絡(luò)
- 共同點(diǎn)
IP地址
IP包頭

IP地址分類

- A類地址第1字節(jié)為網(wǎng)絡(luò)地址,其它3個字節(jié)為主機(jī)地址污桦。另外第1個字節(jié)的最高位固定為0亩歹。
- A類地址范圍:1.0.0.1到126.255.255.254。
A類地址中的私有地址和保留地址: 10.0.0.0到10.255.255.255是私有地址(所謂的私有地址就是在互聯(lián)網(wǎng)上不使用,而被用在局域網(wǎng)絡(luò)中的地址)小作。127.0.0.0到127.255.255.255是保留地址亭姥,用做循環(huán)測試用的。 - B類IP地址是指顾稀,在IP地址的四段號碼中致份,前兩段號碼為網(wǎng)絡(luò)號碼,剩下的兩段號碼為本地計(jì)算機(jī)的號碼础拨。如果用二進(jìn)制表示IP地址的話氮块,B類IP地址就由2字節(jié)的網(wǎng)絡(luò)地址和2字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“10”诡宗。B類IP地址中網(wǎng)絡(luò)的標(biāo)識長度為14位滔蝉,主機(jī)標(biāo)識的長度為16位厌殉,B類網(wǎng)絡(luò)地址適用于中等規(guī)模規(guī)模的網(wǎng)絡(luò)挤渐,每個網(wǎng)絡(luò)所能容納的計(jì)算機(jī)數(shù)為6萬多臺。
- 一個C類IP地址是指抱怔,在IP地址的四段號碼中蛀柴,前三段號碼為網(wǎng)絡(luò)號碼螃概,剩下的一段號碼為本地計(jì)算機(jī)的號碼。如果用二進(jìn)制表示IP地址的話鸽疾,C類IP地址就由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)主機(jī)地址組成吊洼,網(wǎng)絡(luò)地址的最高位必須是“110”。
- 除了上面三種類型的IP地址外制肮,還有幾種特殊類型的IP地址冒窍,TCP/IP協(xié)議規(guī)定,凡IP地址中的第一個字節(jié)以“l(fā)ll0”開始的地址都叫多點(diǎn)廣播地址豺鼻。因此综液,任何第一個字節(jié)大于223小于240的IP地址是多點(diǎn)廣播地址;IP地址中的每一個字節(jié)都為0的地址(“0.0.0.0”)對應(yīng)于當(dāng)前主機(jī)儒飒;IP地址中的每一個字節(jié)都為1的IP地址(“255.255.255.255”)是當(dāng)前子網(wǎng)的廣播地址谬莹;IP地址中凡是以“l(fā)lll0”的地址都留著將來作為特殊用途使用;IP地址中不能以十進(jìn)制“127”作為開頭桩了,127.0.0.1是回送地址附帽,指本地機(jī),一般用來測試使用圣猎∈亢回送地址(127.x.x.x)是本機(jī)回送地址(Loopback Address),即主機(jī)IP堆棧內(nèi)部的IP地址,主要用于網(wǎng)絡(luò)軟件測試以及本地機(jī)進(jìn)程間通信送悔,無論什么程序慢显,一旦使用回送地址發(fā)送數(shù)據(jù)爪模,協(xié)議軟件立即返回之,不進(jìn)行任何網(wǎng)絡(luò)傳輸荚藻。 屬于保留測試地址,不能用屋灌,同時網(wǎng)絡(luò)ID的第一個6位組也不能全置為“0”,全“0”表示本地網(wǎng)絡(luò)应狱。 D 類和 E 類用于組播和保留地址共郭。
子網(wǎng)掩碼

端口作用
-
TCP協(xié)議包頭
TCP協(xié)議包頭
-
UDP包頭
UDP
常用端口號
FTP(文件傳輸協(xié)議):20 21
SSH(安全shell協(xié)議):22
telnet(遠(yuǎn)程登錄協(xié)議):23
DNS(域名系統(tǒng)):53
http(超文本傳輸協(xié)議):80
SMTP(簡單郵件傳輸協(xié)議):25
POP3(郵局協(xié)議3代):110
查看本機(jī)啟動的端口
netstat -an
-a 查看所有連接和監(jiān)聽端口
-n 顯示IP地址和端口號,而不顯示域名和服務(wù)器
DNS作用
DNS是用來做名稱解析的
hosts文件
c:\Windows\System32\drivers\etc\hosts
127.0.0.1 localhost
hosts是做靜態(tài)IP和域名對應(yīng)
hosts優(yōu)先級高于DNS
從Hosts文件到DNS
- 早期Hosts文件解析域名
- 名稱解析效能下降
- 主機(jī)維護(hù)困難
- DNS服務(wù)
- 層次性
- 分布式
DNS服務(wù)的作用

域名空間結(jié)構(gòu)

DNS查詢過程

DNS查詢分類
- 從查詢方式分
- 遞歸查詢:要么做出查詢成功響應(yīng)疾呻,要么做出查詢失敗響應(yīng)除嘹,一般客戶機(jī)和服務(wù)器之間屬于遞歸查詢,即當(dāng)客戶機(jī)向DNS服務(wù)器發(fā)出請求后岸蜗,若DNS服務(wù)器本身不能解析尉咕,則會向另外的DNS服務(wù)器發(fā)出查詢請求,得到結(jié)果后轉(zhuǎn)交給客戶機(jī)
- 迭代查詢:服務(wù)器收到一次迭代查詢恢復(fù)一次結(jié)果璃岳,這個結(jié)果不一定是目標(biāo)IP與域名的映射關(guān)系年缎,也可以是其他DNS服務(wù)器的地址
網(wǎng)關(guān)
- 網(wǎng)關(guān)(Gateway)又稱網(wǎng)間連接器、協(xié)議轉(zhuǎn)換器
- 網(wǎng)關(guān)在網(wǎng)絡(luò)層以上實(shí)現(xiàn)網(wǎng)絡(luò)互連铃慷,是最復(fù)雜的網(wǎng)絡(luò)互連設(shè)備单芜,僅用于兩個高層協(xié)議不同的網(wǎng)絡(luò)連接
- 網(wǎng)關(guān)既可以用于廣域網(wǎng)互連,也可以用于局域網(wǎng)互連
- 網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的服務(wù)器或路由器


- IP地址:網(wǎng)絡(luò)中每個主機(jī)的唯一標(biāo)識
- 子網(wǎng)掩碼:用來從IP中得到網(wǎng)絡(luò)標(biāo)識犁柜,剩下的就是主機(jī)標(biāo)識
- 網(wǎng)關(guān):路由器或能實(shí)現(xiàn)路由器功能的服務(wù)器
- DNS:域名和IP地址的轉(zhuǎn)換
Linux配置IP地址
Linux配置IP地址的方法
ifconfig命令臨時配置IP地址
<pre>
ifconfig命令:查看與配置網(wǎng)絡(luò)狀態(tài)命令
ifconfig eth0 192.168.0.200 netmask 255.255.255.0
臨時設(shè)置eth0網(wǎng)卡的IP地址與子網(wǎng)掩碼
</pre>setup工具永久配置IP地址(紅帽專有)
<pre>
在setup中設(shè)置完退出后需要重啟網(wǎng)絡(luò)服務(wù)
service network restart
</pre>
- 修改網(wǎng)絡(luò)配置文件
網(wǎng)卡信息文件:

主機(jī)名文件:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
hostname [主機(jī)名]
查看與臨時設(shè)置主機(jī)名命令
DNS配置文件:
vi /etc/resolv.conf
nameserver 202.106.0.20
search localhost
虛擬機(jī)網(wǎng)絡(luò)參數(shù)配置
1配置LinuxIP地址
修改并配置IP地址
2啟動網(wǎng)卡
把ONBOOT改為yes
service network restart
重啟網(wǎng)絡(luò)服務(wù)
3修改UUID(針對拷貝的系統(tǒng))
vi /etc/sysconfig/network-scripts/ifcfg-eth0
刪除MAC地址行
rm –rf /etc/udev/rules.d/70-persistent-net.rules
刪除網(wǎng)卡和MAC地址綁定文件
重啟系統(tǒng)
4設(shè)置虛擬機(jī)網(wǎng)絡(luò)連接方式
在虛擬機(jī)中打開網(wǎng)絡(luò)適配器-網(wǎng)絡(luò)連接
橋接模式:直接連接物理網(wǎng)絡(luò)洲鸠,使用真實(shí)的物理網(wǎng)卡連接網(wǎng)絡(luò)
虛擬機(jī)可以和真實(shí)計(jì)算機(jī)配相同的網(wǎng)段,但是會占用一個IP地址赁温,如果網(wǎng)段使用人比較多坛怪,容易造成IP沖突淤齐。虛擬機(jī)可以和真實(shí)機(jī)以及局域網(wǎng)中的其他機(jī)器直接進(jìn)行通信
NAT模式:使用vm的虛擬網(wǎng)卡8
只能和真實(shí)機(jī)通信股囊,不能和局域網(wǎng)中的其他機(jī)器通信,但是能訪問公網(wǎng)
host-only:使用vm的虛擬網(wǎng)卡1
只能和真實(shí)機(jī)通信更啄,不能和局域網(wǎng)中的其他機(jī)器通信稚疹,不能訪問公網(wǎng)
5修改橋接網(wǎng)卡
虛擬機(jī)-虛擬網(wǎng)絡(luò)編輯器
網(wǎng)絡(luò)環(huán)境查看命令
ifconfig命令
關(guān)閉與啟動網(wǎng)卡
ifdown 網(wǎng)卡設(shè)備名
禁用該網(wǎng)卡設(shè)備
ifup 網(wǎng)卡設(shè)備名
啟用該網(wǎng)卡設(shè)備
查看網(wǎng)絡(luò)狀態(tài)
netstat
-t 列出TCP協(xié)議端口
-u 列出UDP協(xié)議端口
-n 不適用域名與服務(wù)名,而使用IP地址和端口號
-l 僅列出在監(jiān)聽狀態(tài)網(wǎng)絡(luò)服務(wù)
-a 列出所有的網(wǎng)絡(luò)連接
-r 列出路由列表祭务,功能和route命令一致
常用:-tuln –an –rn
route命令
route –n
查看路由列表(可以看到網(wǎng)關(guān))
route add default gw 192.168.1.1
臨時設(shè)定網(wǎng)關(guān)

域名解析命令
nslookup [主機(jī)名或IP]
進(jìn)行域名與IP地址解析
nslookup
> server
查看本機(jī)DNS服務(wù)器
網(wǎng)絡(luò)測試命令
ping命令
ping [選項(xiàng)] ip或域名
探測指定IP或域名的網(wǎng)絡(luò)狀況
-c 次數(shù):指定ping報(bào)的次數(shù)
telnet命令 (已經(jīng)被SSH取代)
telnet [域名或IP] [端口]
遠(yuǎn)程管理與端口探測命令
telnet 192.168.0.252 80
traceroute
traceroute [xuanxiang] IP或域名
路由跟蹤命令
-n 使用IP内狗,不使用域名,速度更快
wget命令
wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz
下載命令
tcpdump命令
抓包命令
tcpdump –i eth0 –nnX port 21
-i 指定網(wǎng)卡接口
-nn 將數(shù)據(jù)包中的域名與服務(wù)轉(zhuǎn)換為IP和端口
-X 以十六進(jìn)制和ASCII碼顯示數(shù)據(jù)包內(nèi)容
port 指定監(jiān)聽的端口
遠(yuǎn)程登錄
SSH協(xié)議原理
SSH命令
ssh 用戶名@ip
遠(yuǎn)程管理指定Linux服務(wù)器
scp [-r] 用戶名@ip:文件路徑 本地路徑
下載文件到本地
scp [-r] 本地文件 用戶名@ip:上傳路徑
上傳文件到遠(yuǎn)程服務(wù)器
SecureCRT遠(yuǎn)程管理工具(用win遠(yuǎn)程管理Linux)
Xshell工具和WinSCP文件傳輸工具