网络相关配置文件
centos7 ifconfig命令需要安装net-tools
网络命令
mii-tool eth0:查看网卡网线连接状态
- route -n:查看路由
- 添加路由:route add -host xx.xx.xx.xx gw xx.xx.xx.xx
- ifconfig eth0 xx.xx.xx.xx netmask xx.xx.xx.xx:修改ip地址
- tcpdump -i any -n port 80
- tcpdump -i any -n host xx.xx.xx.xx port and port 80 -w /tmp/filename
网卡配置文件
ip命令
ss命令
- 比netstat效率高
- ss -lnput
- ss -s:统计
DNS
DNS是递归还是遍历?
客户端-本地dns服务端:这部分属于递归查询。
本地dns服务端-外网:这部分属于迭代查询。(不启用转发模式)本地dns服务器是什么? 本地DNS一般是指你电脑上网时IPv4或者IPv6设置中填写的那个DNS。
DNS查询顺序
1)检查本地hosts:cat /etc/hosts
2)检查 /etc/resolv.conf,临时生效,永久生效需配置网卡。
DNS优化思路
1)更换延迟更小的DNS服务器,比如电信的dns:114.114.114.114
2)开启DNS缓存,比如dnsmasq,安装和开启:yum install -y dnsmasq;systemctl enable dnsmasq
网络工具总结
netstat统计连接情况
netstat -an|awk ‘/tcp/ {print $6}’|sort|uniq -c
一、查看哪些 IP 连接本机 netstat -an
二、查看 TCP 连接数
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
网络内核参数
socket参数
解决TIME_WAIT过多问题系统参数
keepalive参数
socket缓冲区
一般困扰大家的都是那个所谓的socket缓冲区到底是个什么样的。 1 网卡到内核的sk_buff(第1次copy,DMA) 2 内核协议栈处理对sk_buff进行处理,然后到传输层(以TCP为例)的时候,将这个sk_buff挂在sock结构体的sk_receive_queue队列上(不涉及copy操作),可以理解成这个队列就是socket在内核里的缓冲区。 3 将sk_receive_queue队列上的数据拷贝到用户态的缓冲区(第2次拷贝,从内核态到用户态) 可以看看这个哥们的源码分析(前后几篇有关联的可以都看一下):
https://www.cnblogs.com/wanpengcoder/p/11752133.html