centos netstat,centos官网
今天给各位分享centos netstat的知识,其中也会对centos官网进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
CentOS下如何查看网络状态CentOS下查看网络状态的方法
查看网络状态:
lsof-Pnl+M-i4显示ipv4服务及监听端情况
netstat-anp所有监听端口及对应的进程
netstat-tlnp功能同上
网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:
[root@linux~]#/etc/init.d/networkrestart
同样也可以用service这个命令来操作网络服务例如:
[root@linux~]#service network restart
start启动
stop停止
restart再启动
reload和再启动一样(..)
status状态表示
如果服务器软件采用rpm的方式安装,以上的内容大多数都对应。
(2)network管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:
[root@linux~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804(34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560(560.0 b) TX bytes:560(560.0b)
[root@linux~]#
看看ifconfig的输出内容
1. Link encap
2. HWaddr MAC地址
3.inet addr IP地址(IPV4)
4. Bcast广播地址
5. Mask衍码
6. inet6 addr IP地址(IPV6)
7. UP启动中
8. BROADCAST广播地址有效
9. RUNNING动作
10. MTU网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric
12. RX packets受信包数
13. TX packets送信包数
14. collisions
15. interrupt IRQ号码
16. Baseaddress I/O地址
通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:
[root@linux~]#ifconfigeth0 down
相反的开启如下:
[root@linux~]#ifconfigeth0 up
通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:
[root@linux~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。
netstat
这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。
看看下面的输出信息:
这里是192.168.1.56正在通过ssh连接192.168.1.81的情形
[root@linux~]#netstat
Active Internetconnections(w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets(w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202/dev/log
unix 2 [ ] DGRAM 5997@/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536@udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995/var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux~]#
主要的选项:
-a显示所有socket,包括正在监听的。
-c每隔1秒就重新显示一遍,直到用户中断它。
-i显示所有网络接口的信息,格式同ipconfig-e。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同route-e。
-t显示TCP协议的连接情况。
-u显示UDP协议的连接情况。
-v显示正在进行的工作。
以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:
[root@linux~]#netstat-at
Active Internetconnections(servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0*:617*:* LISTEN
tcp 0 0*:sunrpc*:* LISTEN
tcp 0 0*:ipp*:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp*:* LISTEN
tcp 0 0*:ssh*:* LISTEN
tcp 0 132::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux~]#
其他使用方法可以自己尝试..
Hostname
这个命令是表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:
[root@linux~]#hostname
linux.xiaoqi.ddo.jp
[root@linux~]#
如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:
[root@linux~]#hostname centos
[root@linux~]#hostname
centos
[root@linux~]#
ping
这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:
[root@linux~]# pinglocalhost//这个地方的localhost可以用127.0.0.1来代替,或目标地址IP地址或域名,通常还用这条命令来访问DNS服务器来取得目标主机的IP地址或域名等用法
PING linux.xiaoqi.ddo.jp(127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms//注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping命令被执行后,将会显示time out之类的字样。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux~]#
Ping命令的主要选项如下:
-c数目在发送指定数目的包后停止。
-d设定SO_DEBUG的选项。
-f大量且快速地送网络封包给一台机器,看它的回应。
-I秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q不显示任何传送封包的信息,只显示最后的结果。
-r不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过
#man命令
的形式来查看命令的用法
3.网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:
[root@linux~]#/etc/init.d/networkrestart
同样也可以用service这个命令来操作网络服务例如:
[root@linux~]#service network restart
start启动
stop停止
restart再启动
reload和再启动一样(..)
status状态表示
如果服务器软件采用rpm的方式安装,以上的内容大多数都对应。
(2)network管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:
[root@linux~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804(34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560(560.0 b) TX bytes:560(560.0b)
[root@linux~]#
看看ifconfig的输出内容
1. Link encap
2. HWaddr MAC地址
3.inet addr IP地址(IPV4)
4. Bcast广播地址
5. Mask衍码
6. inet6 addr IP地址(IPV6)
7. UP启动中
8. BROADCAST广播地址有效
9. RUNNING动作
10. MTU网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric
12. RX packets受信包数
13. TX packets送信包数
14. collisions
15. interrupt IRQ号码
16. Baseaddress I/O地址
通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:
[root@linux~]#ifconfigeth0 down
相反的开启如下:
[root@linux~]#ifconfigeth0 up
通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:
[root@linux~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。
netstat
这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。
看看下面的输出信息:
这里是192.168.1.56正在通过ssh连接192.168.1.81的情形
[root@linux~]#netstat
Active Internetconnections(w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets(w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202/dev/log
unix 2 [ ] DGRAM 5997@/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536@udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995/var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux~]#
主要的选项:
-a显示所有socket,包括正在监听的。
-c每隔1秒就重新显示一遍,直到用户中断它。
-i显示所有网络接口的信息,格式同ipconfig-e。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同route-e。
-t显示TCP协议的连接情况。
-u显示UDP协议的连接情况。
-v显示正在进行的工作。
以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:
[root@linux~]#netstat-at
Active Internetconnections(servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0*:617*:* LISTEN
tcp 0 0*:sunrpc*:* LISTEN
tcp 0 0*:ipp*:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp*:* LISTEN
tcp 0 0*:ssh*:* LISTEN
tcp 0 132::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux~]#
其他使用方法可以自己尝试..
Hostname
这个命令是表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:
[root@linux~]#hostname
linux.xiaoqi.ddo.jp
[root@linux~]#
如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:
[root@linux~]#hostname centos
[root@linux~]#hostname
centos
[root@linux~]#
ping
这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:
[root@linux~]# pinglocalhost//这个地方的localhost可以用127.0.0.1来代替,或目标地址IP地址或域名,通常还用这条命令来访问DNS服务器来取得目标主机的IP地址或域名等用法
PING linux.xiaoqi.ddo.jp(127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms//注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping命令被执行后,将会显示time out之类的字样。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux~]#
Ping命令的主要选项如下:
-c数目在发送指定数目的包后停止。
-d设定SO_DEBUG的选项。
-f大量且快速地送网络封包给一台机器,看它的回应。
-I秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q不显示任何传送封包的信息,只显示最后的结果。
-r不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过
#man命令
的形式来查看命令的用法
CentOS的网络配置的命令详解
我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR)、子网掩码(NETMASK)、网关(Gateway)、主机名(HOSTNAME)、DNS服务器等方面入手。而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法。
一、ifcfg系命令
ifcfg系命令包括ifconfig,route,netstat和hostname。
1、ifconfig命令
用来配置一个网络接口。它的使用格式如下:
a):ifconfig [-a] [interface]
-a:表示显示所有的网络接口信息,包括inactive状态的接口
~]#ifconfig-a
b):ifconfig IFACE(网络接口名,下同) IPADDR netmask NETMASK [up|down]
表示通过ifconfig命令直接修改接口的ip地址和netmask,并可启停该接口。
该命令会将配置参数立即送往内核中的TCP/IP协议栈,所以会立即生效,但是重启服务后会无效。
~]#ifconfigeth1172.16.7.14netmask255.255.0.0~]#ifconfigeth1172.16.7.14/16down
2、route命令
显示和配置ip路由表。它的使用格式如下:
a):route [-n]
表示查看全部的路由表,并以数字显示ip地址
~]#route-n
b):route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
添加相应接口的路由
~]#routeadd-host172.16.7.14gw172.16.0.1deveth1#主机路由~]#routeadd-net172.16.7.0/24gw172.16.0.1deveth1#网段路由~]#routeadddefaultgw172.16.0.1deveth1#默认路由
c):route del [-net|-host] target [netmask Nm][[dev] If]
删除路由
~]#routedel-host172.16.7.14deveth1~]#routedel-net172.16.7.0/24deveth1~]#routedeldefaultdeveth1
3、netstat命令
显示网络连接,路由表,接口状态等。它的使用格式如下:
netstat [-n] [-r] [-p] [-e] [-a] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [-i] [-I]
-n:以数字格式显示ip和端口号,不做地址转换;
-r:显示内核路由表
-p:显示相关的进程和PID
-e:显示扩展格式
-a:显示所有的连接状态
-t:显示tcp协议的相关连接的状态
-u:显示udp协议的相关连接的状态
-w:显示raw socket相关连接的状态
-l:显示处于监听状态的连接
-i:显示所有接口状态
-I:显示特定的接口状态
以上个选项可组合使用,常用组合有-tan,-uan,-tln,-uln,-tunlp等
~]#netstat-tan~]#netstat-Ieth1
4、hostname命令
显示配置主机名。它的使用格式如下:
hostname:显示当前主机名
hostname HOSTNAME:修改当前主机名为HOSTNAME,仅当前有效,重启无效。
~]#hostname~]#hostnameTEST
5、hostnamectl命令(CentOS7新增)
显示配置主机名。它的使用格式如下:
hostnamectl [status]:显示当前主机名信息
hostnamectl set-hostname:设定主机名,永久有效
~]#hostnamectlset-hostnameCentOS7
二、iproute2系命令
iproute2系命令有ip link,ip addr,ip route,ip netns和ss等。
1、ip link命令
配置网络接口属性。它的使用格式如下:
a):ip link set [dev] IFACE [up|down] [multicast on|off] [name IFACE] [mtu NUMBER]
up and down:启动或禁止选定的网络接口
multicast on or multicast off:启动或禁止组播功能
name NAME:重命名接口(命名前需先down掉接口)
mtu NUMBER:设置接口的mtu大小,默认为1500
~]#iplinkseteth1nameeth2up~]#iplinkseteth2multicastoffmtu1000
b):ip link [show|list]
显示全部网络接口的属性。
~]#iplinkshow
2、ip addr命令
配置网络接口的ip地址。它的使用格式如下:
a):ip addr add IPADDR dev IFACE[label NAME][broadcast ADDRESS][scope SCOPE_VALUE]
增加一个ip地址。
[label NAME]:为额外添加的地址指明接口别名
[broadcast ADDRESS]:会根据ip和netmask自动计算,不用填
[scope SCOPE_VALUE]:gloal全局可用;link接口可用;host:本机可用
~]#ipaddradd172.16.7.14/24deveth1labeleth1:0
b):ip addr delete IPADDR dev IFACE
删除一个ip地址。
~]#ipaddrdel172.16.7.14/24deveth1:0
c):ip addr show [dev IFACE|label IFACE:#]
仅显示指定的接口地址。
~]#ipaddrshowlabeleth1:0~]#ipaddrshoweth1
d):ip addr flush [dev]{IFACE|label IFACE:#}
清空指定的所有地址或别名的地址。
~]#ipaddrflushlabeleth1:0~]#ipaddrflusheth1
3、ip route命令
配置接口的路由表信息。它的使用格式如下:
a):ip route addTYPE PREFIX(目标网络)via GateWay [dev IFACE] [src SOURCE_IP]
添加路由表。
~]#iprouteadd172.16.7.14via172.16.0.1deveth1~]#iprouteadd172.16.7.0/24via172.16.0.1deveth1~]#iprouteadddefaultvia172.16.0.1deveth1
b):ip route del TYPE PREFIX
删除路由表。
~]#iproutedel172.16.7.14~]#iproutedel172.16.7.0/24
c):ip route show
显示路由表。
~]#iprouteshow
d):ip route flush dev IFACE
清空指定接口的所有路由表。
~]#iprouteflushdeveth1
4、ss命令
和netstat命令一样用来查看网络状态,其选项参数和netstat命令基本相同,但是其查询速度比netstat命令要快。它的使用格式如下:
ss [options][filter]
filter:过滤器 FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
选项:
-t:TCP协议的相关连接
-u:UDPF相关的连接
-w:raw socket相关的连接
-l:处于监听状态的连接
-a:所有状态
-n:以数字格式显示IP和Port
-e:扩展格式
-p:显示相关的进程及PID
-m:内存用量
-o:计时器信息
EXPRESSION:
dport:目标端口
sport:源端口
‘( dport=:22 or sport=:22)’
~]#ss-tan#查看当前网络所以tcp的连接状态
三、网络配置文件
在CentOS系统上我们可以通过对修改不同的网络配置文件来使得配置网络接口的各种属性,不过要使其永久有效,还需使内核重读修改后的配置文件。
1、IP/NETMASK/GW/DNS等属性的配置文件:
其路径为:/etc/sysconfig/network-scripts/ifcfg-IFACE
其格式为:
DEVICE:此配置文件对应的设备的名称;
ONBOOT:在系统引导过程中,是否激活此接口;
NETBOOT:是否支持网络引导;
UUID:设备的唯一标识;
IPv6INT:是否初始化IPv6;
BOOTPROTO:激活此接口时使用什么协议来配置属性,常用dhcp、bootp、static、none
TYPE:接口类型,常见的有ethernet、bridge;
DNS1:第一DNS服务器指向;
DNS2:备用DNS服务器指向;
DOMAIN:DNS搜索域;
GATEWAY:默认网关;
IPADDR:本机ip地址;
NETMASK:子网掩码;CentOS7支持使用PREFIX以长度指明子网掩码;
USERCTL:是否允许普通用户控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否运行dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许
HWADDR:设备的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服务来控制接口;
network-scripts]#catifcfg-eth1 DEVICE="eth1" ONBOOT=yes NETBOOT=yes IPADDR=172.16.7.14 DNS=172.16.0.1 GATEWAY=172.16.0.1 NETMASK=255.255.0.0 IPV6INIT=no BOOTPROTO=none TYPE=Ethernet
2、路由的相关配置文件:
其路径为:/etc/sysconfig/network-scripts/route-IFACE
其格式为:(不可混用)
a):每行一个路由条目:
TARGET via GW
b):每三行一个路由条目:
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP
network-scripts]#catroute-eth1 172.16.7.0/24via172.16.0.1
3、主机名的相关配置文件:
其路径为:/etc/sysconfig/network
其格式为:
HOSTNAME=
sysconfig]#catnetwork#Createdbyanaconda HOSTNAME=centos7.1
4、DNS服务器指向配置文件:
其路径为:/etc/resolv.conf
其格式为:
nameserver DNS_SERVER_IP
etc]#catresolv.conf
#GeneratedbyNetworkManager
searchmagelinux.com
nameserver172.16.0.1
四、结语
在学习Linux的路上,网络是非常重要的一环,其命令也在不断改进着,很多命令有着相同的作用,可以选择先记忆比较简单和高效的命令和参数。除上述命令之外,在CentOS7中也有着如nmtui这样直接显示图形界面的还用命令。
CentOS网络状态工具ss命令使用方法
ss命令用于显示socket状态.他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计.它比其他工具展示等多tcp和state信息.它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:
所有的TCP sockets
所有的UDP sockets
所有ssh/ftp/ttp/https持久连接
所有连接到Xserver的本地进程
使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤
所有的state FIN-WAIT-1 tcpsocket连接以及更多
很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat-ant/lnt等.
展示他之前来做个对比,统计服务器并发连接数
netstat
# time netstat-ant| grep EST| wc-l
3100
real 0m12.960s
user 0m0.334s
sys 0m12.561s
# time ss-o state established| wc-l
3204
real 0m0.030s
user 0m0.005s
sys 0m0.026s
结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下,你还会在选择netstat吗,还在犹豫吗,看以下例子,或者跳转到帮助页面.
常用ss命令:
ss-l显示本地打开的所有端口
ss-pl显示每个进程具体打开的socket
ss-t-a显示所有tcp socket
ss-u-a显示所有的UDP Socekt
ss-o state established'( dport=:smtp or sport=:smtp)'显示所有已建立的SMTP连接
ss-o state established'( dport=:http or sport=:http)'显示所有已建立的HTTP连接
ss-x src/tmp/.X11-unix/*找出所有连接X服务器的进程
ss-s列出当前socket详细信息:
显示sockets简要信息
列出当前已经连接,关闭,等待的tcp连接
# ss-s
Total: 3519(kernel 3691)
TCP: 26557(estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452
Transport Total IP IPv6
* 3691--
RAW 2 2 0
UDP 10 7 3
TCP 3375 3368 7
INET 3387 3377 10
FRAG 0 0 0
列出当前监听端口
# ss-l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 10:::5989:::*
0 5*:rsync*:*
0 128:::sunrpc:::*
0 128*:sunrpc*:*
0 511*:http*:*
0 128:::ssh:::*
0 128*:ssh*:*
0 128:::35766:::*
0 128 127.0.0.1:ipp*:*
0 128::1:ipp:::*
0 100::1:smtp:::*
0 100 127.0.0.1:smtp*:*
0 511*:https*:*
0 100:::1311:::*
0 5*:5666*:*
0 128*:3044*:*
ss列出每个进程名及其监听的端口
# ss-pl
ss列所有的tcp sockets
# ss-t-a
ss列出所有udp sockets
# ss-u-a
ss列出所有http连接中的连接
# ss-o state established'( dport=:http or sport=:http)'
以上包含对外提供的80,以及访问外部的80
用以上命令完美的替代netstat获取http并发连接数,监控中常用到
ss列出本地哪个进程连接到x server
# ss-x src/tmp/.X11-unix/*
ss列出处在FIN-WAIT-1状态的http、https连接
# ss-o state fin-wait-1'( sport=:http or sport=:https)'
ss常用的state状态:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all: All of the above states
connected: All the states except for listen and closed
synchronized: All the connected states except for syn-sent
bucket: Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
big: Opposite to bucket state.
ss使用IP地址筛选
ss src ADDRESS_PATTERN
src:表示来源
ADDRESS_PATTERN:表示地址规则
如下:
ss src 120.33.31.1#列出来之20.33.31.1的连接
#列出来至120.33.31.1,80端口的连接
ss src 120.33.31.1:http
ss src 120.33.31.1:80
ss使用端口筛选
ss dport OP PORT
OP:是运算符
PORT:表示端口
dport:表示过滤目标端口、相反的有sport
OP运算符如下:
= or le:小于等于= or ge:大于等于
== or eq:等于
!= or ne:不等于端口
or lt:小于这个端口 or gt:大于端口
OP实例
ss sport=:http也可以是 ss sport=:80
ss dport=:http
ss dport \:1024
ss sport \:1024
ss sport \:32000
ss sport eq:22
ss dport!=:22
ss state connected sport=:http
ss \( sport=:http or sport=:https \)
ss-o state fin-wait-1 \( sport=:http or sport=:https \) dst 192.168.1/24
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
ss命令帮助
# ss-h
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h,--help this message
-V,--version output version information
-n,--numeric don't resolve service names
-r,--resolve resolve host names
-a,--all display all sockets
-l,--listening display listening sockets
-o,--options show timer information
-e,--extended show detailed socket information
-m,--memory show socket memory usage
-p,--processes show process using socket
-i,--info show internal TCP information
-s,--summary show socket usage summary
-4,--ipv4 display only IP version 4 sockets
-6,--ipv6 display only IP version 6 sockets
-0,--packet display PACKET sockets
-t,--tcp display only TCP sockets
-u,--udp display only UDP sockets
-d,--dccp display only DCCP sockets
-w,--raw display only RAW sockets
-x,--unix display only Unix domain sockets
-f,--family=FAMILY display sockets of type FAMILY
-A,--query=QUERY,--socket=QUERY
QUERY:={all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D,--diag=FILE Dump raw information about TCP sockets to FILE
-F,--filter=FILE read filter information from FILE
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]