当前位置: 代码网 > 服务器>服务器>Linux > Linux查看路由与IP地址占用情况的操作指南

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

2025年10月27日 Linux 我要评论
在 linux 系统中,查看路由表和 ip 地址占用情况是网络管理的基础任务。以下是专业的分析和清理方法:路由表分析1. 查看完整路由表ip route show# 或route -n2. 分析路由表

在 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地址占用情况的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com