Linux網絡屬性配置“三大家族”(ifcfg、iproute、配置文件)

Linux系統下網絡管理命令和方法是Linux工作人員必學的技能,現將Liunx下常用網絡管理命令和方法總結如一下:

網絡管理的三大家族:ifcfg家族、iproute家族和修改配置文件。ifcfg和iproute特點是配置立即生效,但不長久生效,修改配置文件可長久生效,但不能立即生效,需要重新啓動網絡服務。現將分別介紹如下:


ifcfg家族:

  包括ifconfig、route、netstat三大命令。

  ifconfig命令:

    功能:configure a network interface,查看及配置網絡接口;

    格式1:ifconfig [-v] [-a] [-s] [interface] 查看網絡接口信息;

      常用選項:

        -a:顯示所有接口信息,包括inactive狀態的接口;

     -v和-s不常用不再介紹,可自己查閱學習。當不帶選項時和接口時,只顯示激活接口信息;

    格式2:ifconfig [-v] interface [aftype] options | address ... 配置網絡接口

    配置方法# ifconfig  IFACE  IP/MASK  [up|down]

           # ifconfig  IFACE  IP  netmask  NETMASK 

       例如:將eth1接口ip地址設置爲192.168.0.100/24,並激活接口。

       命令:ifconfig eth1 192.168.0.100/24 up 

         或 ifconfig eth1 192.168.0.100 netmask 255.255.255.0

       如圖:

wKioL1bv94eC-Zm5AAAr-oPumJs711.png

      刪除接口地址:ifconfig IFACE 0

          例如:刪除eth1接口地址

wKioL1bw9jHQb9SaAAAk2-GX2lg708.png

   route命令:

    功能:show / manipulate the IP routing table,路由查看及管理;

    查看路由:route -n

           -n:以數字格式顯示,不反解爲主機名;路由條目多時可節省資源與時間;

wKioL1bv-UaQF6c2AAAeP-aqR8I969.png

    添加路由:route add [-net|-host] target [netmask Nm] [gw GW] [[dev] If]

           [-net|-host]:網絡或主機路由;

            target [netmask Nm]:網絡地址及掩碼;

           [gw GW]:下一跳地址;

           [[dev] If]:本主機接口;

       示例:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1

            route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1  

            route add default gw 192.168.10.1

       例如:在eth1接口添加到10.0.0.0/8的路由,下一跳地址爲:192.168.0.1.

wKioL1bv_ASSYxIBAAApFprHH24828.png

    刪除路由:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

       示例: route del -net 10.0.0.0/8 gw 192.168.10.1

             route del default

       例如:將上面加的路由刪除

wKioL1bv_N6TJjNaAAAkgQE81eg018.png

    netstat命令:

     功能:顯示路由表、網絡連接和接口的統計數據;

      顯示路由表:netstat -rn 同route -n

            -r:顯示內核路由表

            -n:數字格式

wKiom1bwAnaQjJkjAAAd5AXvJC4430.png

    顯示網絡連接:

      netstat [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--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和Port;

          -e:擴展格式;

          -p:顯示相關的進程及PID;

      常用組合:-tan,  -uan,  -tnl,  -unl,  -tunlp

wKiom1bw0CbBmr17AAB9l30p5Po253.png

     顯示接口的統計數據:

     netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--verbose|-v]  

         [--program|-p] [--numeric|-n] 

       所有接口:

 netstat  -i

wKiom1bw0SWB1VJ3AAAd2uPjQb0799.png

   指定接口:

 netstat  -I<IFace> 

wKioL1bw0jfDRGQTAAAVqkJpd5I840.png


   iproute家族:

     包括 ip 和 ss 兩在命令;

     ip命令:

       功能:網絡設備配置、IP地址管理、路由管理等

       格式:ip [ OPTIONS ] OBJECT { COMMAND | help }

 OBJECT = { link | addr | route }

        注意:LBJECT可簡寫,各子命令也可簡寫;

     ip OBJECT:

        ip link: network device configuration 網絡設備配置

        ip link <show|link> - display device attributes  顯示設備屬性

wKiom1bw-zOSIPgGAABb3tFM8Js491.png

        ip link help  - 顯示簡要使用幫助;

wKioL1bw-nvwcIhZAABQJKTTckY326.png

        ip link set  - change device attributes 修改設備屬性         

          dev NAME (default):指明要管理的設備,dev關鍵字可省略;

          up和down:啓用或禁用端口;

          multicast on或multicast off:啓用或禁用多播功能;

          name NAME:重命名接口;需先down掉接口;

          mtu NUMBER:設置MTU的大小,默認爲1500;

        例如:將eth1接口關閉

wKiom1bw-9uygoRgAAAxHCvLfiE748.png

     ip address  - protocol address management. IP地址管理      

       ip address <show|list> - look at protocol addresses

        ip addr list [IFACE]:顯示接口的地址;

wKiom1bw_0HyvmBRAAA0bSTc4ng117.png

        ip address add  - add new protocol address

        ip addr add IFADDR dev  IFACE

          [label NAME]:爲額外添加的地址指明接口別名;

          [broadcast ADDRESS]:廣播地址;會根據IP和NETMASK自動計算得到;

        例如:給eth1接口添加地址192.168.100.10/24,並額外添加地址192.168.200.20/24

wKiom1bxArmRbXdbAAAyNk-pGh8603.png

        例如:再給eth1接口添加地址192.168.100.20/24,並額外添加地址10.0.10.10/8,name爲eth:0

wKioL1bxBHGjGnNgAAA8470cr54477.png

        比較與上例顯示的區別,並比較用ifconfig命令顯示的不同處

wKioL1bxBOWxyq35AACmiyfmm6Q072.png

       ip address delete  - delete protocol address 刪除IP地址

ip addr delete IFADDR dev IFACE 

        例如:將eth1接口192.168.200.20/24地址刪除

wKioL1bxBcSCQlJlAAAwUFjtawU245.png

       ip address flush - flush protocol addresses 清空接口所有地地址

ip addr flush dev IFACE 

        例如:清空eth1接口所有IP地址

wKioL1bxBofhWaCpAAAddilcMys014.png

     ip route - routing table management 路由管理

       ip route <show|linst>  - list routes 顯示路由信息

        ip roue show TYPE PRIFIX

wKioL1bxCYThEWSoAAAi7jNWznQ558.png

       ip route add - add new route 添加路由

       ip route change - change route 更改路由

       ip route replace - change or add new one 替換路由

        ip route add TYPE PREFIX(目標網絡) via(下一跳)GW [dev IFACE] [src SOURCE_IP](源地址)

        例如:在eth1接口加條路由192.16.0.0/24指向10.0.0.1

wKioL1bxEuqifTMyAAA0TVR9qso482.png

        其它更改路由和替換路由跟添加一樣,不再詳述;       

       ip route get - get a single route 顯示單條路由詳細信息

        ip  route  get  TYPE PRIFIX

        例如:顯示192.168.0.0/24路由信息

wKiom1bxFOvBouCSAAAQpkyV0Zw464.png

       ip route delete - delete route 刪除

        ip  route  del  TYPE PRIFIX 

        例如:刪除192.168.0.0/24路由

wKiom1bxFtHhxVQwAAAufZSR-4s803.png

       ip route flush - flush routing tables清除路由表

ip route flush TYPE PRIFIX

        例如:清除10/8路由

wKioL1bxGGHSuwAAAAAnomh6lmo606.png

    ss命令:

     功能:類似於netstat,但可可以顯示比其它工具更爲詳細的TCP信息;

     格式:ss [options] [ FILTER ]

        常用選項:

-t:TCP協議的相關連接

-u:UDP相關的連接

-w:raw socket相關的連接

-l:監聽狀態的連接

-a:所有狀態的連接

-n:數字格式

-p:相關的程序及其PID

-e:擴展格式信息

-m:內存用量

-o:計時器信息

       FILTER = [ state TCP-STATE ]  [ EXPRESSION ]

TCP的常見狀態:

  TCP FSM:

LISTEN:監聽

ESTABLISEHD:建立的連接

FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:關閉

  EXPRESSION:

dport = 目標端口

sport = 源端口

        例如:查看22號端口tcp信息

wKioL1bxIRbAbe9YAAAbU3T1GnM067.png

   配置文件:

     以上兩大家族修改的網絡屬性可立即生效,但是不可長久生效,重啓網絡服務後失效了。

   通過修改配置文件不能立即生效,但重啓網絡服務後可長久生效。

   網絡屬性的配置文件有兩種: 

    (1)IP/NETMASK/GW/DNS等屬性的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-IFACE

      IFACE:接口名稱;

    (2)路由的相關配置文件路徑:/etc/sysconfig/networkj-scripts/route-IFACE

   修改配置文件中的參數有兩種方法:

    (1)通過vim等文本編輯器直接修改;

    (2)使用專用命令進行修改:

       CentOS 6:system-config-network (setup)

       CentOS 7: nmtui

       輸入這兩種命令會進入類似BIOS的圖形提示界面,可根據提示進行修改;

wKioL1bxOQ2ANpjyAAA1o4SDYEQ725.png

    /etc/sysconfig/network-scripts/ifcfg-IFACE 配置文件參數;  

       ifcfg-IFACE配置文件參數:

DEVICE:此配置文件對應的設備的名稱;

ONBOOT:在系統引導過程中,是否激活此接口;

UUID:此設備的惟一標識;

IPV6INIT:是否初始化IPv6;

BOOTPROTO:激活此接口時使用什麼協議來配置接口屬性,常用的有dhcp、bootp、static、none;

TYPE:接口類型,常見的有Ethernet, Bridge;

DNS1:第一DNS服務器指向;

DNS2:備用DNS服務器指向;

DOMAIN:DNS搜索域;

IPADDR: IP地址;

NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼;

GATEWAY:默認網關;

USERCTL:是否允許普通用戶控制此設備;

PEERDNS:如果BOOTPROTO的值爲“dhcp”,表示是否允許dhcp server分配的dns服務器指向

              覆蓋本地手動指定的DNS服務器指向;默認爲允許;

HWADDR:設備的MAC地址;

NM_CONTROLLED:是否使用NetworkManager服務來控制接口;

    用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE    

      支持兩種配置方式,但不可混用;

    (1) 每行一個路由條目:

  TARGET  via  GW

(2) 每三行一個路由條目:

  ADDRESS#=TARGET

  NETMASK#=MASK

  GATEWAY#=NEXTHOP

    配置文件修改後需要重啓網絡服務纔可生效,重啓網絡服務方法:      

       CentOS 6:# service  network  restart

   CentOS 7:# systemctl  restart  network.service

    此處不再給大家做演示,大家可自行修改。

   網絡屬性配置的“三大家族”就總結到此,希望對初學者有所幫助,大學相互學習。


























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