一、网络属性概述
在计算机网络中,某台主机要想接入网络实现通信的话,一般要配置IP地址、子网掩码、网关、DNS服务器地址等属性。其中IP地址是主机在互联网上的逻辑地址,通过IP地址可定位互联网上的某一台主机以实现网络的三层通信;而子网掩码与IP地址按位进行“与”运算得到主机所在网段地址,可快速确定用户主机所在网络(网段)。配置了IP地址和子网掩码,就可以实现本地通信了,此外实现本地通信还需要主机的MAC地址,因为IP地址之间的通信最终要映射到MAC地址才能完成,而MAC地址一般在厂商生产时就提供了,且不可改变。能够实现本地通信之后,如果要跨网络与互联网上的其他主机通信,则需要(默认)网关,通过网关可以将本地主机的数据报文发送出去并将外网的数据包接收返回本地局域网的某台主机。在此基础上,指向DNS服务器地址可实现基于主机名通信,例如,用户要访问网站只要键入主机名(例如:)即可,而不需要知道互联网上各个服务器的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> #基于总线及槽的拓扑结构进行命名;
二、网络属性配置
实现网络属性配置的两种方式:
命令行配置(ifcfg家族,iproute家族,nm家族)
配置文件
文本图形化配置
命令行配置:
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:用于管理路由表;