1、集線器、交換機、路由器
2、路由器與交換機的主要區別體現在以下幾個方面:
1)工作層次不同:最初的的交換機是工作在OSI/RM開放體系結構的數據鏈路層,也就是第二層,而路由器一開始就設計工作在OSI模型的網絡層。由于交換機工作在OSI的第 二層(數據鏈路層),所以它的工作原理比較簡單,而路由器工作在OSI的第三層(網絡層),可得到更多的協議信息,路由器可做出更加智能的轉發決策。
2)數據轉發所依據的對象不同:交換機是利用物理地址或者說MAC地址來確定轉發數據的目的地址。而路由器則是利用不同網絡的ID號(即IP地址)來確定數據轉發的地址。IP地址是在軟件中實現的,描述的是設備所在的網絡,有時這些第三層的地址也稱為協議地址或者網絡地址。MAC地址通常是硬件自帶的,由網卡生產商來分配的,而且已經固化到了網卡中去,一般來說是不可更改的。而IP地址則通常由網絡管理員或系統自動分配。
3)傳統的交換機只能分割沖突域,不能分割廣播域,而路由器可以分割廣播域。由 交換機連接的網段仍屬于同一個廣播域,廣播數據包會在交換機連接的所有網段上傳播,在某些情況下會導致通信擁擠和安全漏洞。連接到路由器上的網段會被分配成不同的廣播域,廣播數據不會穿過路由器。雖然第三層以上交換機具有VLAN功能,也可以分割廣播域,但是各子廣播域之間是不能通信交流的,它們之間的交流仍然需要路由器。
路由器提供了防火墻的服務:路由器僅僅轉發特定地址的數據包,不傳送不支持路由協議的數據包傳送和未知目標網絡數據包的傳送,從而可以防止廣播風暴。交換機一般用于LAN-WAN的連接,交換機歸于網橋,是數據鏈路層的設備,有些交換機也可實現第三層的交換。 路由器用于WAN-WAN之間的連接,可以解決異性網絡之間轉發分組,作用于網絡層。他們只是從一條線路上接受輸入分組,然后向另一條線路轉發。這兩條線路可能分屬于不同的網絡,并采用不同協議。相比較而言,路由器的功能較交換機要強大,但速度相對也慢,價格昂貴,第三層交換機既有交換機線速轉發報文能力,又有路由器良好的控制功能,因此得以廣泛應用。
4)目前個人比較多的寬帶接入方式就是ADSL,因此筆者就ADSL的接入來簡單的說明一下?,F在購買的ADSL貓大多具有路由功能(很多的時候廠家在出廠時將路由功能屏蔽了,因為電信安裝時大多是不啟用路由功能的,可以啟用DHCP,打開ADSL的路由功能),如果個人上網或少數幾臺,通過ADSL本身就可以了,如果電腦比較多,你只需要再購買一個或多個集線器或者交換機。考慮到如今集線器與交換機的價格相差十分小,不是特殊的原因,請購買一個交換機。不必去追求高價,因為如今產品同質化十分嚴重,我最便宜的交換機現在沒有任何問題。給你一個參考,建議你購買一個8口的,以滿足擴充需求,一般的價格100元左右。接上交換機,所有電腦再接到交換機上就行了。余下所要做的事情就只有把各個機器網線插入交換機的接口,將貓的網線插入uplink接口。然后設置路由功能,DHCP等,就可共享上網了。
5)路由器和交換機的區別:交換機主要是實現大家通過一根網線上網,但是大家上網是分別撥號的,各自使用自己的寬帶,大家各自上網沒有影響,哪怕其他人在下 載,對自己上網也沒有影響,并且所有使用同一條交換機的電腦都是在同一個局域網內。路由器比交換機多了一個虛擬撥號功能,通過同一臺路由器上網的電腦是共用一個寬帶賬號,大家之間上網是相互影響的,比如一臺電腦在下載,那么同一個路由器上的其他電腦會很明顯的感覺到網速很慢。同一臺路由器上的電腦也是在一 個局域網內的。如果上述敘述大家還是不明白路由器和交換機的區別,那么小編就舉例來跟大家來說明。例如我們家庭上網,肯定是只拉一個寬帶,但是家里有3臺電腦,都想通過同一個寬帶上網,那么就使用路由器。再如很多大學宿舍只有一個寬帶接口,但是全寢室的人都需要上網,而且是各自都擁有自己的寬帶賬號,又想大家上網相互之間不影響,那么這個使用就使用交換機,大家各自撥號上網,相互之間無影響。
路由器同時具有交換機的功能,如果大家已經有路由器了,但是現在想把路由器當交換機使用怎么辦呢?很簡單,路由器上有wan接口,寬帶線都是接在wan接口上的,當把路由器當交換機使用時,把wan接口上的寬帶線拔掉,插到其他接口上去,把wan口空起來就可以了。
集線器屬于OSI 的第一層物理層設備,而網橋屬于OSI 的第二層數據鏈路層設備, 從工作方式來看,集線器是一種廣播模式,所有端口在一個沖突域里面。網橋的可以通過端口隔離沖突。Hub是所有的連接設備共享總線和共享帶寬,而網橋每個端口占一個帶寬。
路由器可以隔開廣播域和沖突域,連接不同的網段
交換機可以在自我學習后可以隔斷廣播域和沖突域,且是全雙工通訊
集線器不能隔開廣播域和沖突域
網橋在自我學習后可以隔斷沖突域
3、RJ-45連接器和Jack接口
4、網絡用戶應用程序
Web 瀏覽器(Chrome 、IE 、Firefox 等)
即時消息(QQ 、微信、釘釘等)
電子郵件(Outlook 、foxmail 等)
協作(視頻會議、VNC 、Netmeeting 、WebEx 等)
web網絡服務(apache,nginx)
文件網絡服務(ftp,nfs,samba)
數據庫服務( MySQL,MariaDB, MongoDB)
中間件服務(Tomcat ,JBoss)
安全服務( Netfilter)
5、用戶應用程序對網絡的影響
批處理應用程序例如 FTP 、TFTP 、庫存更新等等,無需直接人工交互,帶寬很重要,但并非關鍵性因素;交互式應用程序例如庫存查詢、數據庫更新等等,人機交互,因為用戶需等待響應,所以響應時間很重要,但并非關鍵性因素,除非要等待很長時間;實時應用程序例如VoIP 、視頻等等,人與人的交互,端到端的延時至關重要。
6、物理拓撲分類
總線拓撲:所有設備均可接收信號
星型拓撲:通過中心點傳輸,單一故障點
擴展星型拓撲:比星型拓撲的復原能力更強
環狀拓撲:信號繞環傳輸,單一故障點
雙環拓撲:信號沿相反方向傳輸,比單環的復原能力更強,同一臺網絡設備連接兩條鏈路
全網狀拓撲:容錯能力強,實施成本高
部分網狀拓撲:在容錯能力與成本之間尋求平衡
7、主機到主機通信
1)、基于標準的模型:多廠商軟硬件、分層網絡模型
2)、OSI分層網絡模型(下一層為上一層提供服務):
應用層-網絡進程訪問應用層,為應用進程提供網絡服務、提供用戶身份驗證;
表示層-數據表示,確保接受系統可以讀出該數據、格式化數據、構建數據、協商用于應用層的數據傳輸語法、提供加密;
會話層-主機間通信,主機間通信,建立管理和終止在應用程序之間的會話;
傳輸層-端到端連接,確保數據傳輸的可靠性、建立維護和終止虛擬電路、通過錯誤檢測和恢復及信息流控制保障可靠性;
網絡層-數據傳輸,路由數據包、選擇傳遞數據的最佳路徑、支持邏輯尋址和路徑選擇;
數據鏈路層-訪問介質,定義如何格式化數據以便進行傳輸以及如何控制對網絡的訪問并且支持錯誤檢測;
物理層-二進制傳輸,為啟動、維護以及關閉物理鏈路定義了電氣規范、機械規范、過程規范和功能規范
3)、分層網絡模型之所以能夠發展開來,在于其有如下優點:降低復雜性、標準化接口、簡化模塊化設計、確保技術的互操作性、加快發展速度、簡化教學
8、數據解封:發送方發送數據由應用層-物理層順序處理,各層添加各層的控制信息,實現數據封裝;接收方接受數據由物理層-應用層逆序處理,各層解鎖各層的控制信息,實現數據解封
9、三種通訊模式
單播(Unicast)傳輸:在發送者和每一接收者之間實現點對點網絡連接。如果一臺發送者同時給多個的接收者傳輸相同的數據,也必須相應的復制多份的相同數據包。如果有大量主機希望獲得數據包的同一份拷貝時,將導致發送者負擔沉重、延遲長、網絡擁塞,為保證一定的服務質量需增加硬件和帶寬。
廣播(Broadcast)傳輸:是指在IP子網內廣播數據包,所有在子網內部的主機都將收到這些數據包。廣播意味著網絡向子網每一個主機都投遞一份數據包,不論這些主機是否樂于接收該數據包。所以廣播的使用范圍非常小,只在本地子網內有效,通過路由器和網絡設備控制廣播傳輸。
組播(Multicast)傳輸:在發送者和每一接收者之間實現點對多點網絡連接。如果一臺發送者同時給多個的接收者傳輸相同的數據,也只需復制一份的相同數據包。它提高了數據傳送效率,減少了骨干網絡出現擁塞的可能性。
組播解決了單播和廣播方式效率低的問題。當網絡中的某些用戶需求特定信息時,組播源(即組播信息發送者)僅發送一次信息,組播路由器借助組播路由協議為組播數據包建立樹型路由,被傳遞的信息在盡可能遠的分叉路口才開始復制和分發。
10、非屏蔽式雙絞線UTP- Unshielded Twisted-Pair Cable里面共有四組八根線
100M實際用了12/36兩組線
1000M實際用了12/36/45/78四組線
UTP直通線和交叉線:
交換機與路由器、交換機與電腦/主機、集線器與電腦/主機用-直通線
交換機與交換機、交換機與集線器、集線器與集線器、路由與路由、路由器與電腦/主機-交叉線
11、網絡適配器-網卡
網卡的MAC地址是由生產商寫定的,但是可以修改,不過重裝系統后MAC地址會恢復到原來
MAC地址可能被作為識別電腦等設備接入網絡的標示,所以修改此地址可以繞過限制
12、VLAN(Virtual Local Area Network)虛擬局域網
虛擬局域網(VLAN)是一組邏輯上的設備和用戶,這些設備和用戶并不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來,相互之間的通信就好像它們在同一個網段中一樣,由此得名虛擬局域網。VLAN是一種比較新的技術,工作在OSI參考模型的第2層和第3層,一個VLAN就是一個廣播域,VLAN之間的通信是通過第3層的路由器來完成的。與傳統的局域網技術相比較,VLAN技術更加靈活,它具有以下優點:網絡設備的移動、添加和修改的管理開銷減少,可以控制廣播活動,可提高網絡的安全性。在計算機網絡中,一個二層網絡可以被劃分為多個不同的廣播域,一個廣播域對應了一個特定的用戶組,默認情況下這些不同的廣播域是相互隔離的。不同的廣播域之間想要通信,需要通過一個或多個路由器,這樣的一個廣播域就稱為VLAN。
13、分層的網絡架構-在企業中部署網絡
核心層Core Layer-企業級應用快速轉發,使用核心交換機接專門的訪問器
分布層Distribution Layer-通過路由器設定廣播域,路由,安全,遠程接入,訪問層匯聚
訪問層Access Layer-終端接入,使用普通交換機進行連接
14、TCP/IP協議棧-傳輸控制協議/因特網互聯協議
TCP/IP 是個Protocol Stack ,包括TCP、IP 、UDP 、ICMP 、RIP 、TELNET、FTP 、SMTP 、ARP
TCP/IP協議共定義了四層網絡結構:應用層、傳輸層、Internet層、網絡訪問層
和ISO參考模型的分層有對應關系是3112
TCP特性:工作在傳輸層的面向連接協議、雙工模式操作、錯誤檢查、數據包序列、確認機制、數據恢復特性
TCP包頭:16位源地址、16位目標地址、32位序列號-即是每個同步包的編號、32位確認號ACK、其它信息、數據
1)、tcp端口號-源端口號和目標端口號-以下操作為Windows上進行的:
使用命令#netstat -ano可以查看相關服務端口號和相應進程號
使用命令#tasklist可查看進程列表
使用命令#tasklist|findstr 進程號 可以查看進程號對應的進程
2)、通過三次握手或者是三次照面建立連接:
發送SYN數據包(包含有包的編號,包的目的syn-請求建立通信)
發送方發送SYN包(假如包的編號是100)給接收方,接收方接收信息,實現第一次握手
接收方發回確認信息告訴發送方你的編號100的SYN包已經收到,此包在接收方的編號是300,請求發送方下一次發送編號為101的SYN包即ACK(ACK=101),發送方收到信息,實現第二次握手
發送方發送SYN包(此包的編號是101),并且加入確認信息告訴接收方你的確認信息已經收到請求發送方下一次發送編號為301的SYN包的確認信息即ACK(ACK=301),實現第三次握手
通過三次握手建立連接,接著就可以傳輸數據
15、UDP協議特性
工作在傳輸層
提供不可靠的網絡訪問
非面向連接協議
有限的錯誤檢查
傳輸性能高
無數據恢復特性
UDP包頭:16位源地址、16位目標地址、16位UDP長度、16位校驗和、數據
與TCP協議相比,UDP協議沒有包的編號和確認,收多收少數據丟失不能夠保障,但是傳輸性能高
16、ARP-Address Resolution Protocol地址解析協議-把MAC地址解析成IP地址
1)、以下是ARP的工作原理:
172.16.3.1機器A發出廣播:I need the Ethernet address of 172.16.3.2
172.16.3.2機器B收到廣播:I heard that broadcast.The message is for me.Here is my Ethernet address.
機器A與機器B 連接后,會互相存儲對方的IP及MAC地址,以后的互聯就是單播連接
由于ARP不進行確認,所以可以通過偽造進行ARP欺騙,ARP網關欺騙就是偽造冒充自己是網關
2)、ARP表存儲的是與之通信過的機器IP和MAC地址
[root@centos7 ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
10.1.250.86 ether 1c:b7:2c:00:f5:34 C eno16777736
10.1.252.100 ether 00:0c:29:d1:18:fd C eno16777736
10.1.0.1 ether 40:8d:5c:bf:1f:6d C eno16777736
[root@centos7 ~]# ip neigh
10.1.250.86 dev eno16777736 lladdr 1c:b7:2c:00:f5:34 DELAY
10.1.252.100 dev eno16777736 lladdr 00:0c:29:d1:18:fd STALE
10.1.0.1 dev eno16777736 lladdr 40:8d:5c:bf:1f:6d STALE
17、主機到主機的包傳遞(1-22)
18、IP地址-協議地址
它可唯一標識網絡中的每臺設備
每臺主機(計算機、網絡設備、外圍設備)必須具有唯一的地址
IP 地址由兩部分組成:
? 網絡ID:標識網絡、每個網段分配一個網絡ID
? 主機ID:標識單個主機、由組織分配給各設備
IP地址是一個32位二進制數,分為四組,每組八位,每組二進制可轉化為十進制數
1)、IP地址分類:記2^7=128,二進制的01111111=十進制的127
主機ID全為0的表示網絡的編號
主機ID全為1的表示網絡的廣播
每個網絡的主機數=2^m-2 其中m=主機ID位數=32-網絡ID位數=掩碼中零的個數
假如A機器要與B機器通信,如果AB在一個網段,要么單播建立通信,要么廣播建立通信;如果AB不在一個網段,則A把信息發送給網關處理
假如A的IP 172.168.1.32 掩碼255.255.255.0
B的IP 172.168.2.32 掩碼255.255.0.0
那么A-B通信,都以A的掩碼進行斷定網段,所以A認為B與其不在同一個網段
A的網段172.168.1.0
B的網段172.168.2.0
那么B-A通信,都以B的掩碼進行斷定網段,所以B認為A與其在同一個網段
A的網段172.168.0.0
B的網段172.168.0.0
A類網絡:
0 0000000 – 0 1111111: 1-127
網絡數:126,127,其中00000001-01111111,但是127大頭的是回環地址,可用的共126個
每個網絡中的主機數:2^24-2
默認子網掩碼:255.0.0.0
私網地址:10.0.0.0
B類網絡:
10 000000 – 10 111111 :128-191
網絡數:2^14,其中14=6+8
每個網絡中的主機數:2^16-2
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0-172.31.0.0
C類網絡:
110 00000 – 110 11111: 192-223
網絡數:2^21,其中21=5+8+8
每個網絡中的主機數:2^8-2
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0-192.168.255.0
D類網絡:組播
1110 0000 – 1110 1111: 224-239
E類網絡:科研使用
240-255
2)、公共IP與私有IP
根據用途和安全性級別的不同,IP地址還可以大致分為兩類:公共地址和私有地址。
公用地址在Internet中使用,可以在Internet中隨意訪問。
私有地址只能在內部網絡中使用,只有通過代理服務器才能與Internet通信。
一個機構網絡要連入Internet,必須申請公共IP地址。
但是考慮到網絡安全和內部實驗等特殊情況,在IP地址中專門保留了三個區域作為私有地址,其地址范圍如下:
10.0.0.0/8:10.0.0.0-10.255.255.255
172.16.0.0/12:172.16.0.0-172.31.255.255
192.168.0.0/16:192.168.0.0-192.168.255.255
使用保留地址的網絡只能在內部進行通信,而不能與其他網絡互連。因為本網絡中的保留地址同樣也可能被其它網絡使用,如果進行網絡互連,那么尋找路由時就會因為地址的不唯一而出現問題。但是這些使用保留地址的網絡可以通過將本網絡內的保留地址翻譯轉換成公共地址的方式實現與外部網絡的互連,這也是保證網絡安全的重要方法之一。
3)、特殊地址
0.0.0.0 不是一個真正意義上的IP 地址,它表示一個集合,表示所有不清楚的主機和目的網絡255.255.255.255限制廣播地址,對本機來說,這個地址指本網段內( 同一廣播域)的所有主機
127.0.0.1-127.255.255.254本機回環地址,主要用于測試,在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的數據包
224.0.0.0-239.255.255.255組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器,224.0.0.5 指OSPF路由器,地址多用于一些特定的程序以及多媒體程序
169.254.x.x如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲取地址,系統會為主機分配這樣地址
19、子網掩碼的八位128-192-224-240-248-252-254-255
劃分子網-將可容納主機數多的大網劃分為小的子網:
網絡ID位借位主機ID位n位,子網數=2^n,損失IP地址數=2(n-1)
例如172.16.0.0/16分割成兩個子網,即是網絡ID位借位主機ID位1位
172.16.0 xxxxxxx.xxxxxxxx/17即是172.16.0.0/17
此子網的IP范圍是172.16.0 0000000.00000001-172.16.0 1111111.11111110
也即是172.16.0.1-172.16.127.254
172.16.1 xxxxxxx.xxxxxxxx/17即是172.16.128.0/17
此子網的IP范圍是172.16.1 0000000.00000001-172.16.1 1111111.11111110
也即是172.16.128.1-172.16.255.254
劃分子網時,主機地址不能全部為0或者1
這樣因為劃分子網就損失了172.16.127.255和172.16.128.0兩個IP地址
例如189.210.100.200/16劃分為8個子網
189.210.01100100.11001000/16
189.210.011 00000.00000000/16八個子網,借3位,具體子網如下:
189.210.000 00000.00000000/19即是189.210.0.0/19
189.210.001 00000.00000000/19即是189.210.32.0/19
189.210.011 00000.00000000/19即是189.210.96.0/19
189.210.111 00000.00000000/19即是189.210.224.0/19
189.210.100 00000.00000000/19即是189.210.128.0/19
189.210.110 00000.00000000/19即是189.210.192.0/19
189.210.101 00000.00000000/19即是189.210.160.0/19
189.210.010 00000.00000000/19即是189.210.64.0/19
其中189.210.000 00000.00000000/19的IP地址是
189.210.000 00000.00000001-189.210.000 11111.11111110
即是189.210.0.1-189.210.31.254
20、劃分超網-主機ID位借位網絡ID位,合并連續的IP地址-劃分子網的逆向
便于路由器中路由表的存儲
21、跨網絡通信-路由
路由分類:
主機路由是在路由器的路由表中記錄每臺主機的路由,因太過于細致而是路由表過于繁瑣
網絡路由是在路由器的路由器中記錄每個網段的路由
默認路由是在網段未知情況下使用0.0.0.0表示未知網段的路由
#route -n命令可以查看路由網關
路由表的構成:
networkID/netmask-網段 gateway interface
R1
192.16.1.0/24 192.16.1.254 1
172.16.0.0/16 172.16.0.1 0
10.0.0.0/8 172.16.0.2 0
R1的路由表中記錄的是R1路由器本身接口和緊接著的下一個路由器的本側接口的網關,但是接口只能是R1路由器本身的指向接口
22、主機動態IP配置協議DHCP-客戶端和DHCP服務器之間通過廣播四步確認客戶端的IP地址
可以通過如下文件查看具體信息:
[root@localhost ~]# find / -name dhclient
/var/lib/dhclient
/sbin/dhclient
# cat /var/lib/dhclient/dhclient-
dhclient-eth0.leases
dhclient-fb0c8760-347d-4eb1-b15d-a1fc3048ca48-eth0.lease
# cat /var/lib/dhclient/dhclient-fb0c8760-347d-4eb1-b15d-a1fc3048ca48-eth0.lease
23、基本網絡配置
在配置文件.bashrc中設置別名vinet=‘vim /etc/sysconf fig/network-scripts/ifcfg-eth0’
1)、將Linux 主機接入到網絡,需要配置網絡相關設置
一般包括如下內容:
DEVICE
IPADDR
PREFIX或者NETMASK
GATEWAY 必須與IP地址在同一網段
DNS(可以設置主、次、第三DNS服務器)
2)、網絡配置文件
可以使用設置NM_CONTROLLED=no或者命令#chkconfig NetworkManager off關閉NM服務
關閉NM服務后,修改后的配置文件需#service network restart命令使之生效
IP、MASK、GW、DNS相關配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
配置文件說明信息參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE:此配置文件應用到的真實設備名,即必須與網卡名配置文件中網卡名相同
HWADDR:對應的設備的MAC地址,可以MACADDR進行修改,但是重裝系統后會恢復
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受NM 控制,建議CentOS6為“no”
ONBOOT:在系統引導時是否激活此設備
TYPE:接口類型,常見有的Ethernet, Bridge
UUID:設備的惟一標識
IPADDR:指明IP地址
NETMASK:子網掩碼
GATEWAY: 默認網關
DNS1:第一個DNS 服務器指向
DNS2:第二個DNS 服務器指向
USERCTL:普通用戶是否可控制此設備
PEERDNS:如果BOOTPROTO的值為dhcp,是否允許dhcp 服務器分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf
24、網卡設備別名
對虛擬主機有用
將多個IP 地址綁定到一個NIC上,即一塊網卡配多個IP地址,格式如下:
eth0:1
eth0:2
為每個設備別名生成獨立的接口配置文件ifcfg-ethX:xxx
? 關閉NetworkManager服務,否則不兼容
? 必須使用靜態聯網,不支持自動由dhcp服務器獲取IP地址
DEVICE=eth0:0
IPADDR=10.10.10.10
PREFIX=16或者NETMASK=255.255.0.0
GATEWAY=10.10.10.254
DNS=114.114.114.114
ONPARENT=yes
注意:service network restart生效
具體詳細的信息參考文件/usr/share/doc/initscripts-*/sysconfig.txt
25、網絡接口配置-bonding
Bonding就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡作為MASTER對外提供連接,物理網卡被修改為相同的MAC地址,作為SLAVE提供時間服務。
1)、Bonding的工作模式
Mode 0 (balance-rr)
輪轉(Round-robin)策略:從頭到尾,順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1 (active-backup)
活動-備份(主備)策略:在綁定中,只有一個slave 被激活,當且僅當活動的slave 接口失敗時才會激活其他slave ,為了避免交換機發生混亂此時綁定的MAC地址只有一個在外部端口上可見
Mode 3 (broadcast)
廣播策略:在所有的slave 接口上傳送所有的報文,本模式提供容錯能力。
2)、Bonding配置
創建bonding設備的配置文件:
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR
PREFIX
GATEWAY
DNS
BONDING_OPTS=“miimon=100 mode=0”
其中紅字標示的內容可以使用BOOTPROTO=dhcp代替,即自動自dhcp服務器獲取IP地址
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
Bonding配置選項:
miimon是用來進行鏈路監測的,如果miimon=100 ,那么系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
查看bond0 狀態的命令#cat /proc/net/bonding/bond0
其中關于bonding 的詳細配置請參照如下文件:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
26、ifconfig 命令-可臨時修改網卡IP信息,重啟系統丟失指定信息
ifconfig [interface/IFACE]
# ifconfig -a
display all interfaces which are currently available,even if down
# ifconfig IFACE [up|down]
# ifup/ifdown IFACE
激活或者禁用指定網卡接口
#ifconfig eth0 down
#ifconfig eth0 up
#ifconfig eth0:1 down
ifconfig interface [aftype] options | address …
臨時指定網卡IP信息
# ifconfig IFACE IP/mask [up]
# ifconfig IFACE IP netmask MASK
#ifconfig eth0 1.1.1.6/16
#ifconfig eth0:1 1.1.1.6/16
別名指定網卡IP信息,通過別名指定可把多個IP系到一個網卡上
注意:立即生效
27、ip 命令-配置Linux網絡屬性
ip – show/manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT對象:= { link | addr | route }
ip link – network device configuration
set dev IFACE
可設置屬性如下
up and down :激活或禁用指定接口
show [dev IFACE] :指定接口
[up] :僅顯示處于激活狀態的接口
[root@centos7 ~]# ip link 顯示所有網卡接口的相關信息
[root@centos7 ~]# ip link show eth0
[root@centos7 ~]# ip link set eth0 down
[root@centos7 ~]# ip link set eth0 up
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址時指明網卡別名
[scope {global|link|host}]:指明作用域
global: 全局可用,默認狀態
全局有效,IP地址并不是只與指定網卡關聯,只要有其它網卡處于接通,此IP地址均可使用
link: 僅鏈接可用,IP地址只與指定網卡關聯
host: 本機可用,即是IP只在本機可以ping通,別的機器不能ping通
#ip addr 查看所有網卡接口信息,包括一個接口的多個IP可以查看,比ifconfig查看的信息更全
#ip addr add 172.16.100.13/16 dev eth0
#ip addr add 172.16.100.13/16 dev eth0 接口eth0綁定二個IP信息
#ip addr add 172.16.100.13/16 dev eth0 label eth0:0
#ip addr del 172.16.100.13/16 dev eth0 label eth0:0
#ip addr flush dev eth0 label eth0:0 清除eth0:0上的所有IP地址信息
#ip addr flush dev eth0清除eth0上的所有IP地址信息,包括eth0:0上的所有IP地址信息
ip route – routing table management 路由列表管理
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET分為主機路由和網絡路由:
主機路由:IP
網絡路由:NETWORK/MASK
#ip route add 192.168.0.0/24 via 172.16.0.1 添加網絡路由
#ip route add 192.168.1.13 via 172.16.0.1 添加主機路由
可以不寫接口,由網關自動識別出
添加網關:ip route add default via GW dev IFACE
#ip route add default via 172.16.0.1添加默認路由,即添加0.0.0.0
刪除路由:ip route delete
#ip route del TARGET
顯示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
#ip route flush dev eth0
28、netstat 命令
netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
顯示網絡連接:
netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]
-t: tcp 協議相關
-u: udp 協議相關
-w: raw socket 相關
-l: 處于監聽狀態的網絡,狀態是LISTEN
-a: 所有狀態
-n: 以數字顯示IP 和端口
-e:擴展格式,顯示更詳細,包括用戶信息、節點信息等
-p: 顯示相關進程及PID
常用組合:-tan, -uan, -tnl, -unl
顯示路由表:
netstat {–route|-r} [–numeric|-n]
-r: 顯示內核路由表
-n: 數字格式
顯示接口統計數據:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
# netstat -I 查看所有網卡的狀態,包括包大小,收發包數量等等信息
# netstat -IIFACE
#netstat -Ieht0
#netstat –I=eht0
29、ss命令
格式:ss [OPTION]… [FILTER]
netstat通過遍歷proc來獲取socket信息
ss 使用netlink與內核tcp_diag模塊通信獲取socket 信息
選項:
-t: tcp 協議相關
-u: udp 協議相關
-w: 裸套接字相關
-l: listen狀態的連接
-a: 所有
-n: 數字格式
-p: 相關的程序及PID
-e: 擴展的信息
-m:內存用量
-o:計時器信息
FILTER:=[ state TCP-STATE ] [ EXPRESSION ]
TCP 的常見狀態-tcp state:
LISTEN: 監聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:‘( dport = :ssh or sport = :ssh )’
常用組合:-tan, -tanl, -tanlp, -uan
常見用法:
ss -l 顯示本地打開的所有端口
ss -pl 顯示每個進程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的UDP Socekt
ss -o state established '( dport = :smtp or sport = :smtp )'
顯示所有已建立的SMTP連接
ss -o state established '( dport = :http or sport = :http )'
顯示所有已建立的HTTP連接
ss -x src /tmp/.X11-unix/* 找出所有連接X服務器的進程
ss -s 列出當前socket詳細信息
30、route命令
路由管理命令
查看:route –n 查看路由表信息
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
目標:192.168.1.3 網關:172.16.0.1
# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目標:192.168.0.0 網關:172.16.0.1
# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
默認路由,網關:172.16.0.1
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
# route add default gw 172.16.0.1
刪除:route del
route del [-net|-host] target [gw Gw] [netmask Nm][[dev] If]
目標:192.168.1.3 網關:172.16.0.1
# route del -host 192.168.1.3
目標:192.168.0.0 網關:172.16.0.1
# route del -net 192.168.0.0 netmask 255.255.255.0
31、配路由示例:
1)、把centos6.8設置路由1-端口為eth0和eth1
[root@localhost network-scripts]# vim ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.5.0.1
PREFIX=16
HWADDR=00:0C:29:FE:EF:38
[root@localhost network-scripts]# vim ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=110.1.0.5
PREFIX=16
MACDDR=00:0C:29:FE:EF:SS
[root@localhost network-scripts]#service network restart
[root@localhost network-scripts]#ifconfig
[root@localhost network-scripts]#route -n
[root@localhost network-scripts]#route add -net 192.168.0.0/24 gw 192.5.0.2 dev eth0
[root@localhost network-scripts]#cat /proc/sys/net/ipv4/ip_forward
[root@localhost network-scripts]#echo 1 >/proc/sys/net/ipv4/ip_forward
[root@localhost network-scripts]#iptables -F
2)、把centos6.8-1設置路由2-端口為eth0和eth1
[root@centos6-8 network-scripts]# vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.5.0.2
PREFIX=16
[root@ centos6-8 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
IPADDR=192.168.0.1
PREFIX=24
[root@ centos6-8 network-scripts]#service network restart
[root@ centos6-8 network-scripts]#ifconfig
[root@ centos6-8 network-scripts]#route -n
[root@ centos6-8 network-scripts]#route add -net 110.1.0.0/16 gw 192.5.0.1 dev eth0
[root@ centos6-8 network-scripts]#cat /proc/sys/net/ipv4/ip_forward
[root@ centos6-8 network-scripts]#echo 1 >/proc/sys/net/ipv4/ip_forward
[root@ centos6-8 network-scripts]#iptables -F
3)、使用centos7.2作為機器A
#ifconfig eth0 110.1.0.100/16
#route -n
#route add -net defaults gw 110.1.0.5
#ping 110.1.0.5
#ping 192.5.0.1
#ping 192.5.0.2
#ping 192.168.0.1
#ping 192.168.0.101
3)、使用centos7.2-1作為機器B
#ifconfig eno16777736 192.168.0.101
#ifconfig
#route -n
#route add -net default gw 192.168.0.1
#ping 110.1.0.100
32、centos6之前配置當前主機的主機名
#hostname [HOSTNAME],臨時更改主機名,重啟后丟失
或者在文件中進行主機名的配置:
/etc/sysconfig/network
HOSTNAME=
33、rhel6和rhel7網卡接口命名
rhel6之前,網絡接口傳統命名發方式是使用連續號碼命名為eth0 、eth1等,當增加或刪除網卡時,名稱可能會發生變化,網卡接口名稱不太穩定
rhel7基于硬件,設備拓撲和設置類型命名,網卡接口名稱更加穩定
34、恢復采用傳統網卡命名方式的設置過程
1)編輯/etc/default/grub 配置文件中的行GRUB_CMDLINE_LINUX ="net.ifnames=0 rhgb quiet"
然后為grub2生成其配置文件,即執行命令#grub2-mkconfig -o /etc/grub2.cfg
其中/etc/grub2.cfg是軟鏈接,其指向/boot/grub2/grub.cfg
最后重啟系統
2)或者直接修改/boot/grub2/grub.cfg配置文件中的行linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=e42708bf-5679-4ee3-8257-eda72e5a389d ro crashkernel=auto rhgb quiet net.ifnames=0
然后重啟系統
35、nmcli地址配置命令,直接修改配置文件-支持命令補全
設備配置被保存在文本文件中 /etc/sysconfig/network-scripts/ifcfg-<name>
幫助文檔列出完整選項列表:/usr/share/doc/initcripts-*/sysconfig.txt
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT對象:device、connection/con(分別相對于IP命令的link、addr對象)
device – show and manage network interfaces
#nmcli device help 可查看相關幫助信息
Connection/con – start, stop, and manage network connections
#nmcli connection help可查看相關幫助信息
修改IP地址等屬性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual|dhcp
修改配置文件執行生效的命令如下#systemctl restart network
#nmcli con reload
nmcli命令的禁用或啟用連接:#nmcli con down "System eth0",#nmcli con up "System eth0"
# nmcli con up “Wired connection 1”
1)、NeworkManager 是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置,接口與連接是不同的
一個網絡接口可有多個連接配置,但同時只有一個連接配置生效
顯示所有包括不活動連接
#nmcli con show
顯示所有活動連接
#nmcli con show –active
顯示設備狀態
#nmcli dev status
顯示網絡連接配置
nmcli con show "System eth0"
# nmcli con show " Wired connection 1"
顯示網絡接口屬性
#nmcli dev show eno16777736
#nmcli dev show eth0
創建新連接default,IP自動通過dhcp獲取
#nmcli con add con-name default type Ethernet ifname eth0
刪除連接
#nmcli con del default
創建新連接static,指定靜態IP,不自動連接
#nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
啟用static連接配置
#nmcli con up static
啟用default連接配置
#nmcli con up default
2)、修改連接設置
nmcli con mod“static” connection.autoconnect no
修改連接static為不自動連接
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
3)、命令選項與配置文件對應關系-若命令繁瑣,也可以自己選項配置文件
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses“192.0.2.1/24 192.0.2.254” IPADDR0=192.0.2.1
PREFIX0=24
GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
4)、修改連接配置后,需要重新加載配置
nmcli con reload
nmcli con down “system eth0”
nmcli con up “system eth0”
nmcli dev dis eth0 禁用網卡,訪止被自動激活
36、centos7主機名稱配置工具-hostnamectl
# hostnamectl status
# hostnamectl set-hostname xxxx 修改并直接寫入配置文件/etc/hostname中
當然也可以使用hostname命令臨時修改主機名
37)、Network Teaming-網絡組
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現
多種方式runner:broadcast、roundrobin、activebackup、loadbalance、lacp
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口不會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
38)、創建網絡組接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 連接名,INAME 接口名(因為是虛假接口,所以接口名可以設置同連接名)
JSON指定runner,METHOD可以是broadcast、roundrobin、activebackup、loadbalance、lacp
格式:'{"runner": {"name": "METHOD"}}'
39)、創建網絡組接口實例
# nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
# nmcli con mod team0 ipv4.addresses 192.168.1.100/24
# nmcli con mod team0 ipv4.method manual
40)、創建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME連接名, INAME網絡接口名,TEAM網絡組接口名
連接名若不指定,默認為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME設備名
CNAME 網絡組接口名或port接口
41)、創建port接口實例
# nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0
# nmcli con add type team-slave con-name team0-eth2 ifname eth2 master team0 ?
# nmcli con up team0
# nmcli con up team0-eth1
# nmcli con up team0-eth2
# nmcli dev dis eth2 禁用網卡eth2
# teamdctl team0 state 查看team0的狀態
42)、實驗-創建網絡組
#ip link
# nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
# nmcli con mod team0 ipv4.addresses '192.168.1.212/24'
# nmcli con mod team0 ipv4.method manual
# nmcli con add type team-slave con-name team0-port1 ifname eth0 master team0
# nmcli con add type team-slave con-name team0-port2 ifname eth1 master team0
#nmcli con show
# nmcli con up team0
# nmcli con up team0-port1
# nmcli con up team0-port2
# teamdctl team0 state
# ping 192.168.1.100
# nmcli dev dis eth0 禁用網卡eth1
# teamdctl team0 state
# nmcli dev dis eth1 禁用網卡eth2
# nmcli dev connect eth0 啟用網卡eth1
# nmcli dev connect eth1 啟用網卡eth2
43)、網絡組配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
# /etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
44)、DNS 設置存放在/etc/resolv.conf 文件中
PEERDNS=no表示當IP通過dhcp自動獲取時,dns 仍是手動設置不自動獲取。等價于下面命令:
#nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
45)、網絡客戶端工具
lftp, ftp, lftpget, wget
# lftp [-p port] [-u user[,password]] SERVER
子命令:cd、ls 、lcd、pwd、get、mget、help,各子命令前加!表示本機操作
# lftp URL
# ftp URL
其中lcd子命令是本機目錄切換,而不是訪問的服務器目錄切換,可以切換文件下載在本機的路徑
# lftpget URL
# wget
wget [option]… [URL]…
-q: 靜默模式
-c: 斷點續傳
-O: 保存位置
–limit-rates=:指定傳輸速率
46)、#links 10.1.0.1 –dump 摳下不可復制網頁文字
原創文章,作者:18612763863,如若轉載,請注明出處:http://www.www58058.com/44564