你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux网络属性配置详解

[日期:2017-03-20] 来源:Linux社区  作者:xuweitao [字体: ]

一、网络属性概述

    在计算机网络中,某台主机要想接入网络实现通信的话,一般要配置IP地址、子网掩码、网关、DNS服务器地址等属性。其中IP地址是主机在互联网上的逻辑地址,通过IP地址可定位互联网上的某一台主机以实现网络的三层通信;而子网掩码与IP地址按位进行“与”运算得到主机所在网段地址,可快速确定用户主机所在网络(网段)。配置了IP地址和子网掩码,就可以实现本地通信了,此外实现本地通信还需要主机的MAC地址,因为IP地址之间的通信最终要映射到MAC地址才能完成,而MAC地址一般在厂商生产时就提供了,且不可改变。能够实现本地通信之后,如果要跨网络与互联网上的其他主机通信,则需要(默认)网关,通过网关可以将本地主机的数据报文发送出去并将外网的数据包接收返回本地局域网的某台主机。在此基础上,指向DNS服务器地址可实现基于主机名通信,例如,用户要访问网站只要键入主机名(例如:www.baidu.com)即可,而不需要知道互联网上各个服务器的IP地址。

    以下介绍在Linux上配置网络属性以实现将Linux主机接入网络中。

二、网络接口的命名方式:

(1)传统命名:

以太网:ethX,例如:eth0, eth1, ...
PPP网络:pppX,例如:ppp0, ppp1, ...

(2)可预测的命名方案(CentOS 7):

基于Fireware、拓扑结构支持多种不同的命名方案:

①如果Fireware或BIOS为主板上集成的设备提供索引信息可用,则根据此索引进行命名,如:eno1,
 eno2, ...
②如果Fireware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,
如ens1, ens2, ...
③如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...
④如果用户显示定义,也可根据MAC地址命名,例如:enx122161ab212
#上述均不可用时,则仍使用传统方式命名;

命名格式的组成:

en:ethernet
wl:wlan    #无线局域网
ww:wwan    #无线广域网

名称类型:

o<index>    #集成设备的设备索引号;
s<slot>     #扩展槽对的索引号;
x<MAC>          #基于MAC地址的命名;
p<bus>s<slot>   #基于总线及槽的拓扑结构进行命名;

二、网络属性配置

实现网络属性配置的两种方式:

  1. 命令行配置(ifcfg家族,iproute家族,nm家族)

  2. 配置文件

  3. 文本图形化配置

命令行配置:

ifcfg家族相关命令:ifconfig, iproute, netstat

iproute家族相关命令:ip, ss

nm家族相关命令:nmcli, nmtui

这里先介绍ifcfg家族相关命令。

ifconfig命令:

    ifconfig可用于查看和配置网络接口的属性。

ifconfig命令用法:

    ifconfig [-v] [-a] [-s] [interface]

    ifconfig [-v] interface [aftype] options | address ...

常用选项:

    [-]promisc:开启或关闭混杂模式;

示例:

查看当前处于激活状态的网络接口信息:

[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        从flags可知该接口已启用,支持广播、组播,mtu值
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        IPv4地址           子网掩码               广播地址
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        IPv6地址                        掩码长度      作用域,link表示仅该接口有效
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        网卡接口的MAC地址        传输队列长度     接口类型为Ethernet
        RX packets 266  bytes 26083 (25.4 KiB)
        上行表示此接口接收的报文个数,总字节数
        RX errors 0  dropped 0  overruns 0  frame 0
        接收报文错误数,丢弃数,溢出数,冲突的帧数
        TX packets 141  bytes 20086 (19.6 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 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如果要显示所有网卡接口的信息(包括未激活的网卡接口),则可加上-a选项:

[root@localhost ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 318  bytes 30857 (30.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 192  bytes 24612 (24.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
ens38: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:0c:29:c8:ff:58  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        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 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

可以显示指定网卡接口的信息:

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 341  bytes 32973 (32.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 214  bytes 28076 (27.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

给未激活的网卡ens38配置IP地址,配置后即可启用:

[root@localhost ~]# ifconfig ens38 192.168.10.1/24 up
[root@localhost ~]# ifconfig ens38
ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500    #UP表示已启用
        inet 192.168.10.1  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fec8:ff58  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:58  txqueuelen 1000  (Ethernet)
        RX packets 1  bytes 60 (60.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

需要注意的是,上述配置IP地址是以掩码长度进行配置的,也可直接写出掩码配置IP地址:

[root@localhost ~]# ifconfig ens38 192.168.10.1 netmask 255.255.255.0 up

可开启混杂模式:

[root@localhost ~]# ifconfig ens33 promisc
[root@localhost ~]# ifconfig ens33
ens33: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
                                       混杂模式已开启
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 762  bytes 71714 (70.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 538  bytes 65928 (64.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

关闭混杂模式:

[root@localhost ~]# ifconfig ens33 -promisc
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500    #混杂模式已关闭
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 836  bytes 78408 (76.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 593  bytes 72218 (70.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

ifup/ifdown命令:开启/禁用指定接口(适用于CentOS系统)

关闭ens38接口:

[root@localhost ~]# ifdown ens38
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'

开启ens38接口:

[root@localhost ~]# ifup ens38
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
Could not load file '/etc/sysconfig/network-scripts/ifcfg-ens38'
RTNETLINK answers: File exists

注意:ifup/ifdown命令是通过读取接口配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别的。

route命令:

    用于查看和管理路由

路由条目类型:

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

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

    默认路由:目标地址为任意主机/网段;

示例:

查看路由表信息:

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
default         gateway         0.0.0.0         UG    0      0        0 ens33

可以感觉到在键入'route'后卡了一下才显示出来,因为在显示路由条目时route会自动尝试解析路由条目;一般加上-n选项使route不自动解析:

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
0.0.0.0         10.10.10.2      0.0.0.0         UG    0      0        0 ens33
 
#Destination:目标路由;
#Gateway:网关;如果是默认路由的网关则可称为默认网关;其中Gateway为0.0.0.0的路由条目为
无需网关之意,表示该目标路由为本地主机路由,又称直连路由。
#Genmask:子网掩码;
#Flags:路由的标志位;U表示启用状态,G表示默认网关,H表示主机路由;
#Metric:度量值;表示到达该目标路由的开销;
#Iface:使用哪个接口将报文发送出去; 

添加路由条目的语法格式为:

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

示例:

添加到达6.6.6.6/32的主机路由,下一跳为192.168.10.1:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
6.6.6.6         192.168.10.1    255.255.255.255 UGH   0      0        0 ens38 #显示已添加;
10.0.0.0        192.168.10.1    255.0.0.0       UG    0      0        0 ens38
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
0.0.0.0         10.10.10.2      0.0.0.0         UG    0      0        0 ens33 

添加主机到达10.0.0.0/8的网络路由,下一跳为192.168.10.1:

[root@localhost ~]# route add -net 10.0.0.0/8 gw 192.168.10.1
#注意:下一跳(网关)必须与本地网络上某个主机IP地址处在同一网段;接口会自动识别,可不指
定;
 
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        192.168.10.1    255.0.0.0       UG    0      0        0 ens38 #显示已添加;
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
0.0.0.0         10.10.10.2      0.0.0.0         UG    0      0        0 ens33

添加默认网关路由:

方式一:
[root@localhost ~]# route add -net 0.0.0.0/0 gw 10.10.10.2
 
方式二:
[root@localhost ~]# route add default gw 10.10.10.2

删除路由条目的语法格式为:

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

示例:

删除刚添加的路由条目10.0.0.0/8:

[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
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
0.0.0.0         10.10.10.2      0.0.0.0         UG    0      0        0 ens33

删除默认网关:

方式一:
[root@localhost ~]# route del default
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 ens38
#默认路由已删除;
 
方式二:
[root@localhost ~]# route del -net 0.0.0.0/0

netstat命令:

    用于显示网络连接状态、路由表信息、接口的统计数据、伪装连接、多播成员关系等。

常用选项:

    -t:显示tcp协议相关的连接;tcp连接均有其连接状态,而所有连接状态在FSM内进行转换;

    -u:显示udp协议相关的连接,但无状态之说;

    -l:显示处于监听状态的连接;

    -a:显示所有状态的连接;

    -r:显示路由表信息;

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

    -p:显示相关进程和PID;

    -e:以扩展格式显示;

    -w:显示raw socket相关的连接;

    -numeric-hosts:以数字格式显示主机IP地址;

    -numeric-ports:以数字格式显示Port;

传输层协议:

    TCP:面向连接的协议;双方通信开始前要建立虚链路,通信完成后还要拆除连接;

    UDP:面向无连接的协议;直接发送数据报文而无需实现建立虚链路;

示例:

①显示路由表信息:

[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.10.0      0.0.0.0         255.255.255.0   U         0 0          0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens38
0.0.0.0         10.10.10.2      0.0.0.0         UG        0 0          0 ens33

显示结果类似'route -n'.

②显示网络连接状态:

语法格式:   

    netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a]    [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--extend|-e[--extend|-e]] [--program|-p]

示例:

显示所有状态的连接(包括监听和未监听的):

[root@linuxidc ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 *:54569                     *:*                         LISTEN     
tcp        0      0 *:sunrpc                    *:*                         LISTEN     
tcp        0      0 *:ssh                       *:*                         LISTEN     
tcp        0      0 localhost:ipp               *:*                         LISTEN     
tcp        0      0 localhost:smtp              *:*                         LISTEN   
.....(省略).....
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  18     [ ]         DGRAM                    14606  /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     15536  @/var/run/hald/dbus-Rat1Ns9j6z
unix  2      [ ACC ]     STREAM     LISTENING     16112  /var/run/pcscd.comm
unix  2      [ ACC ]     STREAM     LISTENING     14153  @ISCSID_UIP_ABSTRACT_NAMESPACE
.....(省略).....

显示tcp协议相关的所有状态的连接(socket):

[root@linuxidc ~]# netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 *:54569                     *:*                         LISTEN     
tcp        0      0 *:sunrpc                    *:*                         LISTEN     
tcp        0      0 *:ssh                       *:*                         LISTEN     
tcp        0      0 localhost:ipp               *:*                         LISTEN     
tcp        0      0 localhost:smtp              *:*                         LISTEN     
tcp        0     64 10.10.10.139:ssh            10.10.10.1:52401            ESTABLISHED 
tcp        0      0 10.10.10.139:ssh            10.10.10.1:56538            ESTABLISHED 
tcp        0      0 *:sunrpc                    *:*                         LISTEN     
tcp        0      0 *:44980                     *:*                         LISTEN     
tcp        0      0 *:ssh                       *:*                         LISTEN     
tcp        0      0 localhost:ipp               *:*                         LISTEN     
tcp        0      0 localhost:smtp              *:*                         LISTEN

显示tcp协议相关的所有状态的连接(socket):

[root@linuxidc ~]# netstat -ua
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
udp        0      0 *:sunrpc                    *:*                                     
udp        0      0 *:756                       *:*                                     
udp        0      0 *:ipp                       *:*                                     
udp        0      0 *:ldaps                     *:*                                     
udp        0      0 *:36110                     *:*                                     
udp        0      0 localhost:814               *:*                                     
udp        0      0 *:sunrpc                    *:*                                     
udp        0      0 *:756                       *:*                                     
udp        0      0 *:55832                     *:*

以数字格式显示tcp所有状态的连接(socket):

[root@linuxidc ~]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 0.0.0.0:54569               0.0.0.0:*                   LISTEN     
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:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        0     64 10.10.10.139:22             10.10.10.1:52401            ESTABLISHED 
tcp        0      0 10.10.10.139:22             10.10.10.1:56538            ESTABLISHED 
tcp        0      0 :::111                      :::*                        LISTEN     
tcp        0      0 :::44980                    :::*                        LISTEN     
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 ::1:631                     :::*                        LISTEN     
tcp        0      0 ::1:25                      :::*                        LISTEN

以数字格式显示udp所有状态的连接(socket):

[root@linuxidc ~]# netstat -uan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               
udp        0      0 0.0.0.0:756                 0.0.0.0:*                               
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               
udp        0      0 0.0.0.0:636                 0.0.0.0:*                               
udp        0      0 0.0.0.0:36110               0.0.0.0:*                               
udp        0      0 127.0.0.1:814               0.0.0.0:*                               
udp        0      0 :::111                      :::*                                   
udp        0      0 :::756                      :::*                                   
udp        0      0 :::55832                    :::*

显示处于监听状态的tcp连接(socket):

[root@linuxidc ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 0.0.0.0:54569               0.0.0.0:*                   LISTEN     
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:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        0      0 :::111                      :::*                        LISTEN     
tcp        0      0 :::44980                    :::*                        LISTEN     
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 ::1:631                     :::*                        LISTEN     
tcp        0      0 ::1:25                      :::*                        LISTEN

示处于监听状态的udp连接(socket):

[root@linuxidc ~]# netstat -unl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               
udp        0      0 0.0.0.0:756                 0.0.0.0:*                               
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               
udp        0      0 0.0.0.0:636                 0.0.0.0:*                               
udp        0      0 0.0.0.0:36110               0.0.0.0:*                               
udp        0      0 127.0.0.1:814               0.0.0.0:*                               
udp        0      0 :::111                      :::*                                   
udp        0      0 :::756                      :::*                                   
udp        0      0 :::55832                    :::*

显示处于监听状态的tcp/udp连接(socket):

[root@linuxidc ~]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 0.0.0.0:54569               0.0.0.0:*                   LISTEN     
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:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        0      0 :::111                      :::*                        LISTEN     
tcp        0      0 :::44980                    :::*                        LISTEN     
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 ::1:631                     :::*                        LISTEN     
tcp        0      0 ::1:25                      :::*                        LISTEN     
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               
udp        0      0 0.0.0.0:756                 0.0.0.0:*                               
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               
udp        0      0 0.0.0.0:636                 0.0.0.0:*                               
udp        0      0 0.0.0.0:36110               0.0.0.0:*                               
udp        0      0 127.0.0.1:814               0.0.0.0:*                               
udp        0      0 :::111                      :::*                                   
udp        0      0 :::756                      :::*                                   
udp        0      0 :::55832                    :::*

显示处于监听状态的所有连接(scoket),并显示相应的进程及PID号:

[root@linuxidc ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address         Foreign Address      State       PID/Program name   
tcp        0      0 0.0.0.0:54569         0.0.0.0:*            LISTEN      1910/rpc.statd     
tcp        0      0 0.0.0.0:111           0.0.0.0:*            LISTEN      1853/rpcbind       
tcp        0      0 0.0.0.0:22            0.0.0.0:*            LISTEN      2223/sshd           
tcp        0      0 127.0.0.1:631         0.0.0.0:*            LISTEN      1985/cupsd         
tcp        0      0 127.0.0.1:25          0.0.0.0:*            LISTEN      2305/master         
tcp        0      0 :::111                :::*                 LISTEN      1853/rpcbind       
tcp        0      0 :::44980              :::*                 LISTEN      1910/rpc.statd     
tcp        0      0 :::22                 :::*                 LISTEN      2223/sshd           
tcp        0      0 ::1:631               :::*                 LISTEN      1985/cupsd         
tcp        0      0 ::1:25                :::*                 LISTEN      2305/master         
udp        0      0 0.0.0.0:111           0.0.0.0:*                        1853/rpcbind       
udp        0      0 0.0.0.0:756           0.0.0.0:*                        1853/rpcbind       
udp        0      0 0.0.0.0:631           0.0.0.0:*                        1985/cupsd         
udp        0      0 0.0.0.0:636           0.0.0.0:*                        1781/portreserve   
udp        0      0 0.0.0.0:36110         0.0.0.0:*                        1910/rpc.statd     
udp        0      0 127.0.0.1:814         0.0.0.0:*                        1910/rpc.statd     
udp        0      0 :::111                :::*                             1853/rpcbind       
udp        0      0 :::756                :::*                             1853/rpcbind       
udp        0      0 :::55832              :::*                             1910/rpc.statd

③查看接口的统计数据:

语法格式:

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

示例:

显示所有接口的统计数据:

[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     5128      0      0 0          3702      0      0      0 BMRU
ens38     1500      449      0      0 0             8      0      0      0 BMRU
lo       65536        3      0      0 0             3      0      0      0 LRU
 
或者:
[root@localhost ~]# netstat -I

显示指定接口的统计数据:

[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     5155      0      0 0          3720      0      0      0 BMRU

接下来介绍iproute2家族相关命令。因为iproute家族是与Linux内湖密切相关的程序包,因此iproute家族中的很多命令功能都是直接倒置到Linux内核上的,所以iproute家族的命令在执行起来相对效率较高。

ip命令:用于管理/查看路由、接口、策略路由和隧道等。

    ip addr:用于管理IP地址;

    ip link:用于网络接口的配置;

    ip netns:用于管理网络名称空间;

    ip route:用于管理路由表;

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2017-03/141974p2.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款