Linux 網絡配置和管理

一、基本概念:

1、協議protocol:約定收發雙方能理解的數據格式。

2、分層:將複雜任務分解爲簡單的任務。

3、MAC:Media Access Control介質訪問控制。

二、網絡類型:

1、CSMA/CD:

監聽到網絡空閒即立即發送信息,邊發送邊監聽。如果監聽到衝突,就立即停止發送,等待下一個空閒時間再次發送。著名的以太網就採用這種方式發送信息。

2、消息發送方式:

單工:要麼只能發,要麼只能收。

半雙工:可以收發,但不能同時收發。

全雙工:收發同時,互不影響。

3、CSMA/CD設備:

(1)、Hub:集線器,接收雙方在接收信息就獨佔線路,可見是獨佔的總線模式,其他接收雙方只能等待,即存在接收衝突域問題。可見效率較低。現在已經很少用Hub。

(2)、網橋(只有兩個端口):網橋用來分隔一個較大規模的網絡,解決衝突域(同時收發)的問題。能暫存數據,內部有地址數據表格且內部有多個線路,在接收信息是臨時建立一通路,接發完畢斷開。可見效率較高。

(3)、交換機(MAC表)(多端口的網橋):但是不能解決廣播域的問題,即第一次發送數據MAC地址表無數據或MAC地址表數據老化,那麼在發送數據時是向此交換機上所有端口發送的。如果多個交換機的多個網絡直接連接在一起,那麼廣播域的問題更嚴重。

wKioL1hgtLbRHtLrAAAS7r-i1bM429.png

wKiom1hgtWOBQKXkAAAa1yRWjus428.png

(4)、路由器(路由表):用來隔斷廣播域的問題,從而解決了廣播域的問題。從而實現了跨網絡通信,又能有效解決廣播域的問題。

wKioL1hgs9vBlVNRAAAbyibKdqw023.png

(5)、IP地址(由網絡地址和主機地址組成,共分四段。如果網絡地址位長了,那麼主機地址位短,所連接的主機就少;反之所連接的主機就多。):

A-大型:0 000 0000-0 111 1111:0-127,第1段爲網絡地址,並且規定第一位爲0,其他爲主機地址

       1-126:

       2^7個網絡

       每個網絡中的主機:2^24-2

       默認掩碼:255.0.0.0

       1個私有網絡:10.0.0.0(這個私有網絡可以連接255個主機:10.0.0.0~10.0.0.255)

B-中型:10 00 0000-10 11 1111:128-191,前2段爲網絡地址,並且規定前兩位爲10,其他爲主機地址

        128-191

        2^14個網絡

        每個網絡中的主機:2^16-2

        默認掩碼:255.255.0.0

        16個私有網絡:172.16.0.0-172.31.0.0

C-小型:110 0 0000-110 1 1111:192-223,前3段爲網絡地址,並且規定前三位爲110,其他爲主機地址

        192-223

        2^21個網絡

        每個網絡中的主機:2^8-2

        默認掩碼:255.255.255.0

        256個私有網絡:192.168.0.0-192.168.255.0

D、注意:

     主播地址 1110 0000-1110 1111:224-239

     測試網絡 1111 0000-1111 1111:240-255

     主機位全0:網絡地址

     主機位全1:廣播地址

(6)、子網掩碼:

    規定對應“網絡地址”子網掩碼全爲1,對應“主機地址”子網掩碼全爲0。

    A類網子網掩碼:255.0.0.0

    B類網子網掩碼:255.255.0.0

    C類網子網掩碼:255.255.255.0

(7)、網絡通訊:

    A、1-4:通信,在內核空間解析完成。

       物理層:物理介質如同軸電纜、光纖等,並封裝前導碼。

       鏈路層:封裝源mac和目標mac,實現介質訪問控制。

       網絡層:IP數據包,封裝源IP和目標IP,IP協議。路由器就工作在此層上。

       傳輸層:並非真正意義上的傳輸,而是用來“標記進程即端口(0-65535)",TCP/UDP協議。

           TCP:0-65535,Transimission Control Protocol,類似於打電話。

           UDP:0-65535 User Datagram Protocol 用戶數據包協議,類似於發信件。

           Socket套接字:由IP+Port組成。

    B、5-7:資源,在用戶空間解析完成。

       會話層:保持會話

       表示層:標記資源展示。

       應用層:標記資源,請求的資源,即以什麼格式的文件返回給客戶端。

    

    C、TCP:有連接協議,建立的是邏輯連接。

     a、建立連接:需要三次握手。

         SYN=1,ACK=0

         SYN=1,ACK=1

         SYN=0,ACK=1

     b、斷開連接:需要四次斷開,TCP是全雙工的即雙通道。

          因此,斷開時雙方都需要發出請求等待對方確認。

    

wKiom1hjWN2ArBq3AAAiBhDCweE083.jpg

4、Token Ring:令牌環網,獲得令牌才能發送消息。

wKioL1hg11PSZ1aKAAAXYNu6VcU746.png


、網絡設備:內核通過驅動來識別網絡設備。

    1、以太網設備:eth#,如eth0,eth1等。

    wKioL1hlyV6RXAtWAAALzAsac2Q640.jpg 

    2、PPP網絡設備:ppp#,如ppp0,ppp1等。

    3、在Dell服務器上,網絡設備通常標識爲:em#,如em0,em1等。

    下圖這臺dell服務器有4塊網卡:em1~em4

    wKiom1hlyRWCZKxSAAAm_X-Mq8s399.jpg

    4、本地迴環:lo

    wKiom1hlybGg7uUfAAAQtjTuPkA881.jpg

、配置主機接入TCP/IP網絡:

    1、IP/Netmask(掩碼)。


    2、路由:提供與非本地網絡的主機進行通信。

        主機路由:-host,目標指向主機。

        網絡路由:-net,目標指向網絡。

        默認路由也叫網關也叫下一跳:default,目標指向所有地址(0.0.0.0)。


    3、DNS服務器:

        主DNS服務器

        備用DNS服務器


    4、主機名


    以上4步的詳細配置,見五。


五、配置主機接入TCP/IP網絡詳解

配置IP/Netmask,此時只能完成本地網絡通信。再配置路由,就可以完成跨網絡通信。

1、配置IP/Netmask:

(1)、命令方式配置IP/Netmask:

 ifconfig(ip addr,ip link),配置後立即生效,是暫時有效,但不會永久有效即關機失效。

A、#ifconfig:顯示所有活動接口的相關信息。

如:#ifconfig

eth0  Link encap:Ethernet(鏈路層封裝格式:以太網幀)

HWaddr 00:0C:29:27:38:DA (MAC地址,前三段廠商地址塊,後三段設備地址塊) 

inet addr:192.168.127.147(IP地址)  Bcast:192.168.127.255(廣播地址) Mask:255.255.255.0(掩碼)

inet6 addr: fe80::20c:29ff:fe27:38da/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500(最大傳輸單元)  Metric:1

RX packets:76 errors:0 dropped:0 overruns:0 frame:0 (接收)

TX packets:87 errors:0 dropped:0 overruns:0 carrier:0(傳出)

collisions:0 txqueuelen:1000 

RX bytes:9410 (9.1 KiB)  TX bytes:11954 (11.6 KiB)


lo   Link encap:Local Loopback  

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING  MTU:16436  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0 

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


B、#ifconfig Interface:僅顯示指定接口的相關信息。

如ifconfig eth0:

eth0      Link encap:Ethernet  HWaddr 00:0C:29:27:38:DA  

          inet addr:192.168.127.147  Bcast:192.168.127.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe27:38da/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:120 errors:0 dropped:0 overruns:0 frame:0

          TX packets:120 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:13263 (12.9 KiB)  TX bytes:15320 (14.9 KiB)

C、ifconfig Interface Address:配置地址。

 如:長格式:ifconfig eth0 192.168.10.9 netmask 255.255.255.0

     短格式(CIDR),掩碼指定多少個1即上面的的長格式爲24個1。

 如:ifconfig eth0 192.168.10.9 netmask 255.255.255.0=ifconfig eth0 192.168.10.9/24

 如:ifconfig eth0 10.0.0.6 netmask 255.0.0.0=ifconfig eth0 10.0.0.6/8

 如:ifconfig eth0 172.16.1.6 netmask 255.255.0.0=ifconfig eth0 172.16.1.6 /16


D、ifconfig Interface {up|down}:啓用|禁用Interface



(2)、靜態配置IP,通過配置文件配置IP,配置將永久有效。

與網絡設備相關的服務控制腳本:它通常能讀取網絡的配置文件,並讓其配置生效或失效等管理功能。注意:配置完成後,需執行#service network restart,使配置生效。

A、配置IP、掩碼、網關:

   a、以太網:ifcfg-eth#

   #vi /etc/sysconfig/network-scripts/ifcfg-eth0,內容如下:

   DEVICE="eth0" :此配置關聯的設備,設備名要與文件名ifcfg-後的內容保持一致。

   BOOTPROTO="dhcp" 引導協議,{none(手動配置)|static(手動配置)|dhcp(動態獲取)|bootp(動態獲取)}

   HWADDR="00:0C:29:27:38:DA" :MAC地址,要與真實MAC保持一致,如果不知道可省略,系統會自動配置,MAC是固化在網卡上的。

   IPV6INIT="yes":是否自動初始化IPV6協議地址。

   NM_CONTROLLED="yes" :是否接受NetworkManager腳本控制{yes|no}

   ONBOOT="yes" :是否開機自動啓用此網卡{yes|no}

   TYPE="Ethernet" :設備類型,如Ethernet以太網,Bridge橋接,Binding綁定

   UUID="80930047-c6a8-4d70-aa8d-0f876e94221d" :唯一標示,可省略,同MAC配置。

   IPADDR=192.168.127.135:IP地址

   NETMASK=255.255.255.0:掩碼

   GATEWAY=10.0.0.1:默認網關

   DNS1=10.0.0.1:指定的DNS服務器地址(dns最多三個,至少要一個)

   USERCTL=no:是否允許普通用戶啓用或者禁用此網卡。

   PEERDNS={yes|no} 是否允許DHCP服務分配地址時直接更新/etc/resolv.conf中的DNS服務器地址。

    

    b、ppp:ifcfg-ppp#



(3)、通過TUI/GUI(圖形界面,極少用)靜態配置IP,配置結束後會改變配置文件:

           命令1:#system-config-network-tui

           命令2: #setup,選擇Network congiguration 也可進入

(4)、動態配置IP/Netmask:

           DHCP服務器:Dynamic Host Configuration Protocol 動態主機配置協議。


2、配置路由:

(1)命令方式配置路:route(ip route),配置立即生效,是暫時有效,但不會永久有效即關機失效。

A、#route:顯示路由信息。

-n:使用數字格式顯示,不反解地址到主機名。

如:# route -n

Kernel IP routing table

Destination     Gateway(下一跳) Genmask       Flags       Metric Ref    Use Iface

192.168.127.0   0.0.0.0         255.255.255.0   U(U啓用狀態)  1    0       0 eth0

0.0.0.0       192.168.127.2     0.0.0.0       UG(G默認)     0    0        0 eth0

192.168.1.100   172.16.100.188    255.255.255.255 UGH(H主機路由)

Broute add [-net|-host]:添加路由條目,有如下三種方式:

    #route add -host HOST_IP gw NEXT_HOP [dev Device]  配置主機路由

    #route add -net NET_ADDR/MASK gw NEXT_HOP [dev Device] 配置網絡路由

    #route add -net 0.0.0.0:默認路由(目標地址爲任務地址).  配置默認路由

    如配置網絡路由:請配置路由條目,要求目標爲192.168.0.0/24網絡,下一跳爲172.16.0.1(下一跳一定和本機地址在同一網絡中,不然沒跳,哈哈)

#route add -net 192.168.0.0/24 gw 172.16.0.1

    如配置主機路由:請配置路由條目,要求目標爲192.168.1.100主機,下一跳爲172.16.100.188(下一跳一定和本機地址在同一網絡中,不然沒跳,哈哈)

#route add -host 192.168.1.100 gw 172.16.100.188

   如配置默認路由:添加默認路由,下一跳爲 172.16.100.88

#route add -net 0.0.0.0 gw 172.16.100.88=#route add default gw 172.16.100.88


Croute del:刪除路由。

-host HOST_IP

-net NET_ADDR/MASK

 default:刪除默認路由如:route del default


(2)、靜態配置路由:注意:配置完成後,需執行#service network restart,使配置生效。

    A、以太網:route-eth#,在/etc/sysconfig/network-scripts/默認沒有,需要自己創建。

      如:#vi /etc/sysconfig/network-scripts/route-eth0,內容如下:

      192.168.0.0/24 via 172.16.100.188  

      192.168.1.10 via 172.16.100.88

         

      配置的格式1爲:DEST via NEXT_HOP,如上例。

      配置的格式2爲:ADDRESS#=DEST

          NETMASKE#=Netmask

          GATEWAY#=Gateway

          例如:那麼格式1用格式2配置如下:

          ADDRESS0=192.168.0.0

          NETMASKE0=255.255.255.0

          GATEWAY0=172.6.100.188

            

          ADDRESS1=192.168.1.10

          NETMASKE1=255.255.255.255

          GATEWAY1=172.16.100.88


        B、ppp:route-ppp#


3、DNS服務器:只能通過編輯/etc/resolv.conf配置,最多三個,至少一個,配置永久有效。

#vi /etc/resolv.conf如下:

# Generated by NetworkManager

nameserver 192.168.127.2

注意:測試DNS是否配置成功命令,只要能解析就說明配置成功:

     正解:#dig -t A FQDN,如#dig -t A www.baidu.com

     反解:#dig -x IP,如#dig -x 74.125.203.199


4、主機名配置:

 (1)、動態(立即生效,但不能永久有效):#hostname HOSTNAME

 (2)、靜態(永久有效,但不能立即有效,需要重啓服務。)

 #vi /etc/sysconfig/network

 NETWORKING={yes|no}本機的網絡總開關,一般爲yes,否則就不能上網。

 HOSTNAME=www.lzf.com


六、如何實現在單接口上配置多個地址:通過網絡接口別名來實現。

eth0,那麼它的別名可以是eth0:#格式,如eth0:0,eth0:1,eth0:2....

1、動態配置:

如,ifconfig eth0:0 172.16.100.11/16

2、靜態配置:注意:非主地址不支持使用DHCP協議獲取,所以BOOTPROTO只能是none|static。

如,ifcfg-ethX:Y

   DEVICE=ethX:Y

   BOOTPROTO={none|static}

   IPADDR=

   NETMASK=

    .

    .

七、服務腳本:

1、服務腳本位置 :/etc/rc.d/init.d/或/etc/init.d/

注:網絡服務腳本位置:/etc/init.d/network

2、多數爲控制運行於後臺守護進程,接收的常用參數{start|stop|restart|status}

3、配置某服務開機自動啓動:chkconfig Srv_Script_Name on

4、禁止某服務開機自動啓動:chkconfig Srv_Script_Name off

5、查看某服務:chkconfig --list [Srv_Script_Name]

6、調用機制:

(1)、#/etc/init.d/Script_Name {start|stop|restart|status}

(2)、#service Script_Name {start|stop|restart|status}


八、網絡管理或監測的相關工具:

1、ping:

  -c(count) :指定ping的次數。如:ping -c 2 www.baidu.com

2、netstat(網絡狀態探測命令--因爲TCP是有狀態的網絡鏈接):執行速度有點慢。

  -n:數字格式顯示

  -t:tcp協議的鏈接

  -u:udp協議的鏈接

  -l(listen):監聽狀態的鏈接

  -a:所有狀態的鏈接

  -p:鏈接相關的進程

  -r:顯示路由表

  常用組合:

   netstat -tan

   netstat -tuan

   netstat -tunl

   netstat -tnl

   netstat -tunlp

   netstat -rn,與命令route執行結果一樣

3、ss:執行速度比netstat要快。

-n:數字格式顯示

-t:tcp協議的鏈接

-u:udp協議的鏈接

-l(listen):監聽狀態的鏈接

-a:所有狀態的鏈接

-p:鏈接相關的進程

-e:顯示擴展信息

-m:顯示套接字鏈接使用的內存信息

-o state {established已建立的鏈接|listen 監聽的鏈接}

4、traceroute(追蹤路由):

       獲取從當前主機到達目標主機所經過的路由(網關),

       不過一般服務器禁止traceroute。

5、ethtool ethX:顯示設備接口屬性。

  如:ethtool eth0

     ethtool -S ethX:顯示設備接口統計數據。


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