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

                      
                
                
                
                
                
                
                
                
                
                
                
                
               

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