Appearance
Linux 网络基础命令
概述
网络基础命令是 Linux 系统管理的重要组成部分,用于网络配置、连接测试、故障排除等。掌握这些命令对于网络管理和问题诊断至关重要。
网络配置命令
ifconfig - 网络接口配置
bash
# 显示所有网络接口
ifconfig
# 显示特定接口
ifconfig eth0
# 启用网络接口
sudo ifconfig eth0 up
# 禁用网络接口
sudo ifconfig eth0 down
# 配置 IP 地址
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ip - 现代网络配置工具
bash
# 显示网络接口
ip addr show
# 显示路由表
ip route show
# 添加 IP 地址
sudo ip addr add 192.168.1.100/24 dev eth0
# 删除 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0
# 启用接口
sudo ip link set eth0 up
# 禁用接口
sudo ip link set eth0 down
route - 路由管理
bash
# 显示路由表
route -n
# 添加默认网关
sudo route add default gw 192.168.1.1
# 添加静态路由
sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
# 删除路由
sudo route del default
网络连接测试
ping - 网络连通性测试
bash
# 测试网络连通性
ping google.com
# 指定发送次数
ping -c 4 google.com
# 指定间隔时间
ping -i 2 google.com
# 指定数据包大小
ping -s 1000 google.com
# 显示详细统计
ping -v google.com
traceroute - 路由跟踪
bash
# 跟踪路由路径
traceroute google.com
# 指定最大跳数
traceroute -m 15 google.com
# 使用 TCP 协议
traceroute -T google.com
# 使用 UDP 协议
traceroute -U google.com
mtr - 网络诊断工具
bash
# 启动 mtr
mtr google.com
# 批处理模式
mtr -r -c 10 google.com
# 显示 IP 地址
mtr -n google.com
网络连接查看
netstat - 网络统计
bash
# 显示所有连接
netstat -an
# 显示监听端口
netstat -ln
# 显示进程信息
netstat -tulpn
# 显示路由表
netstat -r
# 显示网络接口统计
netstat -i
ss - Socket 统计
bash
# 显示所有连接
ss -an
# 显示监听端口
ss -ln
# 显示进程信息
ss -tulpn
# 显示详细信息
ss -i
# 显示 TCP 连接
ss -t
lsof - 打开的文件和网络连接
bash
# 显示网络连接
lsof -i
# 显示特定端口
lsof -i :80
# 显示特定协议
lsof -i tcp
# 显示特定进程的网络连接
lsof -i -p 1234
网络服务测试
telnet - 远程登录测试
bash
# 测试端口连接
telnet google.com 80
# 测试本地端口
telnet localhost 22
nc (netcat) - 网络工具
bash
# 测试端口连接
nc -zv google.com 80
# 监听端口
nc -l 8080
# 发送数据
echo "test" | nc localhost 8080
# 扫描端口范围
nc -zv localhost 20-30
curl - 数据传输工具
bash
# 获取网页内容
curl http://example.com
# 显示响应头
curl -I http://example.com
# 下载文件
curl -O http://example.com/file.txt
# 发送 POST 请求
curl -X POST -d "data=value" http://example.com
wget - 文件下载工具
bash
# 下载文件
wget http://example.com/file.txt
# 后台下载
wget -b http://example.com/file.txt
# 断点续传
wget -c http://example.com/file.txt
# 递归下载
wget -r http://example.com
网络配置管理
hostname - 主机名管理
bash
# 显示主机名
hostname
# 设置主机名
sudo hostname newhostname
# 显示完整主机名
hostname -f
hostnamectl - 系统主机名管理
bash
# 显示主机名信息
hostnamectl
# 设置主机名
sudo hostnamectl set-hostname newhostname
# 设置图标名称
sudo hostnamectl set-icon-name server
nmcli - NetworkManager 命令行工具
bash
# 显示连接状态
nmcli connection show
# 显示设备状态
nmcli device status
# 启用连接
nmcli connection up "connection-name"
# 禁用连接
nmcli connection down "connection-name"
网络故障排除
常见网络问题诊断
bash
# 检查网络接口状态
ip addr show
# 检查路由表
ip route show
# 测试 DNS 解析
nslookup google.com
# 检查 DNS 配置
cat /etc/resolv.conf
# 检查防火墙规则
iptables -L
# 检查网络服务状态
systemctl status network
网络性能测试
bash
# 测试网络延迟
ping -c 10 google.com
# 测试网络带宽
iperf3 -c server_ip
# 测试网络吞吐量
iperf3 -s # 服务器端
iperf3 -c server_ip # 客户端
网络监控
实时网络监控
bash
# 监控网络接口
watch -n 1 "cat /proc/net/dev"
# 监控网络连接
watch -n 1 "netstat -an | grep ESTABLISHED"
# 监控网络流量
iftop -i eth0
最佳实践
- 网络配置备份:定期备份网络配置文件
- 监控网络状态:设置网络监控和告警
- 安全配置:正确配置防火墙和网络安全
- 性能优化:根据网络环境优化网络参数
- 故障排除:建立网络故障排除流程