网络服务:
RHEL5:/etc/init.d/network {start|stop|restart|status}
RHEL6: /etc/init.d/NetworkManager {start|stop|restart|status}
网关:
route
add: 添加
-host: 主机路由
-net:网络路由
-net 0.0.0.0
route add -net|-host DEST gw NEXTHOP
route add default gw NEXTHOP
del:删除
-host
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0
route del default
所做出的改动重启网络服务或主机后失效;
查看:
route -n: 以数字方式显示各主机或端口等相关信息
网络配置文件:
/etc/sysconfig/network
网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;
不会立即生效,但重启网络服务或主机都会生效;
路由:
/etc/sysconfig/network-scripts/route-ethX
添加格式一:
DESTvia NEXTHOP
添加格式二:
ADDRESS0=
NETMASK0=
GATEWAY0=
DNS服务器指定方法只有一种:
/etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
指定本地解析:
/etc/hosts
主机IP主机名主机别名
172.16.0.1www.magedu.comwww
DNS-->/etc/hosts-->DNS
配置主机名:
hostname HOSTNAME
立即生效,但不是永久有效;
/etc/sysconfig/network
HOSTNAME=
RHEL5:
setup: system-config-network-tui
system-config-network-gui
ifconfig, 老旧
iproute2
ip
link: 网络接口属性
addr: 协议地址
route: 路由
link
show
ip -s link show
set
ip link set DEV {up|down}
addr
add
ip addr add ADDRESS dev DEV
del
ip addr del ADDRESS dev DEV
show
ip addr show dev DEV to PREFIX
flush
ip addr flush dev DEV to PREFIX
一块网卡可以使用多个地址:
网络设备可以别名:
eth0
ethX:X, eth0:0, eth0:1, ...
配置方法:
ifconfig ethX:X IP/NETMASK
/etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X
非主要地址不能使用DHCP动态获取;
ip
eth1, 添加个地址192.168.100.1
ip addr add 192.168.100.1/24 dev eth1 label eth1:0
primary address
secondary adress
192.168.100.6
10.0.1.0/24, 192.168.100.6
路由:
route add -net 10.0.1.0/24 gw 192.168.100.6
ip route add to 10.0.1.0/24 dev eth1 via 192.168.100.6
add, change, show, flush, replace
ifconfig eth0, 172.16.200.33/16
ifconfig eth0:0 172.16.200.33/16
TCP:
URG
SYN
ACK
PSH
RST
FIN
如何定义IP:
/etc/init.d/network
1、修改配置文件
/etc/sysconfig/network-scripts/ifcfg-XXX
eth{0,1,2,...}
ppp{0,1,2,...}
eth0:{0,1,2,...}, 例如,eth0:0
2、ifconfig 接口 IP/netmask
3、ip addr
iproute2:
ip, tc, ss
4、 setup
system-config-network-tui: 直接修改配置文件
system-config-network-gui
静态IP:
BOOTPROTO={none|static|bootp|dhcp}
IPADDR=
NETMASK=
GATEWAY=
PEERDNS=no
默认路由
网络路由
主机路由
route add {-net|-host} TARGET gw nexthop
route add default gw GATEWAY
/etc/sysconfig/network-scripts/route-XXX
/etc/hosts
/etc/resolv.conf
nameserver IP1
nameserver IP2
nameserver IP3
www.magedu.com
NetworkManager: 桥接
chkconfig NetworkManager off
chkconfig network on
init --> upstart --> systemd
网络管理命令:
ping:测试网络连通性;
-c #: 发送探测报文的个数;
-W seconds: 超时时长,单位为秒;
写一个脚本:探测172.16.251.11-172.16.251.110内的主机是否在线。
#!/bin/bash
#
NET=172.16.251
for I in {11..110}; do
if ping -c 1 -W 1 $NET.$I &> /dev/null; then
echo $NET.$I is up.
else
echo $NET.$I is down.
fi
done
ping -c 1 -W 1 $NET.$I &> /dev/null && echo "$NET.$I is up." || echo "$NET.$I is down."
当ping 命令执行成功时执行&&后面的命令;
当ping 命令执行不成功时执行||后面的命令。
traceroute #路由跟踪 类似于windows系统下的tracert
netstat:
OSI: tcp, udp
tcp:
http --> tcp
netstat
-t:tcp 协议
-u:udp
-tu:tcp 和 udp
-tl:tcp listen 处于监听状态的tcp连接
-n:以数字形式显示服务名称如果ssh 就是22
-p: 显示进程名和PID
-r: 显示路由信息;
-c : 批量显示, 此时可以在命令后跟一个数字,表延迟时长;
-e: 显示扩展
-l:listen 查看处于监听状态的连接
例子:
服务器上的一些统计数据:
1)统计80端口连接数
netstat -nat|grep -i "80"|wc -l
2)统计httpd协议连接数
ps -ef|grep httpd|wc -l
3)、统计已连接上的,状态为“established
netstat -na|grep ESTABLISHED|wc -l
4)、查出哪个IP地址连接最多,将其封了.
netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n
netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n
1、查看apache当前并发访问数:
netstat -an | grep ESTABLISHED | wc -l
对比httpd.conf中MaxClients的数字差距多少。
2、查看有多少个进程数:
ps aux|grep httpd|wc -l
3、可以使用如下参数查看数据
server-status?auto
#ps -ef|grep httpd|wc -l
1388
统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
#netstat -nat|grep -i "80"|wc -l
4341
netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。
#netstat -na|grep ESTABLISHED|wc -l
376
netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
最终返回的数字就是当前所有80端口的已建立连接的总数。
netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录
查看Apache的并发请求数及其TCP连接状态:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。
ss: 另外一种类似netstat命令 同样可以查看连接信息,但是它默认是管理员命令。
-t: tcp
-u: udp
-a: all, 相关协议所有连接;
-l: 监听的套接字;
-e: 显示扩展信息;
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
ss -ta state established '( dport = :22 )'
dport: 目标端口;
sport: 源端口;
src: 源IP;
dst: 目标IP;
# ss -tan state established '( dport = :22 or sport = :22 )'
-m: 显示套接字连接使用的内存信息;
-p: 进程及进程号
转载于:https://blog.51cto.com/zkw9527/1318784