目录
- 路由表分析
- 1. 查看完整路由表
- 2. 分析路由表结构
- 3. 路由表关键字段解读
- IP 地址占用分析
- 1. 查看所有接口 IP
- 2. 分析 IP 使用情况
- 3. 识别占用 IP 的设备
- 路由与 IP 清理方法
- 1. 清理无效路由
- 2. 清理 ARP 缓存
- 3. 释放 DHCP 租约
- 4. 清理网络命名空间
- 高级分析工具
- 1. 路由跟踪
- 2. 网络连接分析
- 3. 路由表监控
- 路由问题诊断流程
- 持久化配置管理
- 1. 网络配置文件位置
- 2. 静态路由配置示例
- 3. 防止路由泄漏
- 安全最佳实践
- 1. 路由安全加固
- 2. ARP 保护
- 3. 定期清理脚本
- 监控与日志分析
- 1. 路由变更日志
- 2. 实时网络监控
- 3. 日志分析命令
- 常见问题解决
- 问题:路由表混乱
- 问题:IP 地址冲突
- 问题:路由不可达
- 总结
- 路由与 IP 管理命令速查
- 最佳实践
在 linux 系统中,查看路由表和 IP 地址占用情况是网络管理的基础任务。以下是专业的分析和清理方法:
路由表分析
1. 查看完整路由表
ip route show # 或 route -n
2. 分析路由表结构
# 显示路由表详细信息 ip -d route show # 按协议过滤路由 ip route show proto kernel # 内核路由 ip route show proto static # 静态路由
3. 路由表关键字段解读
| 字段 | 含义 | 示例 | 
|---|---|---|
| default via | 默认网关 | default via 192.168.1.1 dev eth0 | 
| src | 源地址 | src 192.168.1.100 | 
| metric | 路由优先级 | metric 100 | 
| scope | 作用域 | scope link(本地链路) | 
| proto | 路由来源 | kernel(内核),static(静态) | 
IP 地址占用分析
1. 查看所有接口 IP
ip addr show # 或 ifconfig
2. 分析 IP 使用情况
# 查看 ARP 表(IP-MAC 映射) ip neigh show arp -n # 查看网络连接 ss -tunap netstat -tunap
3. 识别占用 IP 的设备
# 扫描本地网络 nmap -sn 192.python168.1.0/24 # 使用 arp-scan sudo arp-scan -l --interface=eth0
路由与 IP 清理方法
1. 清理无效路由
# 删除特定路由 sudo ip route del 10.0.0.0/24 via 192.168.1.1 # 删除所有非永久路由 sudo ip route flush cache
2. 清理 ARP 缓存
# 清除整个 ARP 表 sudo ip neigh flush all # 清除特定 IP 的 ARP 记录 sudo ip neigh del 192.168.1.50 dev eth0
3. 释放 DHCP 租约
# 释放 IP sudo dhclient -r eth0 # 重新获取 IP sudo dhclient eth0
4. 清理网络命名空间
# 列出所有网络命名空间 编程ip netns list # 清理无效命名空间 sudo ip netns delete old_namespace
高级分析工具
1. 路由跟踪
# 基本路由跟踪 traceroute google.com # 高级路由诊断 mtr google.com
2. 网络连接分析
# 查看所有 TCP 连接 ss -t -a # 查看 UDP 连接 ss -u -a # 按状态过滤 ss -t state established
3. 路由表监控
# 实时监控路由变化 watch -n 1 "ip route show"
路由问题诊断流程
graph TD
    A[无法访问目标] --> B{检查默认网关}
    B -->|正常| C[检查目标路由]
    B -->|异常| D[修复网关配置]
    C -->|存在| E[检查ARP缓存]
    C -->|不存在| F[添加静态路由]
    E -->|完整| G[检查防火墙]
    E -->|缺失| H[刷新ARP缓存]
    G -->|允许| I[检查目标服务]
    G -->|拒绝| J[调整防火墙]
持久化配置管理
1. 网络配置文件位置
| 系统 | 配置文件 | 
|---|---|
| Debian/Ubuntu | /etc/network/interfaces | 
| RHEL/Centos | /etc/sysconfig/nepythontwork-scripts/ifcfg-* | 
| 通用 | /etc/netplan/*.yaml | 
2. 静态路由配置示例
# Ubuntu (netplan)
network:
  version: 2
  ethernets:
    eth0:
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1
          metric: 100
# CentOS
echo "10.0.0.0/24 via 192.168.1.1 dev eth0" | sudo tee -a /etc/sysconfig/network-scripts/route-eth0
3. 防止路由泄漏
# 关闭源路由 sudo sysctl -w net.ipv4.conf.all.accept_source_route=0 sudo sysctl -w net.ipv4.conf.default.accept_source_route=0 # 永久生效 echo "nethttp://www.devze.com.ipv4.conf.all.accept_source_route=0" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.conf.default.accept_source_route=0" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
安全最佳实践
1. 路由安全加固
# 禁用ICMP重定向 sudo sysctl -w net.ipv4.conf.all.accept_redirects=0 sudo sysctl -w net.ipv4.conf.default.accept_redirects=0 # 关闭IP转发(非路由器) sudo sysctl -w net.ipv4.ip_forward=0
2. ARP 保护
# 启用ARP验证 sudo sysctl -w net.ipv4.conf.all.arp_ignore=1 sudo sysctl -w net.ipv4.conf.all.arp_announce=2
3. 定期清理脚本
#!/bin/bash
# 网络清理脚本
# 刷新ARP缓存
ip neigh flush all
# 清除路由缓存
ip route flush cache
# 释放所有接口IP
for intf in $(ip link show | grep '^[0-9]' | awk -F: '{print $2}'); do
    dhclient -r $intf
    dhclient $intf
done
# 重启网络服务
systemctl restart networking
监控与日志分析
1. 路由变更日志
# 记录路由变更 sudo apt install auditd sudo auditctl -w /etc/network/interfaces -p wa -k network_config
2. 实时网络监控
# 使用 iftop 监控流量 sudo iftop -i eth0 # 使用 nload 监控带宽 nload eth0
3. 日志分析命令
# 查看网络相关日志 journalctl -u NetworkManager journalctl -u systemd-networkd # 分析连接日志 grep "kernel:" /var/log/syslog | grep "NET"
常见问题解决
问题:路由表混乱
解决方案:
# 重置路由表 sudo ip route flush all sudo systemctl restart networking # 重新添加默认路由 sudo ip route add default via 192.168.1.1
问题:IP 地址冲突
解决方案:
# 检测冲突 arping -I eth0 -c 3 192.168.1.100 # 释放并更新IP sudo dhclient -r eth0 sudo dhclient eth0
问题:路由不可达
诊断步骤:
# 检查网关可达性 ping 192.168.1.1 # 检查目标路由 ip route get 8.8.8.8 # 检查MTU ip link show eth0 | grep mtu
总结
路由与 IP 管理命令速查
| 任务 | 命令 | 
|---|---|
| 查看路由 | ip route show,route -n | 
| 添加路由 | sudo ip route add 10.0.0.0/24 via 192.168.1.1 | 
| 删除路由 | sudo ip route del 10.0.0.0/24 | 
| 查看IP | ip addr show,ifconfig | 
| 刷新ARP | sudo ip neigh flush all | 
| 路由跟踪 | traceroute,mtr | 
最佳实践
- 定期清理:每月执行路由和 ARP 缓存清理
- 监控变更:使用审计工具跟踪网络配置变化
- 文档记录:维护网络拓扑和 IP 分配文档
- 自动化:创建脚本定期检查网络健康状态
- 安全加固:禁用不必要的路由功能和服务
通过以上方法,您可以有效管理和维护 Linux 系统的路由和 IP 地址资源,确保网络的高效稳定运行。
以上就是Linux查看路由与IP地址占用情况的写操作指南的详细内容,更多关于Linux路由与IP地址占用情编程客栈况的资料请关注编程客栈(www.devze.com)其它相关文章!
 
         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论