zoukankan      html  css  js  c++  java
  • Linux学习45 Linux网络相关属性配置管理和应用

    一、回顾

      1、计算机网络基础,Linux网络属性配置

        a、TCP/IP协议栈:物理层,互联网层,传输层,应用层

          互联网层:IP

          传输层:TCP,UDP

          应用层:http,https,ftp,ldap,...

        b、链接路层:以太网帧

        c、互联网层:IP报文

        d、以太网帧:最大传输单元是MTU,是1500个字节,因为我们以太网帧自己守护还要占据一些内容,比如源mac,目标mac等,因此留给IP报文的只有一千四百多个字节了。这就意味着我们每一个文件就要拆分成大小为一千多个字节的一个又一个报文来分别传送的。

      2、Linux网络属性配置:命令,配置文件

    二、Linux网络属性配置(2)

      1、ifcfg命令家族:ifconfig,route,netstat

      2、ifconfig命令:接口及地址查看和管理

        a、ifconfig [INTERFACE]

          查看具体某个网卡信息

    [root@localhost ~]# ifconfig ens33

          ifconfig -a:显示所有接口,包括非激活状态的

    [root@localhost ~]# ifconfig -a

          查看激活的网卡信息

    [root@localhost ~]# ifconfig 
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.10.41  netmask 255.255.255.0  broadcast 192.168.10.255
            inet6 fe80::2af8:1ecb:eb2c:861f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:76:9f:f6  txqueuelen 1000  (Ethernet)
            RX packets 65  bytes 6650 (6.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 65  bytes 8258 (8.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 42  bytes 4554 (4.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 42  bytes 4554 (4.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0    

            flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500:此段表示网卡处于UP状态,也就是激活状态。BROADCAST表示支持广播功能,MULTICAST表示支持组播或多播功能。RUNNING表示处于运行中。mtu 1500表示网卡最大的传输单元不超过1500个字节。

            inet 192.168.10.41  netmask 255.255.255.0  broadcast 192.168.10.255:此段表示网卡的IP地址,子网掩码,以及广播地址为192.168.10.255

            inet6 fe80::2af8:1ecb:eb2c:861f  prefixlen 64  scopeid 0x20<link>:此段表示IPV6及其相关信息

             ether 00:0c:29:76:9f:f6  txqueuelen 1000  (Ethernet):此段表示网卡的mac地址为00:0c:29:76:9f:f6,txqueuelen表示传输队列长度为1000

            RX packets 150 bytes 13566 (13.2 KiB):此段 RX packets表示网卡激活以后所接收到的报文的数量为150个,这些报文加起来总大小字节为13566,换算到K为单位为13.2KiB

            RX errors 0  dropped 0  overruns 0  frame 0:此段表示接收时的错误(errors)个数为0个,丢包(dropped)数量为0个,溢出(overruns)为0个,帧为0个 

            TX packets 128 bytes 15084 (14.7 KiB):TX表示传出去的数据报文为128个,总计15084字节,大小为14.7KiB

            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0:此处表示传出去的错误个数为0个,丢包数量为0个,搬运个数为0,冲突(collisions )的个数为0

        b、ifconfig命令用法二

          ifconfig  interface [aftype] options | address ... 

          (1)、注意此种命令方式修改的配置信息会立即送往内核中的TCP/IP协议栈中并立即生效

          (2)、ifconfig IFACE IP/MASK [up]

    [root@localhost ~]# ifconfig ens37 192.168.10.51/24 up

          (3)、ifconfig IFACE IP NETMASK

    [root@localhost ~]# ifconfig ens37 192.168.10.61 netmask 255.255.255.0

          (4)、options

            [-] promisc:启用或关闭混杂模式功能,其它功能启用和关闭方式也一样

    [root@localhost ~]# ifconfig ens37 promisc
    [root@localhost ~]# ifconfig ens37 
    ens37: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
            inet 192.168.10.61  netmask 255.255.255.0  broadcast 192.168.10.255
            ether 00:0c:29:76:9f:00  txqueuelen 1000  (Ethernet)
            RX packets 345  bytes 28427 (27.7 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 256  bytes 56574 (55.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@localhost ~]# ifconfig ens37 -promisc
    [root@localhost ~]# ifconfig ens37 
    ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.10.61  netmask 255.255.255.0  broadcast 192.168.10.255
            ether 00:0c:29:76:9f:00  txqueuelen 1000  (Ethernet)
            RX packets 369  bytes 30511 (29.7 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 273  bytes 58874 (57.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

          (5)、管理IPV6地址

            增加IPV6地址:ifconfig  INTERFACE  add addr/prefixlen(地址/掩码)

            删除IPV6地址:ifconfig  INTERFACE  del addr/prefixlen

       3、route命令:路由查看及管理

        a、路由条目类型

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

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

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

        b、如果加 -n参数会在相应的路由表中将对应的主机名解析为IP地址,如果不加-n参数则不会解析

        c、查看

          route -n :以数字格式来显示路由信息而不要反解地址和端口号

    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens37
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33

          Destination:表示target,即目标网络

          Genmask:表示掩码地址,即目标网络的掩码地址

          Gateway:表示下一跳网关地址,0.0.0.0表示这是本地主机的网络地址,意思是我自己的主机就在网络上,因此不需要任何网关,即无需网关,也叫直连路由

          Flags:表示路由条目的标志,U表示UP,表示启用状态,G表示Gateway,表示网关。网关不一定是默认网关,我们任何一个路由条目只要带有效下一跳地址的都可以认为是一个网关。只有目标网络是0.0.0.0的网关才叫默认网关。

          Metric:表示度量值,表示到达这个网络我们中间要经过的开销

          Iface:表示经过本地的哪一个接口

        d、添加路由条目

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

          (1)、网络路由:添加一个路由条目

    [root@localhost ~]# route add -net 10.0.0.0/8 gw 192.168.10.2 dev ens33
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    10.0.0.0        192.168.10.2    255.0.0.0       UG    0      0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens37
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33

            上述命令也可写作

    [root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.10.2 dev ens33

            表示的意思是,添加一个路由,想到达10.0.0.0掩码为8位的网络,要经过192.168.10.2这一个下一跳地址并且从网卡ens33出去。(默认可不指网卡,系统会自己判断,但是最好还是指定的好)

          (2)、默认路由:添加一个默认路由

    [root@localhost ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.10.2 dev ens33

            上述命令也可写作

    [root@localhost ~]# route add default  gw 192.168.10.2 dev ens33

            上述命令还可以写作

    [root@localhost ~]# route add -net 0.0.0.0/0 gw 192.168.10.2

          (3)、主机路由:添加一个主机路由:通往主机192.168.20.61地址的数据包下一跳跳到192.168.10.2并且要经过网卡ens33

    [root@localhost ~]# route add -host 192.168.20.61  gw 192.168.10.2 dev ens33
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33

        e、删除路由

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

           (1)、删除刚刚的网络路由条目

    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    10.0.0.0        192.168.10.2    255.0.0.0       UG    0      0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33
    [root@localhost ~]# route del -net 10.0.0.0/8 
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33

            上述命令中可以默认不写相应的网关,因此命令还可写作

    [root@localhost ~]# route del -net 10.0.0.0/8 gw 192.168.10.2

          (2)、现在我们来删除默认路由

    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    100    0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33
    [root@localhost ~]# route del -net 0.0.0.0
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33

            上述命令还可以写作

    [root@localhost ~]# route del default

          (3)、现在我们来删除主机路由

    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    0      0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.20.61   192.168.10.2    255.255.255.255 UGH   0      0        0 ens33
    [root@localhost ~]# route del -host 192.168.20.61
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    0      0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33

      4、netstat命令

        a、netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships(netstat 用于网络连接,路由表,接口统计数据,伪装连接,和多播成员关系)

        b、显示路由表信息:

          netstat -rn。和route -n相似

          -r:显示内核路由表

          -n:数字格式

    [root@localhost ~]# netstat -rn
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG        0 0          0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens33
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.2    0.0.0.0         UG    0      0        0 ens33
    192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33

        c、显示网络连接

          (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),即有限的状态机。

    [root@localhost ~]# netstat -t
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 localhost.localdoma:ssh 192.168.10.1:50435      ESTABLISHED
    tcp        0     52 localhost.localdoma:ssh 192.168.10.1:50204      ESTABLISHED

            -u:UDP协议相关的连接

    [root@localhost ~]# netstat -nu
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State

            -w:raw socket,裸套接字相关的连接

            -l:处于监听状态的连接。即等待别人访问的,不加l表示已经建立的正在进行通信的处于某个状态的连接

    [root@localhost ~]# netstat -nul
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    udp        0      0 0.0.0.0:855             0.0.0.0:*                          
    udp        0      0 0.0.0.0:111             0.0.0.0:*                          
    udp        0      0 0.0.0.0:55485           0.0.0.0:*                          
    udp6       0      0 :::855                  :::*                               
    udp6       0      0 :::111                  :::*  
    [root@localhost ~]# netstat -ntl
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
    tcp6       0      0 :::111                  :::*                    LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 ::1:25                  :::*                    LISTEN     

            -a:所有状态,即当前处于连接和监听的所有状态的连接

    [root@localhost ~]# netstat -nat
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
    tcp        0      0 192.168.10.41:22        192.168.10.1:50435      ESTABLISHED
    tcp        0     52 192.168.10.41:22        192.168.10.1:50204      ESTABLISHED
    tcp6       0      0 :::111                  :::*                    LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 ::1:25                  :::*                    LISTEN    
    [root@localhost ~]# netstat -nau
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    udp        0      0 0.0.0.0:855             0.0.0.0:*                          
    udp        0      0 0.0.0.0:68              0.0.0.0:*                          
    udp        0      0 0.0.0.0:111             0.0.0.0:*                          
    udp        0      0 0.0.0.0:55485           0.0.0.0:*                          
    udp6       0      0 :::855                  :::*                               
    udp6       0      0 :::111                  :::*     

            -n:以数字格式显示IP和Port

    [root@localhost ~]# netstat -nt
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 192.168.10.41:22        192.168.10.1:50435      ESTABLISHED
    tcp        0     52 192.168.10.41:22        192.168.10.1:50204      ESTABLISHED

              显示结果中:

                Proto:表示协议

                Recv-Q:接收队列长度

                Send-Q:发送队列长度

                Local Address:本机地址

                Foreign Address:远程地址

                State:连接状态

            -e:扩展格式

    [root@localhost ~]# netstat -tne
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode     
    tcp        0      0 192.168.10.41:22        192.168.10.1:50435      ESTABLISHED 0          22282     
    tcp        0     52 192.168.10.41:22        192.168.10.1:50204      ESTABLISHED 0          20548 
    [root@localhost ~]# netstat -unea
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode     
    udp        0      0 0.0.0.0:855             0.0.0.0:*                           0          16288     
    udp        0      0 0.0.0.0:111             0.0.0.0:*                           0          16287     
    udp        0      0 0.0.0.0:55485           0.0.0.0:*                           89         21256     
    udp6       0      0 :::855                  :::*                                0          16291     
    udp6       0      0 :::111                  :::*                                0          16290

              Inode:Linux一切皆文件,因此网络连接也是通过文件来实现的,只不过这叫套接字文件,每建立一个连接都要打开一个套接字,为了保存这个套接字的状态就需要套接字文件来实现,Inode就表示这个对应的套接字文件的Inode号

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

    [root@localhost ~]# netstat -anpt
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      685/rpcbind         
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      975/sshd            
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1056/master         
    tcp        0      0 192.168.10.41:22        192.168.10.1:50435      ESTABLISHED 1341/sshd: root@pts 
    tcp        0     52 192.168.10.41:22        192.168.10.1:50204      ESTABLISHED 1106/sshd: root@pts 
    tcp6       0      0 :::111                  :::*                    LISTEN      685/rpcbind         
    tcp6       0      0 :::22                   :::*                    LISTEN      975/sshd            
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1056/master 

          (2)、常用组合

            -tan,-uan,-tnl,-unl,-tunlp

          (3)、传输层协议

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

            udp:无连接的协议;直接发送数据报文;

         d、显示接口的统计数据

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

          (1)、显示所有接口

    [root@localhost ~]# netstat -i
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    ens33     1500     3472      0      0 0          2205      0      0      0 BMRU
    ens37     1500       22      0      0 0           967      0      0      0 BMRU
    lo       65536      376      0      0 0           376      0      0      0 LRU

          (2)、显示指定接口

    [root@localhost ~]# netstat -Iens33 #注意-I参数后没有空格
    Kernel Interface table
    Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    ens33     1500     3505      0      0 0          2227      0      0      0 BMRU

      5、另外两个操作网卡的命令。注意,这两个命令通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置。

        a、ifup  ens33

        b、ifdown  ens33

      6、配置主机名

        a、hostname命令

          查看:hostname

          CentOS6配置:hostname HOSTNAME  #只是立即生效但是不会永久生效,如果重启了操作系统就无效了

        b、CentOS7中hostnamectl命令

          (1)、查看当前主机信息

            hostnamectl status

    [root@localhost ~]# hostnamectl status 
       Static hostname: localhost.localdomain
             Icon name: computer-vm
               Chassis: vm
            Machine ID: a110a6f3f3cf42f4a2355116c5210886
               Boot ID: e8b34ae30ec643af83e5592d397624e3
        Virtualization: vmware
      Operating System: CentOS Linux 7 (Core)
           CPE OS Name: cpe:/o:centos:centos:7
                Kernel: Linux 3.10.0-862.el7.x86_64
          Architecture: x86-64

          (2)、设定主机名,设定完以后会永久有效

    [root@wohaoshuai1 ~]# hostnamectl set-hostname wohaoshuai1

        c、配置文件配置主机名

          CentOS6:我们也可以编辑配置文件/etc/sysconfig/network设定主机名,但是改了配置文件后不会立即生效,我们需要重启系统或者重读此文件才能有效。

    [root@wohaoshuai1 ~]# cat /etc/sysconfig/network
    # Created by anaconda
    HOSTNAME=www.wohaoshuai.com

          CentOS7:CentOS7的主机名配置文件是/etc/hostname,我们编辑此文件写上我们的主机名即可,不过也需要重启系统才会生效,不过我们也可以使用hostnamectl命令修改主机名并且永久生效

    [root@wohaoshuai1 ~]# cat /etc/hostname 
    wohaoshuai1

      7、配置DNS服务器指向

        a、一般通过编辑配置文件:  /etc/resolv.conf 实现

          nameserver DNS_SERVER_IP,最多只能有三个

    [root@wohaoshuai1 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 114.114.114.114

        b、如何测试(host/nslookup/dig):

          (1)、主机完成主机名或DNS解析时会先找本地的 /etc/hosts文件,如果找不到就会再去找/etc/resolv.conf文件找dns服务器

    [root@wohaoshuai1 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.10.61 www.wohaoshuai.com  www  wohaoshuai

          可以看到我们的主机192.168.10.61有三个别名分别为www.wohaoshuai.com  www和wohaoshuai

          (2)、测试dns服务器是否生效,使用dig命令进行测试,此命令不会检查/etc/hosts文件

            1)、dig -t A FQDN  #测试,将主机名转换成IP

    [root@wohaoshuai1 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.10.61 www.wohaoshuai.com
    [root@wohaoshuai1 ~]# dig -t A www.wohaoshuai.com
    
    ; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t A www.wohaoshuai.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27115
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.wohaoshuai.com.        IN    A
    
    ;; ANSWER SECTION:
    www.wohaoshuai.com.    254    IN    A    47.91.169.15
    
    ;; Query time: 8 msec
    ;; SERVER: 114.114.114.114#53(114.114.114.114)
    ;; WHEN: Mon Mar 02 03:48:47 CST 2020
    ;; MSG SIZE  rcvd: 63

            2)、dig  -x  47.91.169.15 #把IP转换成主机名,但是大多数服务器都不支持将IP转换成主机名

      8、iproute2家族

        a、ip命令:show / manipulate routing, devices, policy routing and tunnels(查看及管理路由,设备,策略路由以及隧道等相关功能)。

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

            OBJECT := { link | address | route | netns }

          注意:OBJECT可简写,各OBJECT的子命令也可简写

          (1)、ip link:用来完成网络设备配置

            1)、ip link set :管理设备属性

              禁用或启用某块网卡: ip link set [dev] ens37 up/down #其中dev关键字可省略

    [root@wohaoshuai1 ~]# ip link sh
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff
    [root@wohaoshuai1 ~]# ip link set ens37 down
    [root@wohaoshuai1 ~]# ip link sh
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

              启用或禁用多播功能:ip link set ens37  multicast on/off

    [root@wohaoshuai1 ~]# ip li sh
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff
    [root@wohaoshuai1 ~]# ip link set dev ens37 multicast off
    [root@wohaoshuai1 ~]# ip li sh
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

              重命名网络接口:ip link set ens37 name ens377(需要先将接口down掉)

    [root@wohaoshuai1 ~]# ip li sh
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff
    [root@wohaoshuai1 ~]# ip link set dev ens37 name ens377
    [root@wohaoshuai1 ~]# ip link show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens377: <BROADCAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

              设置MTU的大小,默认为1500:ip link set ens377 mtu 1200

              netns PID:将接口移动到指定的网络名称空间,ns为namespace。(具体见(2)中的实验)

            2)、ip link show :显示二层设备相关属性(还可以写作 ip link list,还可简写为ip li sh)

    [root@wohaoshuai1 ~]# ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

              字段分别为:

                flages

                qdisc:队列

                pfifo_fast:队列类型,先进先出类型

                state UP:

                qlen:支持的队列长度

                link/ether:mac地址

                brd:mac地址的广播地址

           (2)、ip netns (可通过ip netns help显示简要使用帮助)

            ip netns list #列出网络名称空间

            ip netns add NAME #添加一个网络名称空间

            ip netns del NAME #删除一个网络名称空间

            ip netns exec NAME COMMAND #进入相应的网络名称空间中执行命令

             1)、首先我们添加一个网络名称空间mynet

    [root@wohaoshuai1 ~]# ip netns add mynet

            2)、然后我们将我们的网卡ens377挪到该网络名称空间中去,此时我们通过ip link show命令就查看不到这个网卡信息了

    [root@wohaoshuai1 ~]# ip link show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens377: <BROADCAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff
    [root@wohaoshuai1 ~]# ip link set ens377 netns mynet
    [root@wohaoshuai1 ~]# ip link show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff

            3)、此时我们的网卡ens377已经被挪到我们的mynet网络名称空间中去了,如果我们要查看到这个网卡信息我们需要像虚拟机一样登陆至我们的mynet网络名称空间查看

    [root@wohaoshuai1 ~]# ip netns exec mynet ip link show
    1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    3: ens377: <BROADCAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

            4)、然后我们现在删除我们的网络名称空间mynet,删除过后我们又可以看到我们的网卡ens377的信息了

    [root@wohaoshuai1 ~]# ip netns del mynet
    [root@wohaoshuai1 ~]# ip link show 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:f6 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:76:9f:00 brd ff:ff:ff:ff:ff:ff

    ...

              

        

      

  • 相关阅读:
    js记录
    快速最好响应式布局(CSS3)
    CSS3终极动画制作属性animation
    虚拟机中试用windows 8(视频)
    平板电脑上完美体验Windows 8 (视频)
    面对电磁泄漏您的电脑还安全吗?--计算机设备信息泄漏揭秘
    基于Linux平台Softimage XSI 演示
    为您的Office文档加把锁-ADRMS的安装
    VNC Server模拟攻击实战
    暴力破解FTP服务器技术探讨与防范措施
  • 原文地址:https://www.cnblogs.com/Presley-lpc/p/12385377.html
Copyright © 2011-2022 走看看