常用
- ip
- ifconfig
netstat
- netstat -lntp // 查看开启了哪些端口
- netstat -r // 路由表的信息
- netstat -an | grep ^tcp | grep 9050 | awk '{print $NF}' | sort -nr | uniq -c // 连接数统计
- netstat -an | grep 8080 // 所有的有效连接信息列表(8080)
- netstat -an | grep -i listen // 目前系统侦听的端口号
- netstat -anp | grep 8080 // 查看哪个进程占用了端口(8080)
网卡
- ifconfig em 192.168.161.121/24 // 设置网卡
- ifconfig em down // 禁用网卡
- nano /etc/sysconfig/network-scripts/ifcfg-em // 编辑网卡
- nano /etc/sysconfig/network // 设置网卡的永久网关
- nano /etc/network/interfaces // 设置DHCP,静态IP,DNS
重启网络服务
- service network restart
- service network reload
- 从指定的文件加载系统参数,特别是网络参数
- sysctl -p
- tcpdump-抓取网络数据包
- tcpdump -i lo -nnA 'port 9020' // 监控本机回路网卡的9020端口
- traceroute www.baidu.com -路由跃点检查
- linux绑定域名和IP
路由
- 设置
- 永久路由
- 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效
- route -n // 查看路由
- IP转发
- nano /etc/sysctl.conf或者/etc/sysctl.d/99-sysctl.conf
- 追加内容:net.ipv4.ip_forward = 1
网桥(brctl)
防火墙(iptables)
命令
- iptables -nvL INPUT // 查看定义规则的详细信息
- iptables -A INPUT -p tcp --dport 5672 -j ACCEPT // 接受5672端口的TCP访问。-A是添加到最后一个,-I是添加到第一个
- iptables -P INPUT ACCEPT // 默认策略
- iptables -D INPUT 1 // 删除第一个规则
资料
常用配置
iptables -I INPUT -p tcp -m multiport --dport 4000 -j ACCEPT
iptables -I INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT // 已建立的连接
iptables -A INPUT -i lo -j ACCEPT // loopback
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT // enable ping
iptables -A INPUT -j REJECT
iptables -A OUTPUT -j ACCEPT
报文发送
- 使用curl和wget发送json格式的post请求 curl -H "Content-type: application/json" -H 'token:abc123' -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/api/v1/user.login
DNS
- 配置DNS服务
- 增加DNS映射关系
sudo nano /etc/hosts 127.0.0.1 www.baidu.com sudo /etc/init.d/networking restart
网络监控
tcpdump
iftop:https://www.vpser.net/manage/iftop.html,https://www.cnblogs.com/chenqionghe/p/10680075.html
iftop -BP -i eth0 -F 192.168.85.0/24
监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每个进程的带宽使用――nethogs
TIME_WAIT
- 解决TIME_WAIT过多造成的问题
- TIME_WAIT和CLOSE_WAIT状态区别
- 阿里云服务出现TCP连接快速增加尤其是NON_ESTABLISHED大量增加导致内存和CPU暴增系统无法使用的问题
- 不同状态的连接数数量:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
- 每个ip跟服务器建立的连接数:netstat -nat|grep "tcp"|awk ' {print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn
nano /etc/sysctl.conf
net.core.somaxconn = 2000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30