插件窝 干货文章 常见Linux网络故障及解决办法

常见Linux网络故障及解决办法

sudo 网络 bash 检查 1092    来源:    2025-04-17

Linux网络故障排查指南

常见网络故障及解决方案

1. 网络接口未激活

症状:无法ping通任何地址,ifconfig显示接口未分配IP

解决方案

# 检查接口状态
ip link show

# 激活接口
sudo ip link set eth0 up

# 分配IP地址(临时)
sudo ip addr add 192.168.1.100/24 dev eth0

# 使用DHCP获取IP
sudo dhclient eth0

2. DNS解析问题

症状:可以ping通IP但无法解析域名

解决方案

# 检查DNS配置
cat /etc/resolv.conf

# 测试DNS解析
nslookup example.com
dig example.com

# 临时修改DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

# 永久修改DNS(Ubuntu/Debian)
sudo nano /etc/netplan/*.yaml
# 添加nameservers部分

3. 路由问题

症状:可以访问本地网络但无法访问外部网络

解决方案

# 查看路由表
ip route show
route -n

# 添加默认网关
sudo ip route add default via 192.168.1.1

# 检查网络连通性
traceroute 8.8.8.8
mtr 8.8.8.8

4. 防火墙阻断

症状:特定端口无法访问

解决方案

# 查看iptables规则
sudo iptables -L -n -v

# 临时允许端口(如80)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 保存iptables规则(Ubuntu)
sudo netfilter-persistent save

# firewalld系统(CentOS/RHEL)
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload

5. SSH连接问题

症状:无法通过SSH连接服务器

解决方案

# 检查SSH服务状态
sudo systemctl status sshd

# 重启SSH服务
sudo systemctl restart sshd

# 检查监听端口
ss -tulnp | grep ssh
netstat -tulnp | grep ssh

# 检查防火墙规则
sudo ufw status  # Ubuntu

高级诊断工具

  1. 网络包分析
sudo tcpdump -i eth0 -n
sudo tshark -i eth0
  1. 网络统计信息
ss -s  # 替代netstat
ip -s link  # 接口统计
  1. 连接测试
nc -zv example.com 80  # TCP连接测试
ping6 example.com  # IPv6测试
  1. 网络管理器调试
nmcli device show  # NetworkManager信息
nmcli connection show --active

系统日志检查

# 查看系统日志
sudo journalctl -xe  # systemd系统
sudo tail -f /var/log/syslog  # Debian/Ubuntu
sudo tail -f /var/log/messages  # RHEL/CentOS

# 特定服务日志
sudo journalctl -u network.service
sudo journalctl -u NetworkManager.service

通过以上方法,可以诊断和解决大多数Linux网络连接问题。对于复杂问题,可能需要结合多种工具进行综合分析。