首頁  >  文章  >  php教程  >  網路基礎與Linux網路配置之一 ifconfig、route、netstat指令詳解

網路基礎與Linux網路配置之一 ifconfig、route、netstat指令詳解

高洛峰
高洛峰原創
2016-12-15 09:56:031769瀏覽

OSI模型與TCP/IP協定簇

1.首先TCP/IP是一個協定簇;而OSI(開放系統互聯)則是一個模型,且TCP/IP的開發時間在OSI之前。
2. TCP/IP是由一些互動性的模組做成的分層次的協議,其中每個模組提供特定的功能;OSI則指定了哪個功能是屬於哪一層的。
3. TCP/IP是五層結構,而OSI是七層結構。

4.TCP/IP是現行使用的協議,而OSI是學習用的

網路基礎與Linux網路配置之一 ifconfig、route、netstat指令詳解

在電腦進行傳輸資料時需要透過MAC位址和IP網路位址來傳輸。 IP位址只是用來識別網絡,而真正傳輸時還是用的MAC位址。


IP位址:

IPv4:32bits二進位數字。
   8bits.8bits.8bits.8bits
   範圍:0.0.0.0-255.255.255.255
            A類:
    第一段為網路號,後三段為主機號
    網路號:
    0 000 0000 - 0 111 1111:1-127
    網路數量:126,127
    主機網路中主機數量:2^24-2
                    
  B類:
    前兩段為網路號碼,後兩段為主機號碼
    網路號:
    10 00 0000 - 10 11 1111:128-191
    網數:2^146-253主機中主機的預設數量子網路遮罩:255.255.0.0,/16
                            網路號碼:
    110 0 0000 - 110 1 1111:192-223
    網路數:2 ^21
    每個網絡中的主機數量:2^8-2
    默認子網掩碼:255.255.255.0,  /24
  D類:組播
    1110 0000 - 1110 1111:224-239
  E類:科研
    240-255

A類:1.0.0.0~126.255.255.255,默認子網掩碼/8,即255.0.0.0 
    (其中127.0.0.0~127.255.255.255為環回地址,用於本地環回測試等。私網位址:172.16. 0.0~172.31.0.0;
    
C類:192.0.0.0~223.255.255.255,預設子網路遮罩/24,即255.255.255.255,預設子網路遮罩/24,即255.255.255.255,預設子網路遮罩5.255
    
D類:224.0. 0.0~239.255.255.255,一般於使用組播

E類:240.0.0.0~255.255.255.255(其中255.255.255.255為全網廣播位址)

E🜎 inux主機接取網路

    

  IP/NETMASK:本機通訊

   路由(閘道):跨網路通訊

   DNS位址位址:備用主機名稱的通訊位址
   第三備份DNS伺服器位址




設定方式:

  
指令修改(只有此次有效,重啟之後即失效)

靜態分配:

ifcfg家族:

    ifconfig:設定IP,NETMASK🜎 iproute2家族:

    ip OBJECT:

    addr:位址與遮罩;

    link:介面

  

CentOS 7:nm(Network Manager)家族

     nmcli:指令行工具

     nmtui:text window 工具



ifcfg家族詳情

使用ifconfig指令查看網卡資訊

[root@bogon ~]# ifconfig [eth0] #可省略

   


設定網卡的ip位址資訊

[root@bogon ~]# ifconfig eth0:0 192.168.1.199/24

   

網時所看到了兩個指令eth0:0。若還想再增加IP,那網路卡的命名就接著是:eth0:1、eth0:2…想要幾個就填幾個。 ok!


修改網卡MAC位址

[root@bogon ~]# ifconfig eth0 hw ether 00:11:22:33:44:55

   

  這時就將網路卡的硬體位址更改了,此時你就可以騙過區域網路內的IP位址邦定了。


將網卡禁用 

[root@bogon ~]# ifconfig eth0 down

  


將網卡啟用 

[root@bogon ~]# ifconfig eth0 up

route指令用來檢視和設定linux核心路由表,也就是用來查看和配置linux的靜態路由表。

描述


route命令操作基於linux內核路由表,它的主要作用是創建一個靜態路由讓指定的一個主機或者一個網絡通過一個網絡接口,如eth0。當使用”add”或”del”參數時,路由表被修改,如果沒有參數,則顯示路由表目前的內容。

指令格式

route指令格式如下:

route [-nee]
route add [-net|-host] [网络或主机] netmask [mask] [gw|dev]
route del [-net|-host] [网络或主机] netmask [mask] [gw|dev]

   

參數說明

-n:#ipnet指令;

-ee:#顯示更詳細的靜態路由資訊;


新增一條新路由(add) 與刪除一條路由(del) 路由的相關參數:

-net:# 目標位址是一個網路;

-host:#目標位址是一個主機;


netmask:#當新增網路路由時,需要使用網路遮罩,決定網域的大小;

gw:#gateway 的縮寫,路由封包通過的網關,後面接的是IP位址,與dev不同;

dev:#如果只是要指定由哪一塊網卡出去,則使用這個設定,後面接eth0 等網卡設備名稱;


路由查看與管理

[root@bogon ~]# route -n #查看
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.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.1.1     0.0.0.0         UG    0      0        0 eth0

   


 or destination host. 目標網路或目標主機(有-n參數時,只顯示IP位址,否則顯示主機名稱)。


Gateway 閘道

The gateway address or ‘*’ if none set.  網關位址,如果沒有就顯示星號(加-n選項時為0.0.0.0)。

Genmask 網路遮罩

The  netmask  for  the  destination net; ‘255.255.255.255’ for a  host destination and ‘255.255.255.255’ for a  hosta5.5" for.0.0.0.0 for for the 為主機.55.55.5025.5025.5025.5025.5000 主機.defN5.5.50. ”0.0.0.0″表示網關。



 Flags  Possible flags include 標誌,常用的是U和G。

U (route is up) 路由啟用

H (target is a host) 目標是主機


G (use gateway) 使用網關

R (reinstate route for dallymic routing redirect)

M (modified from routing daemon or redirect)

A (installed by addrconf)

C (cache entry)

!暫無用。

The ‘distance’ to the target (usually counted in  hops).  It  isnot  used  by  recent kernels, but may be needed by routing dae-mons.

。 Number of references to this route. (Not used in the Linux  ker-nel.)

Use 此路由被使用的次數,可以粗略估計通往指定網路位址的網路流量。

Count of lookups for the route. Depending on the use of -F and-C this will be either route cache misses (-F) or hits (-C).

Iface,即等介面網路介面名稱Interface to which packets for this route will be sent.



新增路由

[root@bogon ~]# route add -net 192.168.3.0/24 gw 192.168.1.1 dev eth0
🜒 255.255.0 ,封包通過網路介面eth0,且封包將發送至閘道位址192.168.1.1

    

新增預設路由

[root@bogon ~]# route add  default  gw 192.168.1.1

 
用於顯示各種網路相關訊息,如網路連接,路由表,介面狀態(Interface Statistics),masquerade 連接,多播成員(Multicast Memberships) 等等。


用法

  netstat [-veenNcCF] [] -r        

] [po--        . ..]

   netstat { [-veenNac] -I[] | [-veenNac] -i | [-cnNe] -M | -s } [delay]

常見參數

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到


常用组合

-tan,  -uan,  -tnl,  -unl,  -tunlp ...


列出处于监听状态的socket

[root@bogon ~]# netstat -l

   

显示所有被监听的tcp连接

[root@bogon ~]# netstat -tal
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0     52 bogon:ssh                   bogon:6170                  ESTABLISHED 
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN

   

显示所有接口的统计数据


[root@bogon ~]# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0     3898      0      0      0     1828      0      0      0 BMRU
eth0:0     1500   0      - no statistics available -                            BMRU
lo        65536   0        0      0      0      0        0      0      0      0 LRU

   

  -I:指定接口的统计数据


更多网络基础与Linux网络配置之一 ifconfig、route、netstat命令详解相关文章请关注PHP中文网!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn