Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux路由与IP地址占用情况

Linux查看路由与IP地址占用情况的操作指南

作者:会飞的土拨鼠呀

这篇文章主要介绍了Linux系统中查看路由表和IP地址占用情况的方法,包括分析和清理路由表、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.168.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/network-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 "net.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
查看IPip addr show, ifconfig
刷新ARPsudo ip neigh flush all
路由跟踪traceroute, mtr

最佳实践

  1. 定期清理:每月执行路由和 ARP 缓存清理
  2. 监控变更:使用审计工具跟踪网络配置变化
  3. 文档记录:维护网络拓扑和 IP 分配文档
  4. 自动化:创建脚本定期检查网络健康状态
  5. 安全加固:禁用不必要的路由功能和服务

通过以上方法,您可以有效管理和维护 Linux 系统的路由和 IP 地址资源,确保网络的高效稳定运行。

以上就是Linux查看路由与IP地址占用情况的写操作指南的详细内容,更多关于Linux路由与IP地址占用情况的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文