标签:故障 from util str next 守护 back mil 计算
Linux网络配置(1) SYN_SENT
The socket is actively attempting to establish a connection.
The socket has an established connection.
SYN_SENT
The socket is actively attempting to establish a connection.
SYN_RECV
A connection request has been received from the network.
FIN_WAIT1
The socket is closed, and the connection is shutting down.
FIN_WAIT2
Connection is closed, and the socket is waiting for a shutdown from the remote end.
TIME_WAIT
The socket is waiting after close to handle packets still in the network.
CLOSE The socket is not being used.
CLOSE_WAIT
The remote end has shut down, waiting for the socket to close.
LAST_ACK
The remote end has shut down, and the socket is closed. Waiting for acknowledgement.
LISTEN The socket is listening for incoming connections. Such sockets are not included in the output unless you specify the --listening (-l) or --all (-a) option.
CLOSING
Both sockets are shut down but we still don't have all our data sent.
UNKNOWN
The state of the socket is unknown.
常用的选项组合:
-tan,-uan,-tnl,-unl,-tnl,-tnlp,-unlp,-tunlp
Print routing tables:
{--route|-r}:显示内核路由表;
[--numeric|-n]:数字化显示相应的信息;
[--numeric-hosts]:
[--numeric-ports]:
[--numeric-users]:
[--extend|-e[--extend|-e]]:显示扩展信息;
常用选项组合:
-rn,-rne
print interface statistics:
{--interfaces|-I|-i}:显示接口的状态统计信息;
[--all|-a]
[--extend|-e]
[--verbose|-v]
[--program|-p]
[--numeric|-n]
[--numeric-hosts]
[--numeric-ports]
[--numeric-users]
常用的选项组合:
-i,-ie
print Protocol statistics:
{--statistics|-s}:显示各协议的详细的统计信息;
[--tcp|-t]
[--udp|-u]
[--udplite|-U]
[--sctp|-S]
[--raw|-w]
iproute2家族:
ip
ip - show / manipulate routing, devices, policy routing and tunnels
格式:
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route | netns }
OPTIONS := { -V[ersion] | -s[tatistics] | -n[etns] name }
COMMAND :={ add | delete | set | show | list | help }
1)link:
ip link :
ip-link - network device configuration
ip link { add | delete | set | show/list }
ip link set ...
ip link set [dev] IF_NAME { up | down }
激活或关闭指定的网络接口;
[root@localhost ~]# ip link set lo up
[root@localhost ~]# ip link set lo down
ip link set [dev] IF_NAME { arp {on | off }}
是否允许在指定接口上使用arp协议;
ip link set [dev] IF_NAME name NEWNAME
修改网络接口的名称,前提需要将改名的接口down掉,才可以修改;
ip link set [dev] IF_NAME { netns PID | netns NETNSNAME}
将指定的网络接口添加到指定的网络命名空间中;
ip link show/list ...
列表显示所有的网络接口,只显示网络接口的数据链路层的属性信息;
ip link help
获取简短的帮助信息;
netns:仅在CentOS 7 中可用;
ip-netns - process network namespace management
处理内核中的网络命名空间;
ip netns { list | show }
查看内核中所有的自定义的网络命名空间;
ip netns add NETNSNAME
创建网络命名空间;
[root@localhost ~]# ip netns add xwl
ip netns exec [ NETNSNAME ] command...
在指定的网络命名空间中执行命令;
[root@localhost ~]# ip link set dev lo netns xwl
[root@localhost ~]# ip netns exec xwl ip link show
ip [-all] netns del [ NETNSNAME ]
删除指定的命名空间,或者删除所有的网络命名空间;
[root@localhost ~]# ip netns del xwl
address:
ip-address - protocol address management
格式:
ip [ OPTIONS ] address { COMMAND | help }
ip address { add | del } IP_ADDR dev IF_NAME
在网络接口上,添加IP地址或者从网路接口上删除IP地址;
[root@localhost ~]# ip addr add 192.168.110.110/24 dev virbr0-nic
[root@localhost ~]# ip addr del 192.168.110.110/24 dev virbr0-nic
ip address {show | list} [dev] [IF_NAME]
查看指定或所有接口上的地址属性信息;
ip address flush [ dev IF_NAME ]
将指定接口或所有接口上通过ip命令添加配置的IP地址全部清除;
注意:此命令在执行之前,必须确保不能影响全部网络接口,不能阻止远程管理的进行;
ip address add IF_ADDR dev IF_NAME label LABEL_NAME
ifconfig LABLE_NAME IF_NAME
给网络接口添加新的IP地址时,指定将IP地址应用于接口的某一个标签上,其目的是为了能够让ifconfig命令查看同一接口上不同的IP地址配置;
一般来讲,接口的标签都会使用"IF_NAME:#"的格式来表示;
route:静态路由管理
ip-route - routing table management
ip route { add | del | change | append | replace } ROUTE
ROUTE := TARGET/NETMASK via NEXT_HOP [dev IF_NAME]
[root@localhost ~]# ip route add 192.168.100.0/24 via 172.16.0.1 dev lo
[root@localhost ~]# ip route del 192.168.100.0/24
ss
ss - another utility to investigate sockets
ss [options] [ FILTER ]
常用选项:
-t, --tcp:仅显示与TCP协议相关的会话连接状态统计信息;
-u, --udp:仅显示与UDP协议相关的会话连接状态统计信息;
-w, --raw:仅显示与裸套接字相关的会话连接状态统计信息;
-l, --listening:仅显示处于监听状态的套接字状态统计信息;
-a, --all:显示所有的套接字会话连接的状态统计信息;
-n, --numeric:数字化显示结果;
-p, --processes:显示与链接会话相关的应用程序进程及进程ID;
-e, --extended:显示详细的扩展信息;
-m, --memory:显示套接字占用的内存数量;
-o, --options:显示计时器信息;
常用的选项组合:
-tan,-uan,-tnl,-unl,-tnlp,-unlp,-tunlp
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER:
All standard TCP states:
established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listen and closing
all - for all the states
connected - all the states except for listen and closed
synchronized - all the connected states except for syn-sent
bucket - states, which are maintained as minisockets, i.e. time-wait and syn-recv
big - opposite to bucket
EXPRESSION:
dport = :port
sport = :port
示例:
'( dport = :80 or dport = :22 )'
net-tools家族和iproute2家族:
特点:所有能够完成网络参数配置的命令,在进行网络参数的配置之后,其配置结果会立即生效;但是,只要重新启动网络设备或者刷新内核参数,其配置就立即丢失;
nm家族:仅限于Centos 7发行版;
nmcli:
nmcli - command-line tool for controlling NetworkManager
格式:
nmcli [OPTIONS...] OBJECT {COMMAND}
OBJECT:={general | networking | radio | connection | device | agent}
connection:
COMMAND {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export}
show:显示所有的或指定的网络连接的属性信息;
up|down:启用|关闭指定的网络连接;
add:添加一个网络连接;(创建网络接口的配置文件)
autoconnect yes|no:是否自动启动此连接,相当于在配置文件中指明 ONBOOT={yes|no}
ifname IF_NAME:指定要创建连接的目标网络接口的设备名称;
con-name CON_NAME:为指定的网络及接口设备创建一个设备名称
type TYPE:指定网络设备设备的接口类型;
delete:删除一个网络连接,删除网络接口的配置文件,参数为con-name;
reload:不重启网络接口,但重新加载接口的配置文件中所定义的配置信息;
modify:
modify [--temporary] [id | uuid | path] ID {[+|-]setting.property value}...
setting.property
connection.autoconnect yes|no
connection.addresses
connection.dns
connection.method [auto,link-local,manual,shared,disabled]
connection.gateway
注意:通过nmcli命令设置的网络连接的配置,默认会直接存放在网络接口的配置文件中;因此配置不会立即生效,如果想要配置文件中的配置属性;
1.重启全部网络接口
# systemctl restate network.service
2.重启指定的网络接口;
ifdown IF_NAME ; ifup IF_NAME
3.不重启接口启动配置文件;
nmcli connection reload CON_NAME
device:
COMMAND {status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp}
[root@localhost ~]# nmcli connection show
[root@localhost ~]# nmcli connection show ens33
[root@localhost ~]# nmcli connection down ens33
[root@localhost ~]# nmcli connection modify eno33 ipv4.addresses 172.12.1.13/16
nmtui:(必须交互的完成,脚本中不能用)
与nmtui相似的Centos 6的命令:
# system-config-network[-tui]
# setup --> [network configuration,网络配置]
注意:上述操作完成之后,必须重启网络接口,才能使新配置信息生效;
7 systemctl restart network.service | 6 service network restart
ifdown connection ; ifup connection
nmcli connection reload CON_NAME
hostnamectl set-hostname HOSTNAME
localhost.localdomain(主机默认值)
/etc/hostname
Bonding的监控时长:
miimon=Number
用miimon来监控链路状态;在指定的时间内(Number,单位ms)时间内,如果某个接口的测试结果为不能联通,则将此接口标识为失效,此时需要进行故障倒换;
Bonding的配置:
1.创建虚拟接口,其名称通常为bond0,bond1....;
2.选择miimon的监测时间;
3.选择bonding的工作模式;
4.选择用于此次bonding的物理接口(slave接口);
nmcli,nmtui,vim
配置方式:
1.虚拟接口的配置(Master接口)
# vim /etc/sysconfig/network-scripts/ifcfg-bond0
2.物理接口的配置(Slave接口)
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
所有物理接口,进行类似配置:DEVICE的值一定要和物理接口保持一致;
在Centos 7 中除了Bonding之外,还引入了一个新的概念,网络组(Network Teaming)
网络组:将多个网络接口设备聚合在一起的方案,可以实现网络接口的冗余和高可用,提高吞吐量;
网络组和bonding相比,具有更好的性能以及更好的可扩展性;建议在Centos7中使用网络组而不是bonding;
在Centos 7中所选择的内核中支持网络组;网络组就是其内核中的一个内核驱动和一个名为teamd的守护进程;
在bonding中能够使用的工作模式,网络组都可以支持;并且网络组使用运行器(runner)来实现这些功能;
loadbalance
activebackup
broadcast
roundrobin
lacp(802.3ad,Link Aggregation Control Protocol)
网络组的特点:
1.启动网络组接口不会自动启动网络组中的其他的port接口;
2.启动网路组的port接口,也不会自动启动网络组接口;
3.禁用网络组接口,则会立即禁用网络组中的所有的port接口;
4.对于没有添加任何port接口的网络组而言,只能配置静态IP地址,不能设置从DHCP获取IP地址;如果对于此类的网络组接口设置了DHCP配置,这样的网络组接口就一直不启动,一直等待有其他的port接口加入此网络组;
网络组的配置方法:
1.创建网络组接口
nmcli connection add type team con-name TEAM_CON_NAME ifname IF_NAME config JSON
JSON是用来指定runner的,其格式为:
'{"runner": {"name": "METHOD"}}'
示例:
# nmcli connection add type team con-name class18 ifname class18 config '{"runner": {"name": "loadbalance"}}'
2.创建port接口:
nmcli connection add type team-slave [con-name CON_NAME] ifname IF_NAME master TEAM_NAME
注意:如果不指定con-name,默认的con-name为:team-slave-IF_NAME
示例:
# nmcli connection add type team-slave ifnamae eno33 master class18
# nmcli connection add type team-slave ifnamae eno22 master class18
# nmcli connection up class18
# nmcli connection up eno22
# nmcli connection up eno33
# nmcli device disconnect eno22
# nmcli device disconnect eno33
注意:
1.所有的port接口不需要配置IP地址,子网掩码,网关,DNS服务器等属性;次类配置属性仅在网络组接口中配置即可;配置的方法,可以直接修改其配置文件,也可以使用nmcli connection modify ...
2.配置完成之后,需要重启网络服务;
# systemctl restart network.service
建议:
在Centos 6中使用Bonding
在Centos 7中使用Networking Teaming
网络检测工具:
ping | hping
traceroute
arp
ping命令:
ping, ping6 - 向网络主机发送ICMP回显请求(ECHO_REQUEST)分组
格式:
ping [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize]
常用选项:
-c #:此次目标主机是否在线,发送#个报文数量;
-I interface|addresss:
如果参数是IP地址,则此次测试操作的源IP地址即为此处指明的IP地址;
如果参数是接口名称,则此次测试操作,经由该接口发送出去;
-t ttl:设置此次测试时的报文的TTL值;
-W timeout:设置接受响应报文的超时时间;
hping3
--fast
--faster
--flood
traceroute:
Windows:tracert
traceroute - print the route packets trace to network host
仅返回TTL值为1时的路由表
arp
arp - manipulate the system ARP cache
查看或修改arp缓存中的内容
-n
网络客户端工具:
ftp,lftp,lftpget,wget
wget
Wget - The non-interactive network downloader.
wget [option] [URL]
常用选项:
-O file:
--limit-rate=amount:限速
-nH
-np
标签:故障 from util str next 守护 back mil 计算
原文地址:http://blog.51cto.com/liujingyu/2062514