Linux 网络管理
# Linux 网络管理
本章介绍 Linux 网络管理的基础知识,包括 IP 地址、DNS、网关、子网掩码等网络基本概念,常用的网络工具命令,Linux 网络配置(静态/动态 IP),端口管理,以及使用 tcpdump
进行网络抓包分析。
# 1. 网络基本概念(IP, DNS, 网关, 子网掩码)
# (1)IP 地址(Internet Protocol Address)
IP 地址用于标识网络中的设备,每个设备都有唯一的 IP 地址。
- IPv4:如
192.168.1.1
,由 4 组 8 位二进制(共 32 位)组成。 - IPv6:如
2001:db8::1
,采用 128 位,提供更大地址空间。
IP 地址分为两类:
公网 IP:互联网中唯一,如
8.8.8.8
(Google DNS)。私有 IP
(局域网使用):
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
# (2)DNS(Domain Name System)
DNS 将域名(如 www.google.com
)解析为 IP 地址(如 142.250.72.68
)。
常见公共 DNS:
- Google DNS:
8.8.8.8
/8.8.4.4
- Cloudflare DNS:
1.1.1.1
- OpenDNS:
208.67.222.222
查看 DNS 解析:
nslookup google.com
dig google.com
1
2
2
# (3)网关(Gateway)
网关是连接不同网络的设备(如路由器)。默认网关用于访问外部网络:
ip route show
1
示例输出:
default via 192.168.1.1 dev eth0 proto static
1
表示网关 IP 为 192.168.1.1
。
# (4)子网掩码(Subnet Mask)
子网掩码用于区分网络部分和主机部分:
255.255.255.0
(/24
):可容纳 254 个主机。255.255.0.0
(/16
):可容纳 65534 个主机。
计算子网:
ipcalc 192.168.1.0/24
1
# 2. 网络命令(ifconfig, ip, netstat, ss, ping, traceroute, nc)
# (1)查看网络接口
# ifconfig(已被弃用)
ifconfig eth0
1
# ip(推荐)
ip a # 查看所有网络接口信息
ip link show # 查看网络接口状态
1
2
2
# (2)网络连接状态
# netstat(已被 ss 替代)
netstat -tulnp # 显示所有监听端口
1
# ss(推荐)
ss -tulnp # 显示 TCP/UDP 监听端口
ss -s # 显示连接统计信息
1
2
2
# (3)测试网络连接
# ping(测试主机是否可达)
ping -c 4 8.8.8.8
1
# traceroute(跟踪网络路径)
traceroute google.com
1
# nc(Netcat,测试端口连通性)
nc -zv 192.168.1.1 22
1
# 3. Linux 网络配置(静态 IP / 动态 IP)
# (1)动态 IP(DHCP)
dhclient eth0 # 获取 DHCP 分配的 IP
1
# (2)静态 IP 配置
编辑 /etc/network/interfaces
(Debian/Ubuntu):
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
1
2
3
4
5
6
2
3
4
5
6
然后重启网络:
systemctl restart networking
1
在 RHEL/CentOS,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
:
BOOTPROTO=static
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
ONBOOT=yes
1
2
3
4
5
6
7
2
3
4
5
6
7
重启网络:
systemctl restart network
1
# 4. 端口管理(netstat, lsof, ss)
# (1)使用 netstat
netstat -tulnp # 查看监听的端口
1
# (2)使用 lsof
lsof -i :80 # 查看占用 80 端口的进程
1
# (3)使用 ss
ss -tulnp # 显示监听的 TCP/UDP 端口
ss -at | grep ESTAB # 查看已建立的 TCP 连接
1
2
2
# 5. 使用 tcpdump
进行网络抓包
# (1)基本用法
tcpdump -i eth0
1
抓取 TCP 端口 80(HTTP)的数据包:
tcpdump -i eth0 port 80
1
# (2)保存抓包
tcpdump -i eth0 -w capture.pcap
1
使用 Wireshark
分析 capture.pcap
文件。
# (3)过滤特定数据
tcpdump -i eth0 src 192.168.1.1
tcpdump -i eth0 dst port 443
1
2
2
编辑 (opens new window)
上次更新: 2025/04/01, 01:48:12