网络 - 图1
image.png

网络相关配置文件

image.png

  • 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

网卡配置文件

配置文件地址
image.png
配置文件内容
image.png
重启网卡(更新配置)
image.png

ip命令

添加ip:image.png

ss命令

  • 比netstat效率高
  • ss -lnput
  • ss -s:统计

    DNS

    DNS是递归还是遍历?

    网络 - 图8
    客户端-本地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

网络工具总结

image.png
image.png

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

网络内核参数

image.png
image.png

socket参数

image.png

解决TIME_WAIT过多问题系统参数

image.png

keepalive参数

image.png

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