# 查看所有网络接口
ip link show
# 查看IP地址配置
ip addr show
# 传统命令(部分新系统可能已弃用)
ifconfig -a
# 为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
# 编辑配置文件
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
# 编辑接口配置文件
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
# 测试本地网络接口
ping 127.0.0.1
# 测试网关连通性
ping 192.168.1.1
# 测试外部网络
ping 8.8.8.8
# 测试DNS解析
ping www.google.com
# 查看路由表
ip route show
route -n
# 跟踪路由路径
traceroute 8.8.8.8
tracepath 8.8.8.8
# 测试DNS解析
nslookup www.google.com
dig www.google.com
# 查看DNS配置
cat /etc/resolv.conf
# 测试特定DNS服务器
dig @8.8.8.8 www.google.com
# 查看监听端口
ss -tulnp
netstat -tulnp
# 测试远程端口连接
telnet 192.168.1.1 80
nc -zv 192.168.1.1 80
# 查看接口统计
ip -s link show eth0
# 查看ARP缓存
ip neigh show
arp -n
# 检查接口状态
ip link show eth0
# 启动接口
sudo ip link set eth0 up
# 检查驱动是否加载
lsmod | grep eth
dmesg | grep eth0
# 检查是否有冲突
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
# 检查/etc/resolv.conf
# 检查/etc/nsswitch.conf中的hosts配置
# 检查防火墙是否阻止DNS查询(端口53)
# 测试带宽
speedtest-cli
# 检查MTU设置
ip link show eth0 | grep mtu
# 测试不同MTU
ping -s 1472 -M do 8.8.8.8
# 捕获eth0接口的所有流量
sudo tcpdump -i eth0
# 捕获特定主机的流量
sudo tcpdump -i eth0 host 192.168.1.100
# 捕获HTTP流量
sudo tcpdump -i eth0 port 80 -A
# 安装
sudo apt install wireshark # Ubuntu/Debian
sudo yum install wireshark # CentOS/RHEL
# 使用(需要GUI环境)
wireshark
# iperf3带宽测试
# 服务端
iperf3 -s
# 客户端
iperf3 -c server_ip
# nttcp测试
nttcp -t server_ip
nttcp -r server_ip
# 查看规则
sudo iptables -L -n -v
# 允许SSH访问
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 保存规则(Ubuntu)
sudo iptables-save > /etc/iptables.rules
# 查看区域
sudo firewall-cmd --get-active-zones
# 开放端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
# 启用防火墙
sudo ufw enable
# 允许SSH
sudo ufw allow 22/tcp
# 查看状态
sudo ufw status
通过以上方法和工具,您可以有效地配置Linux系统的网络连接,并快速诊断和解决大多数网络问题。