简述:在这里有关网络的基本原理不会详述,着重点在相关的命令以及操作上。会主要介绍网络管理的两大命令家族
      ifcfg家族命令,ip家族命令


1.将linux主机装入到网络的要求
   IP/MASK
   路由:默认网关
   DNS服务器:主DNS服务器
             次DNS服务器
             第三DNS服务器
   主机名
   

2.配置方式
      静态指定:
         ifcfg家族:ifconfig,route
         ip有子命令:{link,addr,route},ss,tt
         直接编辑配置文件
         前端图形化工具:system-config-network-tui(或者是用setup命令)
         在CentOS7上传统工具依旧可用,但也会用下列新的命令:nmcli,nmtui
      动态分配:
         DHCP:Dynamic Host Configuration Protocol

      配置网络接口
         接口命令方式:
            CentOS{5,6}
                  以太网:eth[0,1,2...]
                  ppp : ppp[1,2,...]


3.ifconfig命令
     (1)

            ifconfig [interface]
            # ifcoonfig -a
            # ifconfig IFACE [UP|DOWN]

     (2)

     

       ifconfig interface [aftype] options | address
            # ifconfig IFACE IP/MASK
            # ifconfig IFACE IP netmask MASK

   注意:立即生效
     (3)启用混杂模式:如果目标mac未指向自己,但仍然接受此报文进行分析,称为混杂模式
           [-]promisc ("减"表示禁用)
           

4.route命令:路由管理命令
     (1)查看:route -n
     (2)添加:route add

          route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]


              

               目标:192.168.1.3  网关:172.16.0.1 
              # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 
               设置默认路由,网关为172.16.0.1
              # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
              # route add default gw 172.16.0.1

     (3)删除:route del

          route del [-del|-host] target [gw Gw] [netmask Nm] [[dev] If]
               目标:192.168.1.3  网关:172.16.0.1
              # route del -host 192.168.1.3
               目标:192.168.0.0  网关:172.16.0.1
              # route del -net 192.168.0.0 -netmask 255.255.255.0


5.DNS服务器
      配置文件:/etc/resolv.conf
              nameserver DNS_SERVER_IP1
              nameserver DNS_SERVER_IP2
              nameserver DNS_SERVER_IP3
          正解:FQDN —> IP
                # dig -t A FQDN
                   # host -t A FQDN
             反解:IP -> FQDN
                   # dig -x IP
                   # host -t PTR IP    

6.netstat命令
       netstat - Print network connections, routing tables, interface statistics,
                 masquerade connections, and multicast memberships

       显示网络连接:

           netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]
                   -t: tcp协议相关
                   -u: udp协议相关
                   -w: raw socket相关(裸套接字是不经过传输层,由应用层直接调用ip实现数据传输)
                   -l: 处于监听状态
                   -a: 所有状态
                   -n: 以数字显示IP和端口;
                   -e:扩展格式
                   -p: 显示相关进程及PID                       
           常用组合:-tan, -uan, -tnl, -unl

       
       显示路由表:

              netstat  {--route|-r} [--numeric|-n]
                   -r: 显示内核路由表
                   -n: 数字格式

       显示接口统计数据:

               netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] 
                   # netstat -i
                   # netstat -I IFACE

 


7.ip命令
       ip - show / manipulate routing, devices, policy routing and tunnels

        ip [ OPTIONS ] OBJECT { COMMAND | help }
            OBJECT := { link | addr | route }

        (1)link OBJECT:
              1)ip link - network device configuration

                    set dev IFACE
                       可设置属性:
                        up and down:激活或禁用指定接口;
                    show
                        [dev IFACE]:指定接口
                        [up]:仅显示处于激活状态的接口

              2)ip address - protocol address management

         
                     ip addr { add | del } IFADDR dev STRING
                        [label LABEL]:添加地址时指明网卡别名
                        [scope {global|link|host}]:指明作用域
                            global: 全局可用;
                            link: 仅链接可用;
                            host: 本机可用;
                        [broadcast ADDRESS]:指明广播地址
                    ip address show - look at protocol addresses
                        [dev DEVICE]
                        [label PATTERN]
                        [primary and secondary]
                    ip address flush - flush protocol addresses
                        使用格式同show

 
              3)ip route - routing table management

                    ip route add
                        添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
                            TARGET:
                                主机路由:IP
                                网络路由:NETWORK/MASK
                        添加网关:ip route add defalt via GW dev IFACE
                    ip route delete
                        删除路由:ip route del TARGET

     

                   ip route show
                    ip route flush
                        [dev IFACE]
                        [via PREFIX]

8.ss命令:
      格式:ss [OPTION]... [FILTER]
          选项:
            -t: tcp协议相关
            -u: udp协议相关
            -w: 裸套接字相关
            -x:unix sock相关
            -l: listen状态的连接
            -a: 所有
            -n: 数字格式
            -p: 相关的程序及PID
            -e: 扩展的信息
            -m:内存用量
            -o:计时器信息
          FILTER := [ state TCP-STATE ] [ EXPRESSION ]   
   
          EXPRESSION:
            dport =
            sport =
                示例:’( dport = :ssh or sport = :ssh )’
 
          TCP的常见状态:    tcp finite state machine:
            LISTEN: 监听
            ESTABLISHED:已建立的连接
            FIN_WAIT_1
            FIN_WAIT_2
            SYN_SENT
            SYN_RECV
            CLOSED       


9.Linux网络属性配置: 修改配置文件
        IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
        路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

      (1)/etc/sysconfig/network-scripts/ifcfg-IFACE:
            DEVICE:此配置文件应用到的设备;
            HWADDR:对应的设备的MAC地址;
            BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;
            NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;
            ONBOOT:在系统引导时是否激活此设备;
            TYPE:接口类型;常见有的Ethernet, Bridge;
            UUID:设备的惟一标识;

            IPADDR:指明IP地址;
            NETMASK:子网掩码;
            GATEWAY: 默认网关;
            DNS1:第一个DNS服务器指向;
            DNS2:第二个DNS服务器指向;

            USERCTL:普通用户是否可控制此设备;
            PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;

      (2)/etc/sysconfig/network-scripts/route-IFACE
            两种风格:
                (1) TARGET via GW
                (2) 每三行定义一条路由
                    ADDRESS#=TARGET
                    NETMASK#=mask
                    GATEWAY#=GW  

10.给网卡配置多地址:
           ifconfig:
                ifconfig IFACE_ALIAS
           ip
                ip addr add
           配置文件:
                ifcfg-IFACE_ALIAS
                DEVICE=IFACE_ALIAS

            注意:网关别名不能使用dhcp协议引导,因为dhcp引导式时根据的是MAC地址


11.配置当前主机的主机名:
        # hostname [HOSTNAME]
        配置文件 /etc/sysconfig/network
          HOSTNAME=


12.网络接口识别并命名相关的udev配置文件:
        /etc/udev/rules.d/70-persistent-net.rules

        卸载网卡驱动:
            modprobe -r e1000

        装载网卡驱动:
            modprobe e1000