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