在介紹Linux網路屬性管理以前,我還要介紹下以太網(Enternet)python
以太網的工做原理算法
以太網才用帶衝突檢測的載波偵聽多路訪問(CSMA/CD)機制。以太網中節點均可以看到在網絡中發送的全部信息,所以,咱們說以太網是一種廣播網絡。安全
以太網的工做過程以下:服務器
當以太網中的一臺主機要傳輸數據時,它將按以下步驟進行:網絡
1.監聽信道上是否有信號在傳輸。若是有的話,代表信道處於忙狀態,就繼續監聽,直到信道空閒爲止。socket
2.若沒有監聽到任何信號,就傳輸數據。tcp
3.傳輸的時候繼續監聽,若是發現衝突則執行退避算法,隨機等待一段時間後,從新執行步驟1(當衝突發生時,涉及衝突的計算機會發送會返回到監聽信道狀態。ide
注意:每臺計算機一次只容許發送一個包,一個擁塞序列,以警告全部的節點。)ui
4.若未發現衝突則發送成功,全部計算機在試圖再一次發送數據以前,必須在最近一次發送後等待9.6微妙加密
七層模型,亦稱OSI(Open System Interconnection)參考模型,是參考模型是國際標準化組織(ISO)制定的一個用於計算機或通訊系統間互聯的標準體系。它是一個七層的、抽象的模型,不只包括一系列抽象的術語或概念,也包括具體的協議。
應用層 (Application):
網絡服務與最終用戶的一個接口。
協議有:HTTP FTP TFTP SMTP SNMP DNS
表示層(Presentation Layer):
數據的表示、安全、壓縮。(在五層模型裏面已經合併到了應用層)
格式有,JPEG、ASCll、DECOIC、加密格式等
會話層(Session Layer):
創建、管理、終止會話。(在五層模型裏面已經合併到了應用層)
對應主機進程,指本地主機與遠程主機正在進行的會話
傳輸層 (Transport):
定義傳輸數據的協議端口號,以及流控和差錯效驗。
協議有:TCP UDP,數據包一旦離開網卡即進入網絡傳輸層
網絡層 (Network):
進行邏輯地址尋址,實現不一樣網絡之間的路徑選擇。
協議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
數據鏈路層 (Link):
創建邏輯鏈接、進行硬件地址尋址、差錯校驗等功能。(由底層網絡定義協議)
將比特組合成字節進而組合成幀,用MAC地址訪問介質,錯誤發現但不能糾正。
物理層(Physical Layer):
創建、維護、斷開物理鏈接。(由底層網絡定義協議)
IP地址
IP地址是指互聯網協議地址(Internet Protocol Address,網際協議地址),是IP Address的縮寫
IP地址分類
類別 最大網絡數 IP地址範圍 最大主機數 私有IP地址範圍 A 126(2^7-2) 0.0.0.0-127.255.255.255 16777214 10.0.0.0-10.255.255.255 B 16384(2^14) 128.0.0.0-191.255.255.255 65534 172.16.0.0-172.31.255.255 C 2097152(2^21) 192.0.0.0-223.255.255.255 254 192.168.0.0-192.168.255.255
將Linux主機接入到網絡中
依次填入如下信息:
IP/mask
路由:默認網關
DNS服務器
主DNS服務器
次DNS服務器
第三DNS服務器
配置方式:
靜態指定:
ifcfg, ifconfig, route, netstat
ip: boject:{link, addr, route}, ss, tc
配置文件:system-config-network-tui
CentOS 7:nmcli, nmtui
動態分配:DHCP
配置網絡接口:
接口命名方式,CentOS 6,以太網:eth[0,1,2,…]
ifconfig命令:
ifconfig [interface]
# ifconfig -a
# ifconfig IFACE [up|down]
ifconfig interface [aftype] options | address …
# ifconfig IFACE IP/mask [up|down]
# ifconfig IFACE IP netmask MASK
注意:IP當即生效
route命令:
查看命令:route -n
添加:route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
示例以下
[root@localhost ~]# route add -host 192.168.0.0 gw 192.168.103.1 dev eth0 [root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.103.1 dev eth0 [root@localhost ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.103.1 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 192.168.103.1 255.255.255.255 UGH 0 0 0 eth0 192.168.103.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 192.168.103.1 255.255.255.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.103.1 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.103.254 0.0.0.0 UG 0 0 0 eth0
(1)添加本地地址192.168.0.0到eth0網卡上,網關爲192.168.103.1
(2)添加網路地址192.168.1.0到eth0網卡上,網關爲192.168.103.1
也能用:# route add -net 192.168.0.0 mask 255.255.255.0 gw 192.168.103.1 dev eth0
(3)添加默認路由,網關爲192.168.103.1
也能用:# route add default gw 192.168.103.1
刪除命令:route del
我要把剛剛添加的兩條地址刪除就能夠用:route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.103.1 [root@localhost ~]# route del -host 192.168.0.0 gw 192.168.103.1 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.103.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.103.1 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.103.254 0.0.0.0 UG 0 0 0 eth0
netstat命令:
顯示網絡鏈接:
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:處於監聽狀態
-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 -I IFACE
Linux 網絡配置
主要介紹兩個命令:ip 和 ss 命令
ip命令
ip – show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }
經常使用選項:
ip link set DEVICE { up | down }:激活或指定用戶端口
ip link show
[dev IFACE]:指定接口
[up]:僅顯示處於激活狀態的接口
ip address:ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址時指明網卡別名
[scope { global | link | host }]:指明做用域
global:全局可用
link:僅連接可用
host:僅本機可用
[broadcast ADDRESS]:指明廣播地址
ip address show
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush 使用同 show
添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
添加網關:ip route add defalt via GW dev IFACE
刪除路由:ip route del TARGET
顯示路由:ip route [ show | flush ]
ss命令
格式:ss [options] [ FILTER ]
選項:
-t:tcp協議相關
-u:udp協議相關
-w:裸套接字相關
-x:unix sock相關
-l:listen狀態的連接
-a:全部
-n:數字格式
-p:相關的程序及PID
-e:擴展信息
-m:內存用量
-o:計時器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]