插件窝 干货文章 如何进行Linux系统的网络配置和网络故障排除

如何进行Linux系统的网络配置和网络故障排除

sudo 配置 测试 bash 518    来源:    2025-04-10

Linux系统网络配置与故障排除指南

一、网络配置基础

1. 查看网络接口信息

# 查看所有网络接口
ip link show

# 查看IP地址配置
ip addr show

# 传统命令(部分新系统可能已弃用)
ifconfig -a

2. 临时配置IP地址

# 为eth0配置IP地址
sudo ip addr add 192.168.1.100/24 dev eth0

# 启用接口
sudo ip link set eth0 up

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

3. 永久网络配置

Ubuntu/Debian系统(使用netplan)

# 编辑配置文件
sudo nano /etc/netplan/01-netcfg.yaml

# 示例配置
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

# 应用配置
sudo netplan apply

CentOS/RHEL系统

# 编辑接口配置文件
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

# 示例配置
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

# 重启网络服务
sudo systemctl restart network

二、网络故障排除

1. 基本连通性测试

# 测试本地网络接口
ping 127.0.0.1

# 测试网关连通性
ping 192.168.1.1

# 测试外部网络
ping 8.8.8.8

# 测试DNS解析
ping www.google.com

2. 路由检查

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

# 跟踪路由路径
traceroute 8.8.8.8
tracepath 8.8.8.8

3. DNS问题排查

# 测试DNS解析
nslookup www.google.com
dig www.google.com

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

# 测试特定DNS服务器
dig @8.8.8.8 www.google.com

4. 网络端口和服务检查

# 查看监听端口
ss -tulnp
netstat -tulnp

# 测试远程端口连接
telnet 192.168.1.1 80
nc -zv 192.168.1.1 80

5. 网络接口统计信息

# 查看接口统计
ip -s link show eth0

# 查看ARP缓存
ip neigh show
arp -n

三、常见问题解决方案

1. 网络接口未启动

# 检查接口状态
ip link show eth0

# 启动接口
sudo ip link set eth0 up

# 检查驱动是否加载
lsmod | grep eth
dmesg | grep eth0

2. IP地址冲突

# 检查是否有冲突
arping -I eth0 192.168.1.100

# 临时更改IP测试
sudo ip addr del 192.168.1.100/24 dev eth0
sudo ip addr add 192.168.1.101/24 dev eth0

3. DNS解析失败

# 检查/etc/resolv.conf
# 检查/etc/nsswitch.conf中的hosts配置
# 检查防火墙是否阻止DNS查询(端口53)

4. 网络速度慢

# 测试带宽
speedtest-cli

# 检查MTU设置
ip link show eth0 | grep mtu

# 测试不同MTU
ping -s 1472 -M do 8.8.8.8

四、高级工具

1. tcpdump抓包分析

# 捕获eth0接口的所有流量
sudo tcpdump -i eth0

# 捕获特定主机的流量
sudo tcpdump -i eth0 host 192.168.1.100

# 捕获HTTP流量
sudo tcpdump -i eth0 port 80 -A

2. Wireshark图形化分析

# 安装
sudo apt install wireshark  # Ubuntu/Debian
sudo yum install wireshark  # CentOS/RHEL

# 使用(需要GUI环境)
wireshark

3. 网络性能测试

# iperf3带宽测试
# 服务端
iperf3 -s

# 客户端
iperf3 -c server_ip

# nttcp测试
nttcp -t server_ip
nttcp -r server_ip

五、防火墙配置

1. iptables基本使用

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

# 允许SSH访问
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 保存规则(Ubuntu)
sudo iptables-save > /etc/iptables.rules

2. firewalld(CentOS/RHEL)

# 查看区域
sudo firewall-cmd --get-active-zones

# 开放端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

3. ufw(Ubuntu)

# 启用防火墙
sudo ufw enable

# 允许SSH
sudo ufw allow 22/tcp

# 查看状态
sudo ufw status

通过以上方法和工具,您可以有效地配置Linux系统的网络连接,并快速诊断和解决大多数网络问题。