linux网络诊断与配置命令
linux网络诊断与配置命令详细介绍
以下是 Linux 系统中常用的网络诊断与配置命令,按功能分类整理:
一、网络诊断工具
1.
连通性检测
ping
用途:测试目标主机是否可达,以及网络延迟。
示例:ping www.baidu.com(按Ctrl+C终止)。
扩展:ping -c 4仅发送 4 个数据包,ping -I eth0指定网卡。traceroute(或tracepath)
用途:追踪数据包从本地到目标主机的路由路径。
示例:traceroute www.google.com。
2.
接口与 IP 配置查看
ifconfig(或ip addr)
用途:查看或临时配置网络接口(IP、子网掩码、MAC 地址等)。
示例:ifconfig eth0查看网卡eth0信息;ifconfig eth0 192.168.1.100临时设置 IP。
说明:新系统推荐使用ip命令(见下文)。ip
用途:更强大的网络配置工具,替代ifconfig和route。
示例:- 查看所有接口:
ip addr show - 启用 / 禁用接口:
ip link set eth0 up/down - 配置 IP:
ip addr add 192.168.1.100/24 dev eth0
- 查看所有接口:
3.
端口与连接状态
netstat
用途:显示网络连接、路由表、接口统计等信息。
常用选项:netstat -tuln:查看 TCP/UDP 监听端口netstat -an:显示所有连接(包括非活跃状态)netstat -i:查看网络接口流量统计
ss
用途:更高效的替代netstat,显示套接字状态。
示例:ss -tln(查看 TCP 监听端口)、ss -au(查看 UDP 连接)。
4.
路由表管理
route(或ip route)
用途:查看或配置路由表。
示例:- 查看路由:
route -n或ip route show - 添加默认网关:
route add default gw 192.168.1.1(或ip route add default via 192.168.1.1)
- 查看路由:
5.
DNS 诊断
nslookup或dig
用途:查询 DNS 解析结果。
示例:nslookup www.example.com,dig @8.8.8.8 www.example.com(指定 DNS 服务器)。host
用途:简单的 DNS 查询工具,语法更简洁。
示例:host -t A example.com(查询 A 记录)。
二、网络配置工具
1.
永久网络配置(需重启生效)
- 接口配置文件(以 Debian/Ubuntu 为例):
- 文件路径:
/etc/network/interfaces(传统配置)或/etc/netplan/*.yaml(现代配置,适用于 systemd)。 - 示例(静态 IP):yaml
networkd
192.168.1.100/24
192.168.1.1
8.8.8.8 8.8.4.4
- 文件路径:
- RedHat/CentOS 系列:
- 接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0。 - 常用参数:
BOOTPROTO=static(静态 IP)、IPADDR=192.168.1.100。
- 接口配置文件:
2.
动态获取 IP(DHCP)
dhclient
用途:手动触发 DHCP 客户端获取 IP。
示例:dhclient eth0(为eth0申请 IP),dhclient -r(释放 IP)。
3.
网络服务管理
systemctl
用途:控制网络服务(如 NetworkManager、systemd-networkd)。
示例:- 重启网络服务:
systemctl restart networking(传统)或systemctl restart NetworkManager(现代)。 - 查看状态:
systemctl status NetworkManager。
- 重启网络服务:
三、高级诊断与监控
1.
流量监控
tcpdump
用途:抓包分析网络流量(需管理员权限)。
示例:tcpdump -i eth0 port 80(抓取eth0接口 80 端口的流量)。wget/curl
用途:测试网络下载速度或 HTTP 连接。
示例:wget http://example.com/file.zip,curl -I http://example.com(查看 HTTP 头)。
2.
防火墙配置
iptables(传统)
用途:配置 Linux 内核防火墙规则。
示例:- 允许 SSH 连接:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT - 保存规则:
iptables-save > /etc/iptables.rules
- 允许 SSH 连接:
firewalld(CentOS 7+ 推荐)
用途:基于区域的防火墙管理工具。
示例:- 允许 HTTP 访问:
firewall-cmd --add-service=http --permanent - 重新加载配置:
firewall-cmd --reload
- 允许 HTTP 访问:
3.
性能分析
mtr
用途:结合ping和traceroute,实时显示路由节点的丢包率和延迟。
示例:mtr www.github.com。ethtool
用途:查看或配置网卡参数(如速率、双工模式)。
示例:ethtool eth0(查看信息),ethtool -s eth0 speed 100 duplex full(设置为 100Mbps 全双工)。
四、常用命令速查表
| 功能 | 命令 |
|---|---|
| 测试连通性 | ping, hping3 |
| 查看 IP / 接口信息 | ip addr, ifconfig |
| 查看路由表 | ip route, route -n |
| 查看监听端口 | netstat -tuln, ss -tln |
| DNS 解析测试 | nslookup, dig, host |
| 抓包分析 | tcpdump, tshark(需安装 Wireshark) |
| 防火墙配置 | iptables, firewalld |
| 动态 IP 配置 | dhclient, nmcli(NetworkManager) |
| 网络服务管理 | systemctl, netplan(配置文件) |
使用建议
- 优先使用
ip命令:现代 Linux 系统推荐用ip替代ifconfig和route,功能更全面。 - 防火墙安全:生产环境中避免直接使用
iptables,建议通过firewalld或图形化工具(如ufw)配置。 - 日志查看:网络问题可结合日志分析,如
/var/log/syslog( Debian )或/var/log/messages(RedHat)。
如果需要具体命令的详细用法或故障排查步骤,可以进一步说明场景,我会提供更针对性的指导。