Linux 網絡屬性管理

在介紹Linux網路屬性管理之前,我還要介紹下以太網(Enternet)

以太網的工作原理

以太網才用帶衝突檢測載波偵聽多路訪問(CSMA/CD)機制。以太網中節點都可以看到在網絡中發送的所有信息,因此,我們說以太網是一種廣播網絡。

以太網的工作過程如下:

當以太網中的一臺主機要傳輸數據時,它將按如下步驟進行:

1.監聽信道上是否有信號在傳輸。如果有的話,表明信道處於忙狀態,就繼續監聽,直到信道空閒爲止。

2.若沒有監聽到任何信號,就傳輸數據。

3.傳輸的時候繼續監聽,如果發現衝突則執行退避算法,隨機等待一段時間後,重新執行步驟1(當衝突發生時,涉及衝突的計算機會發送會返回到監聽信道狀態。

    注意:每臺計算機一次只允許發送一個包,一個擁塞序列,以警告所有的節點。)

4.若未發現衝突則發送成功,所有計算機在試圖再一次發送數據之前,必須在最近一次發送後等待9.6微妙

wKioL1b3pL3ShZagAACZrSPa2y0681.jpg

七層模型,亦稱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地址分類

wKiom1b3pE_yFCshAAC6l7T5Fz8421.jpg

類別最大網絡數IP地址範圍最大主機數私有IP地址範圍
A126(2^7-2)0.0.0.0-127.255.255.2551677721410.0.0.0-10.255.255.255
B16384(2^14)128.0.0.0-191.255.255.25565534172.16.0.0-172.31.255.255
C2097152(2^21)192.0.0.0-223.255.255.255254192.168.0.0-192.168.255.255






將Linux主機接入到網絡中

依次填入以下信息:

IP/mask

路由:默認網關

DNS服務器

主DNS服務器

次DNS服務器

 第三DNS服務器



wKioL1b3Iv_ztdAWAACDboxZVu0141.jpg

配置方式:

  靜態指定:

    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 ]

      
     wKioL1b3I-bRaFeQAACbZVDjHT8860.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章