208 lines
3.3 KiB
Markdown
208 lines
3.3 KiB
Markdown
## 1、网络管理概览
|
||
|
||
Linux 网络管理中,常见关注点包括:
|
||
|
||
- 地址解析与邻居表
|
||
- 端口和连接状态
|
||
- 路由
|
||
- 网卡信息
|
||
- 网络带宽和连接统计
|
||
|
||
常用命令包括:`arp`、`ip`、`netstat`、`ss`、`nload` 等。
|
||
|
||
## 2、ARP 与邻居信息
|
||
|
||
### 2.1 `arp`
|
||
|
||
`arp` 用于查看或管理 ARP 缓存表,即 IP 地址和 MAC 地址的映射关系。
|
||
|
||
常见选项:
|
||
|
||
- `-a`:显示所有 ARP 条目
|
||
- `-d`:删除指定主机条目
|
||
- `-i`:指定网卡接口
|
||
- `-s`:手动添加静态映射
|
||
- `-n`:以数字形式显示
|
||
|
||
示例:
|
||
|
||
```shell
|
||
arp -a
|
||
```
|
||
|
||
使用场景:
|
||
|
||
- 检查局域网 IP 与 MAC 的对应关系
|
||
- 排查 ARP 缓存异常
|
||
|
||
## 3、连接和端口查看
|
||
|
||
### 3.1 `netstat`
|
||
|
||
`netstat` 是传统网络统计命令,现在很多场景已被 `ss` 替代,但仍然常见。
|
||
|
||
常见选项:
|
||
|
||
- `-t`:TCP
|
||
- `-u`:UDP
|
||
- `-l`:监听状态
|
||
- `-a`:所有状态
|
||
- `-n`:显示数字地址和端口
|
||
- `-p`:显示进程信息
|
||
- `-s`:显示协议统计信息
|
||
|
||
示例:
|
||
|
||
```shell
|
||
netstat -ntlp
|
||
```
|
||
|
||
查看当前监听端口及对应进程。
|
||
|
||
```shell
|
||
netstat -n | grep TIME_WAIT | wc -l
|
||
```
|
||
|
||
统计 `TIME_WAIT` 连接数量。
|
||
|
||
### 3.2 `ss`
|
||
|
||
`ss` 是更现代、更快的套接字查看工具。
|
||
|
||
常见选项:
|
||
|
||
- `-n`:不解析服务名
|
||
- `-a`:显示所有套接字
|
||
- `-l`:显示监听状态
|
||
- `-p`:显示进程
|
||
- `-t`:TCP
|
||
- `-u`:UDP
|
||
- `-4`:仅 IPv4
|
||
- `-6`:仅 IPv6
|
||
- `-m`:显示内存使用
|
||
- `-i`:显示 TCP 内部信息
|
||
|
||
示例:
|
||
|
||
```shell
|
||
ss -ntlp
|
||
```
|
||
|
||
```shell
|
||
ss -4 state time-wait | wc -l
|
||
```
|
||
|
||
## 4、网卡与 IP 管理
|
||
|
||
### 4.1 `ip a`
|
||
|
||
```shell
|
||
ip a
|
||
```
|
||
|
||
用于查看:
|
||
|
||
- 网卡名称
|
||
- IPv4 / IPv6 地址
|
||
- 网卡状态
|
||
- MAC 地址
|
||
|
||
### 4.2 `ip route`
|
||
|
||
```shell
|
||
ip route
|
||
```
|
||
|
||
用于查看当前路由表。
|
||
|
||
示例输出通常包含:
|
||
|
||
- 默认路由
|
||
- 直连网段路由
|
||
- 静态路由
|
||
|
||
### 4.3 添加和删除静态路由
|
||
|
||
添加:
|
||
|
||
```shell
|
||
ip route add 192.168.30.201 via 192.168.30.11 dev ens32
|
||
```
|
||
|
||
删除:
|
||
|
||
```shell
|
||
ip route del 192.168.30.201
|
||
```
|
||
|
||
### 4.4 查看某个目标的路由路径
|
||
|
||
```shell
|
||
ip route get 8.8.8.8
|
||
```
|
||
|
||
这个命令在排查“访问某个地址到底从哪个网卡出去”时很有用。
|
||
|
||
## 5、带宽与流量查看
|
||
|
||
### 5.1 `nload`
|
||
|
||
`nload` 是一个简单直观的带宽监控工具。
|
||
|
||
```shell
|
||
nload -m
|
||
```
|
||
|
||
常见用途:
|
||
|
||
- 快速观察实时流量变化
|
||
- 排查网络高峰或带宽占用异常
|
||
|
||
## 6、常见运维场景
|
||
|
||
### 6.1 查服务端口是否监听
|
||
|
||
```shell
|
||
ss -ntlp
|
||
```
|
||
|
||
### 6.2 查连接状态是否异常
|
||
|
||
```shell
|
||
ss -s
|
||
netstat -s
|
||
```
|
||
|
||
### 6.3 查默认路由是否正确
|
||
|
||
```shell
|
||
ip route
|
||
```
|
||
|
||
### 6.4 查单个目标走哪条路由
|
||
|
||
```shell
|
||
ip route get 目标IP
|
||
```
|
||
|
||
### 6.5 查局域网 ARP 映射
|
||
|
||
```shell
|
||
arp -a
|
||
```
|
||
|
||
## 7、现代使用建议
|
||
|
||
- 新系统中优先使用 `ip` 和 `ss`
|
||
- `netstat` 仍然值得会看,因为很多老文档和线上环境还在用
|
||
- 排查端口问题时,优先关注“是否监听、监听在哪个地址、对应哪个进程”
|
||
- 排查网络问题时,通常按“网卡 → IP → 路由 → 端口 → 流量”这个顺序看
|
||
|
||
## 8、小结
|
||
|
||
- `arp` 用于看 IP 和 MAC 的映射
|
||
- `ip a` 看网卡和地址,`ip route` 看路由
|
||
- `netstat` 和 `ss` 用于查看连接、端口和协议统计
|
||
- `ss` 更现代,推荐优先掌握
|
||
- `nload` 适合快速看实时带宽变化
|