所有工具均为开源免费,按照对应系统执行操作即可完成配置,无需额外付费。
Debian/Ubuntu 系列执行以下命令:
```bash sudo apt update && sudo apt install -y iproute2 traceroute mtr tcpdump nmap iperf3 speedtest-cli netcat-openbsd ```CentOS/RHEL 系列执行以下命令:
```bash sudo yum install -y iproute traceroute mtr tcpdump nmap iperf3 speedtest-cli nmap-ncat ```采用逐层排查法,从本地到远端依次校验,平均排查耗时不超过5分钟。
Linux执行ip addr show,Windows执行ipconfig /all,确认网卡已获取正确IP、子网掩码、网关、DNS。如果静态IP配置错误,直接修改对应配置文件即可修复。
Ubuntu 22.04+ 配置文件路径为/etc/netplan/00-installer-config.yaml,完整可复制配置如下:
```yaml network: ethernets: ens33: 替换为实际网卡名 addresses: [192.168.1.100/24] 替换为实际IP/掩码 gateway4: 192.168.1.1 替换为实际网关 nameservers: addresses: [223.5.5.5, 114.114.114.114] version: 2 ```修改后执行sudo netplan apply立即生效。

CentOS7 配置文件路径为/etc/sysconfig/network-scripts/ifcfg-ens33,完整可复制配置如下:
``` TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=223.5.5.5 DNS2=114.114.114.114 ```修改后执行sudo systemctl restart network立即生效。
ping 网关IP -c 10,丢包率超过1%直接更换网线/交换机端口复测,无需排查上层mtr --report 223.5.5.5,输出中最后一列Loss%为对应节点丢包率:前3跳丢包为本地局域网/运营商问题,最后一跳丢包为目标服务器网络问题,中间跳丢包但最后一跳正常属于中间节点ICMP限速,无需处理nc -zv 目标IP 目标端口,不通的话优先排查目标服务器防火墙、安全组规则,对应放通命令:
sudo ufw allow 端口号/tcp && sudo ufw reloadsudo firewall-cmd --add-port=端口号/tcp --permanent && sudo firewall-cmd --reload使用iperf3工具,服务端(目标机器)执行iperf3 -s,客户端(测试机器)执行iperf3 -c 服务端IP -t 10 -P 10,输出中SUM行的bitrate值为实际可用带宽,和标称带宽差值超过10%需排查交换机背板带宽、网线类别(超五类最高支持1G,六类最高支持10G)。
直接执行speedtest-cli --simple,10秒内即可返回公网下载、上传带宽实测值,无需打开网页测试。
以下脚本可直接复制使用,每日自动执行巡检并生成日志,无需人工值守。
创建network_check.sh文件,写入以下内容:
```bash !/bin/bash 网络专项巡检脚本,直接复制可用 配置需要巡检的IP列表 IP_LIST=("192.168.1.1" "192.168.1.10" "223.5.5.5") 配置需要巡检的IP:端口列表 PORT_LIST=("192.168.1.10:22" "192.168.1.20:80" "192.168.1.30:443") 日志存储路径 LOG_FILE=/var/log/network_check_$(date +%Y%m%d).log echo "===网络巡检开始 $(date)===" > $LOG_FILE IP连通性检查 for ip in ${IP_LIST[@]}; do ping_res=$(ping -c 10 $ip | grep -oP '\d+(?=% packet loss)') delay=$(ping -c 10 $ip | grep -oP 'time=\d+\.\d+' | awk '{sum+=$1} END {print sum/NR}') if [ $ping_res -gt 1 ]; then echo "告警:$ip 丢包率 $ping_res%,平均延迟 ${delay}ms" >> $LOG_FILE else echo "正常:$ip 丢包率 $ping_res%,平均延迟 ${delay}ms" >> $LOG_FILE fi done 端口连通性检查 for port_item in ${PORT_LIST[@]}; do ip=${port_item%:} port=${port_item:} nc -zv -w 2 $ip $port > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "告警:$ip 端口 $port 不通" >> $LOG_FILE else echo "正常:$ip 端口 $port 可连通" >> $LOG_FILE fi done echo "===网络巡检结束 $(date)===" >> $LOG_FILE ```执行chmod +x network_check.sh赋予执行权限,测试无误后执行crontab -e添加定时任务,写入以下内容即可实现每日9点自动巡检:
ethtool 网卡名查看Duplex字段,必须为Full(全双工),如果是Half(半双工)执行ethtool -s 网卡名 speed 1000 duplex full autoneg off强制修改ethtool -S 网卡名查看rx_errors、tx_errors字段,数值持续增长的话直接更换交换机端口易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图