Linux網絡屬性配置

Linux網絡屬性配置



   一、 ifcfg命令家族:ifconfig,route,netstat
    (一) ifconfig命令:接口及地址查看和管理
         1.ifconfig  [INTERFACE]
           默認顯示激活狀態信息
           RX表示:接受到的包
           error:錯誤的包的個數
           dropped:丟包的個數
           TX:發送的包
           ifconfig -a:顯示所有接口,包括inactive狀態的接口;
         2. ifconfig interface [aftype] options | address ...:完成地址配置
            (1) ifconfig  IFACE  IP/MASK  [up|down]

wKiom1Z_-AmC3-HrAABAOGDXZ-w209.png

  

            (2) ifconfig  IFACE  IP  netmask  NETMASK

wKioL1Z_-FDQ-jXhAAA_7aADUyg774.png

            (3) options:                  

            [-]promisc:混雜模式
                

wKioL1Z_-KzDzBi7AABA_yeNVJU467.png

wKioL1Z_-MjSseq6AAA_y_ziFeQ188.png

                注意:立即送往內核中的TCP/IP協議棧,並生效;
          3.管理IPv6地址
                add addr/prefixlen:添加
                del  addr/prefixlen:移除


       (二) route命令:路由查看及管理
            1.路由條目類型;
                主機路由:目標地址爲單個IP;
                網絡路由:目標地址爲IP網絡;
                默認路由:目標爲任意網絡,0.0.0.0/0.0.0.0

            2.顯示查看:
                (1) route -n:顯示的是IP地址,以數字形式顯示
                    不加-n直接顯示的是主機名,比較消耗時間

wKioL1Z_-SCAjya9AAAlXCc_tw4820.png

            (2) 添加:
                route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

wKiom1Z_-V7TGIctAAAwkFgc0Qs608.png

                 net:網絡路由
                 host:主機路由
                 target  [netmask  Nm]:網絡地址,要添加掩碼使用netmask指定掩碼
                 gw GW:gw-->關鍵字 ,GW-->下一跳地址
                 [[dev] If]:可以不寫,會自動判斷
                  添加默認網關: 
                   route add  default  gw GW  
                  
           (3) 刪除:
                route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

                   

wKiom1Z_-YqiHYj-AAAoPYYZOk4355.png

               刪除默認網關
                route  del  default



        (三)netstat命令:
            Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships
           1. 顯示路由表:netstat  -rn
                -r:顯示內核路由表
                -n:數字格式  
           

wKioL1Z_-gjTlaT6AAAlZ6ajOMo164.png

           2. 顯示網絡連接:
               (1) 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協議的相關連接,連接均有其狀態,FSM(Finate State Machine);有限的狀態機
                    -u:UDP協議相關的連接
                    -w:raw socket相關的連接
                    -l:處於監聽狀態的連接
                    -a:所有狀態
                    -n:以數字格式顯示IP和Port;
                    -e:擴展格式
                    -p:顯示相關的進程及PID;       
             (2) 常用組合:
                    -tan,  -uan,  -tnl,  -unl,  -tunlp

wKioL1Z_-kfzXxo5AAAzU0czejw189.png

         

wKioL1Z_-lSxzpr1AAApaFk3UeE648.png

                    

wKioL1Z_-mOT9lgtAABLKUPsJTA879.png

   wKioL1Z_-nuzMmi4AABUScPlvp4005.png            (3) 傳輸層協議:
                 tcp:面向連接的協議;通信開始之前,要建立一個虛鏈路,通信完成後還要拆除連接;
                 udp:無連接的協議;直接發送數據報文;
                    
            (4) 顯示接口的統計數據:
                netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--verbose|-v] [--program|-p] [--numeric|-n]
                 所有接口:
                    netstat  -i

wKioL1Z_-zmws9UyAAAhesbh4f8286.png

                指定接口:
                    netstat  -I<IFace>
                    IFACE不可省略,而且與I之間不能有空格

wKioL1Z__4SiVzoNAAAflzPrFHo577.png

            (5) 啓動或禁用接口: ifup/ifdown命令
                注意:通過配置文件/etcsysconfig/network-scripts/ifcfg-IFACE來識別接口並完成配置


       (四)配置主機名:
            1.hostname命令:
               (1) 查看:hostname
               (2) 配置:hostname HOSTNAME
                    只對當前系統有效,重啓後無效

            2. hostnamectl(CentOS 7)
                hostnamectl status:顯示當前主機名信息

wKiom1Z__-eA7_0UAAAyWvyHudI093.png

                hostnamectl set-hostname:設定主機名,永久有效
            3. 配置文件:/etc/sysconfig/network        
                HOSTNAME=<HOSTNAME>
                注意:此方法的設置不會立即生效,只有重讀配置文件後會生效,但以後會一直有效

                CentOS 7

                wKiom1aAAIagNvt-AAAPvTWt0Xc597.png

               CentOS 6 

                wKiom1aAAJiyz9aQAAATL5ktN0c763.png          

            4.傳輸層協議:
               tcp:面向連接的協議,通信之前,要建立一個虛電路,通信完成之後還要拆除連接
               udp:無連接的協議,直接發送數據報文



        (五)配置DNS服務器指向:
             1. 配置文件:/etc/resolv.conf
                nameserver DNS_SERVER_IP
                    DNS_SERVER_IP:最多有三個

                wKioL1aAATqTO6CdAAAOqIGivXw924.png

             2.如何測試(host/nslookup/dig):
                    dig -t     A FQDN(主機名)
                        FQDN-->IP
                    dig -x IP :一般不支持反向解析
                        IP-->FQDN



       二、 iproute家族:
            (一)ip命令:
                show / manipulate routing, devices, policy routing and tunnels
                1. ip [ OPTIONS ] OBJECT { COMMAND | help }
                    OBJECT:{ link | addr | route | netns  }
                     注意: OBJECT可簡寫,各OBJECT的子命令也可簡寫;

                2. ip  OBJECT:
                   (1) ip link:network device configuration,網絡設備配置
                       ① ip  link  set - change device attributes:管理設備屬性
                            dev NAME (default):指明要管理的設備,dev關鍵字可省略;
                            up和down:開啓或關閉
                            multicast on或multicast off:啓用或禁用多播功能;

wKioL1aAAnrinbyyAABAHRZKboM680.pngwKiom1aAAmHA7aWjAAA-jlbWlCs253.png
                           





                            name NAME:重命名接口
                               要先停止接口,然後再修改,修改完成以後再重新啓動此接口即可。

wKiom1aAArXTyetyAAA8br9u4Wo220.png

                            mtu NUMBER:設置MTU的大小,默認爲1500;
                            netns PID:ns爲namespace,用於將接口移動到指定的網絡名稱空間;
                      ②ip  link  show  - display device attributes:顯示二層設備相關屬性
                      ③ ip  link  help -  顯示簡要使用幫助;    
                  (2) ip netns:- manage network namespaces.
                      ① ip  netns  list:列出所有的netns
                      ② ip  netns  add  NAME:創建指定的netns
                      ③ ip  netns  del  NAME:刪除指定的netns
                      ④ ip  netns   exec  NAME  COMMAND:在指定的netns中運行命令
                  (3) ip address - protocol address management:
                      ① ip address add - add new protocol address
                          ip  addr  add  IFADDR  dev  IFACE

wKioL1aAAxCwEINFAABZ1eBFhsQ127.png

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

wKiom1aAAw2SeigJAABe5he03D4617.png

wKiom1aAAw7R0E4tAABKZNSUfMI727.png

                          [broadcast ADDRESS]:廣播地址;會根據IP和NETMASK自動計算得到;
                          [scope SCOPE_VALUE]:
                             global:全局可用;
                             link:接口可用;
                             host:僅本機可用;                                                 
                       ② ip address delete - delete protocol address:地址刪除   26
                            ip addr  delete  IFADDR  dev  IFACE      
                       ③ ip address show - look at protocol addresses
                            ip  addr   list  [IFACE]:顯示指定接口的地址;
                       ④ ip address flush - flush protocol addresses:清空所有的
                            ip  addr  flush  dev  IFACE 
                    (4) ip route - routing table management:路由表管理
                       ① ip route add - add new route:添加路由

                           添加默認路由
                            ip  route  add default  via  GW 

wKiom1aAA4-Q_CuoAAAp3JT3oQ0409.png

wKiom1aAA4-zWLKmAAApSqLvDvg277.png

                       ② 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]   
                       ④ ip route delete - delete route:刪除路由
                            ip  route  del  TYPE PRIFIX
                       ⑤ ip route show - list routes:顯示路由
                            TYPE PRIFIX  
                       ⑥ ip route flush - flush routing tables:清空路由表
                            TYPE  PRIFIX
                       ⑦ ip route get - get a single route:獲取某單個條目
                            ip  route  get  TYPE PRIFIX   


  
            (二)ss命令:
               1. ss  [options]  [ FILTER ]
                  (1) options:
                    ① -t:TCP協議的相關連接
                    ② -u:UDP協議的相關連接
                    ③  -w:raw socket相關的連接
                    ④ -l:監聽狀態的連接
                    ⑤ -a:所有狀態的連接
                    ⑥ -n:數字格式
                    ⑦ -p:相關的程序及其PID
                    ⑧ -e:擴展格式信息
                    ⑨ -m:內存用量
                    ⑩ -o:計時器信息

                 (2) FILTER (過濾器):= [ state TCP-STATE ]  [ EXPRESSION ]
                    ① TCP的常見狀態:
                        TCP FSM:
                           LISTEN:監聽
                           ESTABLISEHD:建立的連接
                           FIN_WAIT_1:一方提出斷開連接等待對方迴應
                           FIN_WAIT_2:確認
                           SYN_SENT:
                           SYN_RECV:
                           CLOSED:
                    ② EXPRESSION:
                        dport :目標端口
                        sport :源端口  

wKioL1aABOvwVBs6AAAeJiKO-Qw604.png

   


三、 配置文件:
     (一) IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
                IFACE:接口名稱;
            1. 路由的相關配置文件:/etc/sysconfig/networkj-scripts/route-IFACE        
            2. 配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通過大量參數來定義接口的屬性;其可通過vim等文本編輯器直接修改,也可以使用專用的命令的進行修改(CentOS 6:system-config-network (setup),CentOS 7: nmtui)
            3.  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服務來控制接口配置; 
            4. 網絡服務:
                    network
                    NetworkManager  
            5.管理網絡服務:
                        CentOS 6:  service  SERVICE  {start|stop|restart|status}
                        CentOS 7:systemctl  {start|stop|restart|status}  SERVICE[.service]
            6.配置文件修改之後,如果要生效,需要重啓網絡服務;
                        CentOS 6:# service  network  restart
                        CentOS 7:# systemctl  restart  network.service         
            7. 用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE
                支持兩種配置方式,但不可混用;
                 (1) 每行一個路由條目:
                     TARGET  via  GW 
                 (2) 每三行一個路由條目:
                     ADDRESS#=TARGET
                     NETMASK#=MASK
                     GATEWAY#=NEXTHOP  
            8. 給接口配置多個地址:
                ip addr之外,ifconfig或配置文件都可以;
             (1) ifconfig  IFACE_LABEL  IPADDR/NETMASK
                IFACE_LABEL: eth0:0, eth0:1, ...
             (2) 爲別名添加配置文件;
                DEVICE=IFACE_LABEL
                BOOTPROTO:網卡別名不支持動態獲取地址;
                    static, none   



       (二)nmcli命令:
           1. nmcli  [ OPTIONS ] OBJECT { COMMAND | help }
                device - show and manage network interfaces
                    COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

           2. connection - start, stop, and manage network connections
               COMMAND := { show | up | down | add | edit | modify | delete | reload | load }
               modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

           3.如何修改IP地址等屬性:
              nmcli  conn  modify  IFACE  [+|-]setting.property  value
                 ipv4.address
                 ipv4.gateway
                 ipv4.dns1
                 ipv4.method
                 manual

                      
                
                
                
                
                
                
                
                
                
                
                
                
               

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