Linux基礎教程之網(wǎng)絡基礎知識與Linux網(wǎng)絡配置
本文主要內(nèi)容是:
1.講述網(wǎng)橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區(qū)別。
2、IP地址的分類有哪些?子網(wǎng)掩碼的表示形式及其作用
3、計算機網(wǎng)絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
4、如何給網(wǎng)絡接口配置多個地址,有哪些方式?
5、常用的網(wǎng)絡管理類工具有哪些,并用示例形式描述他們的使用方法。
6.為Linux主機配置網(wǎng)絡信息的方式有哪些,請描述各個過程,并詳細描述每個網(wǎng)絡接口的配置文件中各個參數(shù)的含義和其所對應的值;如何將Linux主機接入到TCP/IP網(wǎng)絡,請描述詳細的步驟。(手動指定的方式)
1.網(wǎng)橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區(qū)別。
網(wǎng)橋:用來了連接兩個不同局域網(wǎng)的網(wǎng)絡設備,其兩個端口分別使用獨立的通信信道,屬于數(shù)據(jù)鏈路層設備 |
集線器:用來放大信號,從而使得數(shù)據(jù)能夠被更遠距離的傳輸,屬于物理層設備 |
二層交換機:工作于數(shù)據(jù)鏈路層,對數(shù)據(jù)轉(zhuǎn)發(fā)時根據(jù)其存儲的MAC表進行轉(zhuǎn)發(fā) |
三層交換機:所謂的三層交換機就是工作于網(wǎng)絡層,具有一定路由功能的交換機,其加快了局域網(wǎng)內(nèi)部的路由轉(zhuǎn)發(fā),能夠?qū)崿F(xiàn)一次路由,多次轉(zhuǎn)發(fā)。 |
路由器:路由器是網(wǎng)絡的核心設備,其根據(jù)ip地址進行路徑的選擇,屬于網(wǎng)絡層設備。 |
2、IP地址的分類有哪些?子網(wǎng)掩碼的表示形式及其作用
IP地址表示方法有兩種,二進制表示法和點分十進制表示法,分為5類,分別是A,B,C,,D,E;A,B,C三類都有固定的地址被定義為私網(wǎng)地址,不會在網(wǎng)絡中被路由,兩個特殊地址,0.0.0.0代表本機,255.255.255.255代表廣播地址。
A類:第一段為網(wǎng)絡號,其余三段為主機號
用二進制表示,網(wǎng)絡號為:0 0000000 – 1111 1111,主機號任意變化;十進制表示,網(wǎng)絡號為:0-127 |
子網(wǎng)掩碼:255.0.0.0,也可以表示為/8 |
私網(wǎng)地址:10.0.0.0-10.255.255.254 |
可用地址空間為,網(wǎng)絡號:2^8-2=126,每個子網(wǎng)中的主機號:2^24-2
B類:前兩端段為網(wǎng)絡號,其余兩段為主機號
用二進制表示,網(wǎng)絡號為:10 000000 – 10 111111,主機號任意變化,十進制表示為:128-191 |
子網(wǎng)掩碼:255.255.0.0,也可以表示為/16 |
私網(wǎng)地址:172.16.0.0-172.31.255.254 |
可用地址空間為,網(wǎng)絡號:2^14,每個子網(wǎng)中的主機號:2^16-2
C類:前兩端段為網(wǎng)絡號,其余兩段為主機號
用二進制表示,網(wǎng)絡號為:110 000000 – 110 11111,主機號任意變化,十進制表示為:192-223 |
子網(wǎng)掩碼:255.255.255.0,也可以表示為/24 |
私網(wǎng)地址:192.168.0.0-192.168.255.254 |
可用地址空間為,網(wǎng)絡號:2^21,每個子網(wǎng)中的主機號:2^8-2
D類:屬于組播地址
用二進制表示為:1110 0000 – 1110 1111 ,十進制表示為:224-239 |
E類:用于科研
3、計算機網(wǎng)絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
將計算機網(wǎng)絡分層的好處是使局部對整體的影響降低,當某一層需要變動時,其他層次不用改變,只要保持接口一致就行,另外分層的設計也使得網(wǎng)絡排障變得簡單,工作機制是下層為上層提供服務,上層調(diào)用下層的接口。
OSI參考模型為:
應用層(Application layer):完成進程之間的通信 |
表示層(Presentation layer):將數(shù)據(jù)處理為通信雙方都能識別的數(shù)據(jù)格式 |
會話層(Session layer):通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節(jié)點之間的對話,決定通信是否被中斷以及通信中斷時決定從何處重新發(fā)送 |
傳輸層(Transport layer):完成應用進程之間的邏輯通信 |
網(wǎng)絡層(Network layer):網(wǎng)絡地址翻譯成對應的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方網(wǎng)絡層 |
數(shù)據(jù)鏈路層(Data link layer):在物理線路上進行數(shù)據(jù)的可靠傳遞 |
物理層(Physical layer):物理層的協(xié)議產(chǎn)生并檢測電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號 |
4.如何給網(wǎng)絡接口配置多個地址,有哪些方式?
(1)使用ifconfig來配置
ifconfig interface_alias ip_add |
(2)使用ip來配置
ip addr add ip_addr/mask dev interface_name label interface_alias_name |
5、如何將Linux主機接入到TCP/IP網(wǎng)絡,請描述詳細的步驟。(手動指定的方式)
要想使Linux主機接入互聯(lián)網(wǎng),必須配置IP地址,子網(wǎng)掩碼,網(wǎng)關(guān),若要基于主機名稱進行通信,則還需要配置DNS服務器的主機地址
配置的方法有:
(1)使用ifconfig來配置
ifconfig eth0 192.168.88.132 netmask 255.255.255.0 |
route add default gw 192.168.88.1 |
(2)centos 6中通過運行setup來設置
步驟為:
a.運行setup,選擇Network configuration
b.進入Device configuration
c.選擇要配置的接口設備
d.填寫參數(shù),然后退出保存
(3)通過ip工具來設置
ip addr add 192.168.88.132/255.255.255.0 dev eth0 |
route add default gw 192.168.88.1 |
(4)修改/etc/sysconfig/network-script/ifcfg-device_name來實現(xiàn),常用的指令有如下:
6.常用的網(wǎng)絡管理類工具有哪些,并用示例形式描述他們的使用方法。
(1)ifconfig:配置網(wǎng)絡接口
使用方式:ifconfig [interface_name] [option]
-a:查看所有接口的信息 |
up:將指定接口打開 |
down:將指定接口關(guān)閉 |
[-]arp:在指定網(wǎng)卡上禁用或者啟用arp協(xié)議 |
[-]promisc:將指定網(wǎng)卡禁用或啟用混雜模式 |
ifconfig interface_name ip_addr netmask net_mask:設置接口的地址 |
(2)route:查看或者管理路由表
查看本機路由表:
route -n |
添加路由:
路由條目有三種:
主機路由:到達某個主機的路由
網(wǎng)絡路由:到達某個網(wǎng)絡的路由
默認路由:到達任意網(wǎng)絡的路由
?route add [-net|-host] target_addr [netmask net_mask] [gw gateway_ip] [dev [interface_name]] |
使用示例,添加到192.56.76.0的路由條目:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 |
刪除路由:
route del [-net|-host] target_addr [netmask net_mask] [gw gateway_ip] [dev[interface_name]] |
使用示例,,刪除到192.56.76.0的路由條目:route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0 |
(3)ip:查看,管理網(wǎng)絡接口信息以及路由信息
使用方式:ip [ OPTIONS ] OBJECT { COMMAND | help }
其中OBJECT常用的有如下幾個:
link:配置網(wǎng)絡接口
ip link set dev device_name {up|down}:將指定的設備開啟或關(guān)閉 |
ip link set dev device_name multicast {on|off}:啟用或者禁用指定設備的多播功能 |
ip link set dev device_name name new_name:對指定的設備進行重命名 |
ip link set dev device_name mtu mtu_number:設置指定設備的MTU大小 |
ip link set dev device_name {up|down} |
ip link show:查看所有設備的屬性 |
ip link help:查看幫助 |
address:協(xié)議地址管理
ip addr add interfce_addr dev interface_name?label alias_name:為額外添加的地址指明接口別名
使用示例:?ip addr add 192.168.1.111/24 dev eth0 label eth0:0 |
ip addr del interfce_addr dev interface_name:刪除指定接口上的地址 |
ip addr show:查看所有接口的配置信息 |
ip addr flush dev interface_name:刷新配置 |
route:路由表管理
ip route add ip_addr/netmask via gateway_addr [dev intetface_name] [srcsource_ip]:添加路由條目
使用示例,添加一條到192.168.0.1/24的路由條目:ip route add?192.168.1.0/24 via 172.16.1.1 dev eth0 |
ip route del ip_addr/netmask:刪除路由條目
使用示例,刪除到達192.168.1.0/24的路由條目:ip route del 192.168.1.0/24 |
ip route show :列出當前系統(tǒng)的路由信息 |
ip route get ip_addr/netmask
使用示例,查看到達192.168.1.0/24的路由信息:ip route get 192.168.1.0/24 |
(4)netstat:查看網(wǎng)絡連接狀態(tài)
使用方式:netstat [option]
-t,–tcp:查看跟tcp協(xié)議相關(guān)的連接 |
-u, –udp:查看跟udp協(xié)議相關(guān)的連接 |
-l:查看處于監(jiān)聽狀態(tài)的連接 |
-a:查看所有狀態(tài)下的連接 |
-n:以數(shù)字的格式顯示ip和端口號 |
-p:顯示與連接相關(guān)的進程的ID |
-i:顯示所有接口的數(shù)據(jù)統(tǒng)計 |
(5)ss:查看建立的連接情況以及狀態(tài)統(tǒng)計信息
使用格式:ss [option] [filter]
常用選項:
-t:所建立的tcp連接 |
-u:所建立的udp連接 |
-n:數(shù)字格式顯示ip和端口號 |
-l:查看已經(jīng)處于監(jiān)聽狀態(tài)的連接 |
-p:顯示相關(guān)進程的pid |
-m:各個連接所占用的內(nèi)存信息 |
-a:查看所有狀態(tài)的信息 |
filter:根據(jù)TCP的狀態(tài)和端口號來實現(xiàn):
state <TCP_FSM>:
LISTEN:監(jiān)聽 |
ESTABLISEHD:建立的連接 |
FIN_WAIT_1:主動斷開一方發(fā)送關(guān)閉信號,在收到另一方確認的這段時間 |
FIN_WAIT_2:主動斷開的一方收到被動斷開的一方的信號到被動斷開一方也發(fā)送 |
SYN_SENT:建立連接時客戶端發(fā)送連接請求到收到服務端回應的這個時間段 |
SYN_RECV:服務器端收到客戶端的同步信號,但還沒建立連接的這個時間段 |
CLOSED:連接已經(jīng)關(guān)閉 |
使用示例:
查看處于已建立連接狀態(tài)的連接: ss -tan state ESTABLISHED |
基于端口進行過濾:
dport =:<port>:根據(jù)目標端口進程過濾 |
sport =:<port>根據(jù)源端口進行過濾 |
使用示例:
?ss -tan '( ?dport = :80 or sport = :80 ?)' |