### IP Route 命令手册知识点详解
#### 1. 关于IP Route命令与文档
`ip route`命令是Linux操作系统中用于网络配置的核心工具,它隶属于iproute2软件包,取代了传统的网络管理工具如`ifconfig`和`route`。这份手册详细介绍了`ip`命令的使用方法,包括其语法、选项以及对各种网络对象的操作。
#### 2. IP命令语法概览
`ip`命令的基本结构为`ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]`。其中:
- **OPTIONS**:控制命令行为或输出格式的参数。
- **OBJECT**:指定操作的目标对象,如网络接口、地址、邻居、路由等。
- **COMMAND**:具体执行的操作,如添加、删除、显示等。
- **ARGUMENTS**:命令所需的具体参数。
#### 3. IP命令选项解析
- `-V` 或 `-Version`:显示`ip`命令的版本信息并退出。
- `-s`、`-stats` 或 `-statistics`:提供更详细的统计信息,重复使用增加信息量。
- `-f` 或 `-family`:指定协议家族,如`inet`(IPv4)、`inet6`(IPv6)或`link`(非网络层)。
- `-4`:等同于`-family inet`。
- `-6`:等同于`-family inet6`。
- `-0`:等同于`-family link`。
- `-o` 或 `-oneline`:每条记录使用单行输出,适合后续管道处理。
- `-r` 或 `-resolve`:解析IP地址为域名。
#### 4. 网络设备配置(`iplink`)
- **`iplink set`**:修改网络设备属性,如开启、关闭设备或更改设备MAC地址。
- **`iplink show`**:展示设备当前状态和属性。
#### 5. 协议地址管理(`ip address`)
- **`ip address add`**:添加新的协议地址。
- **`ip address delete`**:删除现有协议地址。
- **`ip address show`**:显示所有协议地址。
- **`ip address flush`**:清除所有协议地址。
#### 6. 邻接表管理(`ip neighbour`)
- **`ip neighbour add/change/replace/delete/show/flush`**:管理和维护邻接表,包括ARP表项的增删查改。
#### 7. 路由表管理
- **缩写**:如`default`、`unicast`等,简化命令输入。
- **对象**:路由条目、路由表、路由策略等。
- **属性**:如度量、优先级、下一跳等。
- **类型**:静态、动态、默认路由等。
- **表**:主路由表、用户定义的路由表等。
- **`ip route add/change/replace/delete/show/flush/get`**:管理路由条目,包括添加、修改、删除、显示和获取路由信息。
#### 8. 路由策略数据库管理(`ip rule`)
- **规则类型**:基于源地址、目标地址、端口等。
- **命令**:添加、删除、显示路由策略规则。
#### 9. 多播地址管理(`ip maddress`)
- **`ip maddress show/add/delete`**:管理多播地址,包括显示、添加和删除。
#### 10. 多播路由缓存管理(`ip mroute`)
- **`ip mroute show`**:显示多播路由缓存条目。
#### 11. 通道配置(`iptunnel`)
- **`iptunnel add/change/delete/show`**:配置和管理隧道接口。
#### 12. 状态监视(`ip monitor` 和 `rtmon`)
- 监控网络状态变化,如链路状态、地址变更、路由更新等。
#### 13. 路由范围和策略传播(`rtacct`)
- 记录和分析路由流量,支持策略路由的统计和审计。
#### 总结
`ip route`命令及其相关子命令提供了全面的网络配置和管理能力,涵盖了从简单的网络接口配置到复杂的路由策略设定。熟练掌握这些命令对于网络工程师和系统管理员来说至关重要,能够高效地进行网络故障排查、优化网络性能和实施网络安全策略。