码迷,mamicode.com
首页 > 系统相关 > 详细

学习笔记之Linux网络及其配置

时间:2015-12-27 16:26:16      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:ip协议   ip地址   linux   网络   信息   

概述

   网络是可以实现信息传输、接收、共享的虚拟平台,通过它可以把各个点、面、体的信息联系到一起,从而实现这些资源的共享。信息的传输需要通过TCP/IP协议来完成,IP地址是由网络号+主机号来标识的,主要分为五个类别:

A类:第一段为网络号:后三段为主机号;

          网络号:   0 000 0000-0 111 1111 1-127

每个网络中的主机数量:2^24-2(0与全1)0网络地址1广播地址

         默认子网掩码:255.0.0.0

         用于与IP地址按位进行“与”运算,从而取出其网络地址

           私网地址:10.0.0.0/255.0.0.0

B类:前两段为网络号,后两段为主机号

           网络号:  10 00 0000 - 10 11 1111128-191

         每个网络中的主机数量:2^16-2

           默认子网掩码:255.255.0.0

           私网地址:172.16.0.0-172.31.0.0

C类:前三段为网络号,最后一段为主机号

         网络号: 110 0 0000-110 1 1111 192-223

         网络数:2^21

         每个网络中的主机数量:2^8-2

            默认网掩码255.255.255.0

         私网地址:192.168.0.0-192.168.255.255

 D:组播   11100000-1110 1111:224-239

 E:保留   11110000-1111 1111:240-255

 

Linux系统是一个多用户,多任务的系统,每个任务对应一个进程,系统执行多任务时就会启动多进程;所以计算机间的通信主要是进程之间的通信,进程是由数字来进行标识(1-65535),进程分为以下三类:

1-1023:固定分配,而且只有管理员有权限启动;

            1024-4W: 半固定,

             4W+: 临时;

网络的工作范围:

      MAC: 本地通信;范围:本地局域网;

      IP:界定通信主机,源和目标;范围:互联网;

      Port: 界定进程,范围:单台主机;

Linux主机接入网络中需要配置:IPNETMASKGATEWAYDNS等接口的地址;

配置方式主要分为静态分配、动态分配;


静态分配

    命令包括

1、Ifcfg

  Ifconfig:配置IP,NETMASK

  Route: 路由

  Netstat: 状态及统计数据查看工具;

        2、iproute3

         addr: 地址和掩码配置;

         link: 网络接口本身;

         route: 路由;

         ss: 状态及统计数据查看工具;

   3CentOS 7:nm(Network Manager)家族:

        nmcli: 命令行工具

        nmtui: 文本窗口工具;text window工具;

   4、配置文件:适用于 RedHat及相关发行版

        /etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME


 动态分配:依赖于本地网络中有DHCP服务器,DHCP通过广播的方式为加入的主机按租期进行动态分发地址;


网络接口命名方式:

       传统命名:

           以太网:exhX,[0-oo],例如ech0,eth1...

           ppp网络:pppX,[0,...],例如,ppp0,ppp1...

       可预测命名方案(CentOS 7)

           支持多种不同的命名机制:

               Fireware,拓扑结构

 

    注:(1) 如果FirmwareBIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1,eno2,...

    (2) 如果FirewareBIOSPCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1,ens2,...

    (3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2so,...

    (4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2w10,...

    上述均不可用,则仍使用传统方式命名;

 

      命名格式的组成:

        en: ethernet

        wl: wlan

        ww: wwan

 

      名称的类型:

        o<index>: 集成设备的设备索引号;

        s<slot>: 扩展槽的索引号;

        x<MAC>: 基于MAC地址的命名;

        p<bus>s<slot>: 基于总线及槽的拓扑结构进行命名;

 

  Linux网络命令的使用:

    1、ifcfg


        ifconfig [INTERFACE]

         # ifconfig -a:显示所有接口,包括inactive状态的接口;

 

         ifconfig interface [aftype] options |address...

         # ifconfigIFACE IP/MASK [up|down]

         # ifconfigIFACE IP netmask NETMASK

         例:ifconfig eth0192.168.10.100/24 up

            ifconfig eth0 192.168.10.101 netmask255.255.255.0

 

       options:

         [-]promisc: 启用或禁用混杂模式

         例:ifconfig eth0 promisc 表示启用混杂模式

            ifconfig eth0 –promisc 表示禁用混杂模式


       route命令:

        路由条目类型:

           主机路由:目标地址为单个IP

           网络路由:目标地址为IP网络;

           默认路由:目标为任意主机,0.0.0.0/0.0.0.0

  查看:

           # route -n

        添加:

           route add [-net|-host] target [netmask Nm][gwGW][[dev]if]

           例:route add -net10.0.0.0/8 gw 192.168.10.1 dev eth0

              route add -net0.0.0.0/0.0.0.0 gw 192.168.10.1     

        删除:

           route del [-net|-host] target [netmask Nm][gwGW][[deev]if]         

           例:route del -net10.0.0.0/8

             route del -net 10.0.0.0/8 gw 192.168.10.1


       netstat命令:

          显示路由表:

            -r: 显示内核路由表;

            -n: 显示数字格式;

    显示网络连接:

          netstat[--tcp|-t][--udp|-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:以数字格式显示IPport

            -e: 扩展格式

            -p:显示相关的进程及PID

    注:传输层协议:

        tcp: 面向连接的协议:通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;

        udp: 无连接的协议:直接发送数据报文,无需建立虚链路;


显示接口的统计数据:

         netstat  {--interfaces|-I|-i} [--all|-a] [--extend|-e][--verbose|-v] [--program|-p][--numeric|-n]

 

       显示所有接口:

          netstat -i

       指定接口:

          netstat-I<IFace>

         例:netstat -Ieth0

 

       ifup/ifdown命令:

        注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

        例:ifup eth0

       

        配置主机名:

          hostname命令:

              查看:hostname

              配置:hostname HOSTNAME

                当前系统有效,重启后无效;

          CentOS 7:

               hostnamectl命令

               hostnamectl status显示当前主机名信息;

               hostnamectl set-hostname: 设定主机名,永久有效;


          配置文件:/etc/sysconfig/network

               HOSTNAME=<HOSTNAME>


          注意:此方法的设置不会立即生效;但以后会一直有效;

         

         配置DNS服务器指向:

             配置文件:/etc/resolv.conf

             nameserver DNS_SERVER_IP(最多可以有三个)

      

      2、iproute  

         

         ip [ OPTIONS ] OBJECT { COMMAND | help }           

            ip link: 网络设备配置

              ip link set:改变网络设备属性;

              dev NAME (default): 指明要管理的设备,dev关键字可省略;

              up and down;

              例:ip link set eth0 down

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

              例:ip link set multicast on

              name NAME: 重命名;

              例:ip link set eth0 down

                ip link set eth0 name eno666

              mtu NUMBER: 设置MTU的大小,默认为1500;

              netns PID: ns为namespace,用于将接口移动到指定的网络名称空间;

              例:ip netns help   只支持CentOS 7   

            删除:

              ip netns del mynet

              ip link show:显示网络设备属性;

              例:ip link show/ ip link list              

            ip netns:

              ip netns list: 列出所有netns

              ip netns add NAME: 创建指定的netns

              ip netns del NAME: 删除指定的netns

              ip netns exec NAME COMMAND: 在指定的netns中运行命令

            ip address:

              ip address add:

              ip addr add IFADDR dev IFACE

              例:ip addr add 192.168.10.100/24 dev eth0   

            [label NAME]: 为额外添加的地址指明接口别名;

              例:ip addr add 10.1.1.10/8 dev eth0 label eth0:0

            [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

            [scope SCOPE_VALUE]:

               global: 全局可用;

               link: 接口可用;

               host: 仅本机可用;                     

            ip address del:

               ip addr delete IFADDR dev IFACE

               例:ip addr del 10.0.10.100/8 dev eth0

            ip address show:

               ip addr list[IFACE]: 仅显示指定接口的地址;

            ip address flush:

               ip addr flush dev IFACE

               例:ip addr flush dev eth0

            ip route 

               ip route add 

               ip route change

               ip route replace

               ip route add TYPE FREFIX via GW [dev IFACE] [src SOURCE_IP]

               例:ip route list 

                  ip route add 19.168.0.0/24 via 10.0.0.1 dev eth0 src 10.0.20.100

                  ip route add default via 172.16.0.1 dev eth0

                  ip route add default via GW

            ip route delete

                  ip route del TYPE PREFIX

                  例:ip route delete 192.168.1.0/24

            ip route show

                  例:ip route show src 172.16.100.6

            ip route flush

                  例:ip route flush 10/8

            ip route get

                  ip route get TYPE PREFIX

                  例:ip route get 192.168.0.0/24


    ss命令:

       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=

                  例:‘(dport = :22 or sport = :22)‘

                     ss -tan ‘( dport = :22 or sport = :22 )‘

                     ss -tan state ESTABLISHED

     

     

   配置文件:

      IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

         IFACE: 接口名称;

      路由的相关配置文件:/etc/sysconfig/network-scripts/route-IFACE


   注:配置文件修改之后,如果要生效,需要重启网络服务;

  

  

   给接口配置多个地址:

       ip addr之外,ifconfig或配置文件都可以;

       (1) ifconfig IFACE_LABEL IPADDR/NETMASK

          IFACE_LABEL: eth0:0,eth0:1,...

           例:ifconfig eno33554984:0 192.168.20.100/24


       (2) 为别名添加配置文件;

            DEVICE=IFACE_LABEL

            BOOTPROTO: 网卡别名不支持动态获取地址;可使用:static, none标识;




学习笔记之Linux网络及其配置

标签:ip协议   ip地址   linux   网络   信息   

原文地址:http://519137.blog.51cto.com/509137/1728743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!