第14章 连接

所属:第五部分 网络 来源:Linux命令速查手册

网络连接配置和排错是Linux系统管理的重要部分。本章介绍网络接口查看、连通性测试、路由配置等基础命令。


14.1 查看网络接口状态

ifconfig(传统命令)

ifconfig
ifconfig eth0

查看网络接口信息:IP地址、子网掩码、MAC地址、收发数据包统计等。

ip 命令(现代推荐)

ip addr
ip a
ip addr show eth0

iproute2 工具集的命令,是ifconfig的现代替代,功能更强大。

查看接口状态

ip link show

查看网络接口的物理状态(UP/DOWN)。


14.2 验证计算机是否正在运行和能否接收请求

ping hostname
ping -c 4 hostname    # 只发4个包
ping -i 0.5 hostname  # 间隔0.5秒

测试网络连通性,发送ICMP echo请求。

  • Ctrl+c 停止
  • 能通说明网络基本可达
  • 不通可能是目标禁ping或真的不通

ping6

ping6 ipv6_address
ping -6 hostname

测试IPv6连通性。


14.3 跟踪数据包在两台主机之间经过的路由

traceroute hostname
tracepath hostname

追踪数据包从本机到目标经过的所有路由节点,看卡在哪一跳。

  • traceroute 功能全
  • tracepath 不需要root权限

mtr(增强版)

mtr hostname

结合了traceroute和ping的功能,实时显示每一跳的丢包率和延迟,排错神器。


14.4 执行DNS查询

nslookup

nslookup hostname
nslookup 8.8.8.8

DNS查询,正向解析(域名→IP)或反向解析(IP→域名)。

dig(推荐)

dig hostname
dig @8.8.8.8 hostname    # 指定DNS服务器
dig -x ip_address        # 反向解析
dig MX domain.com        # 查询MX记录

更详细的DNS查询工具,信息更全,排错首选。

host

host hostname

简洁的DNS查询。


14.5 配置网络接口

ifconfig 方式

ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ifconfig eth0 up
ifconfig eth0 down

临时配置IP,重启后失效。

ip 命令方式

ip addr add 192.168.1.100/24 dev eth0
ip addr del 192.168.1.100/24 dev eth0
ip link set eth0 up
ip link set eth0 down

现代写法。

永久配置需要修改网络配置文件(不同发行版位置不同),或使用NetworkManager。


14.6 查看无线网络接口的状态

iwconfig
iw dev wlan0 link
iw dev wlan0 info

查看无线网卡状态:连接的SSID、信号强度、频率等。

扫描附近WiFi

iwlist wlan0 scan
iw dev wlan0 scan

扫描周围的无线网络。


14.7 配置无线网络接口

iwconfig wlan0 essid "network_name"
iwconfig wlan0 key s:password

配置无线网络名称和密码。

实际使用中通常用 NetworkManager、wpa_supplicant 等工具管理WiFi,命令行直接配比较麻烦。

连接WiFi的现代方式

# 使用nmcli(NetworkManager命令行)
nmcli dev wifi connect "SSID" password "密码"

14.8 使用DHCP获得新的网络地址

dhclient eth0
dhcpcd eth0

通过DHCP自动获取IP地址。

释放现有IP:

dhclient -r eth0

14.9 启动网络连接

ifup eth0
ip link set eth0 up

启用网络接口。

系统服务方式

systemctl start NetworkManager
service network start

14.10 关闭网络连接

ifdown eth0
ip link set eth0 down

禁用网络接口。


14.11 显示IP路由表

route 命令

route -n

查看路由表。-n 不解析域名,速度快。

ip route(推荐)

ip route
ip r

现代方式查看路由表。

查看默认网关:

ip route show default

14.12 修改IP路由表

添加默认网关

route add default gw 192.168.1.1
ip route add default via 192.168.1.1

添加静态路由

route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1
ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0

删除路由

route del default gw 192.168.1.1
ip route del 10.0.0.0/8

14.13 解决网络问题

网络排错步骤(由近及远)

  1. 检查本地TCP/IP协议栈
ping 127.0.0.1

不通 → 本机网络协议栈有问题

  1. 检查本机网卡
ping 本机IP
ip addr

不通 → 网卡配置或驱动问题

  1. 检查网关/局域网
ping 网关IP

不通 → 网线、路由器或内网问题

  1. 检查外网连通性
ping 8.8.8.8
ping 114.114.114.114

不通 → 出口或运营商问题

  1. 检查DNS解析
ping google.com
nslookup google.com
dig google.com

IP能通但域名不通 → DNS配置问题

其他排错命令

# 查看接口统计(有没有丢包错包)
ifconfig eth0
ip -s link show eth0
 
# 查看ARP表
arp -a
ip neigh
 
# 查看监听端口
netstat -tlnp
ss -tlnp
 
# 追踪路由
traceroute hostname
mtr hostname

14.14 小结

网络命令速查

功能传统命令现代命令 (iproute2)
查看接口ifconfigip addr / ip link
配置IPifconfig eth0 IPip addr add IP dev eth0
启用接口ifup eth0ip link set eth0 up
禁用接口ifdown eth0ip link set eth0 down
查看路由route -nip route
添加路由route add ...ip route add ...
连通测试pingping
路由追踪traceroutemtr
DNS查询nslookupdig
查看端口netstatss

排错口诀

先看接口再ping,先ping IP再ping名,一层一层往外查。


Linux Shell 网络 ifconfig ip ping 路由 DNS 排错