Linux查看路由與IP地址占用情況的操作指南
更新時間:2025年10月27日 10:28:07 作者:會飛的土撥鼠呀
這篇文章主要介紹了Linux系統(tǒng)中查看路由表和IP地址占用情況的方法,包括分析和清理路由表、IP地址占用分析,以及路由與IP的清理方法,此外,還提供了高級分析工具、診斷流程、持久化配置管理、安全最佳實踐、監(jiān)控與日志分析和常見問題解決方法,需要的朋友可以參考下
在 Linux 系統(tǒng)中,查看路由表和 IP 地址占用情況是網絡管理的基礎任務。以下是專業(yè)的分析和清理方法:
路由表分析
1. 查看完整路由表
ip route show # 或 route -n
2. 分析路由表結構
# 顯示路由表詳細信息 ip -d route show # 按協(xié)議過濾路由 ip route show proto kernel # 內核路由 ip route show proto static # 靜態(tài)路由
3. 路由表關鍵字段解讀
| 字段 | 含義 | 示例 |
|---|---|---|
default via | 默認網關 | default via 192.168.1.1 dev eth0 |
src | 源地址 | src 192.168.1.100 |
metric | 路由優(yōu)先級 | metric 100 |
scope | 作用域 | scope link (本地鏈路) |
proto | 路由來源 | kernel (內核), static (靜態(tài)) |
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 # 按狀態(tài)過濾 ss -t state established
3. 路由表監(jiān)控
# 實時監(jiān)控路由變化 watch -n 1 "ip route show"
路由問題診斷流程
graph TD
A[無法訪問目標] --> B{檢查默認網關}
B -->|正常| C[檢查目標路由]
B -->|異常| D[修復網關配置]
C -->|存在| E[檢查ARP緩存]
C -->|不存在| F[添加靜態(tài)路由]
E -->|完整| G[檢查防火墻]
E -->|缺失| H[刷新ARP緩存]
G -->|允許| I[檢查目標服務]
G -->|拒絕| J[調整防火墻]
持久化配置管理
1. 網絡配置文件位置
| 系統(tǒng) | 配置文件 |
|---|---|
| Debian/Ubuntu | /etc/network/interfaces |
| RHEL/CentOS | /etc/sysconfig/network-scripts/ifcfg-* |
| 通用 | /etc/netplan/*.yaml |
2. 靜態(tài)路由配置示例
# 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轉發(fā)(非路由器) 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
監(jiān)控與日志分析
1. 路由變更日志
# 記錄路由變更 sudo apt install auditd sudo auditctl -w /etc/network/interfaces -p wa -k network_config
2. 實時網絡監(jiān)控
# 使用 iftop 監(jiān)控流量 sudo iftop -i eth0 # 使用 nload 監(jiān)控帶寬 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 |
最佳實踐
- 定期清理:每月執(zhí)行路由和 ARP 緩存清理
- 監(jiān)控變更:使用審計工具跟蹤網絡配置變化
- 文檔記錄:維護網絡拓撲和 IP 分配文檔
- 自動化:創(chuàng)建腳本定期檢查網絡健康狀態(tài)
- 安全加固:禁用不必要的路由功能和服務
通過以上方法,您可以有效管理和維護 Linux 系統(tǒng)的路由和 IP 地址資源,確保網絡的高效穩(wěn)定運行。
以上就是Linux查看路由與IP地址占用情況的寫操作指南的詳細內容,更多關于Linux路由與IP地址占用情況的資料請關注腳本之家其它相關文章!
相關文章
21個常用的apache .htaccess文件配置技巧分享
這篇文章主要介紹了21個常用的apache .htaccess文件配置技巧分享,涵蓋了網站中最常用的一些功能需求解決辦法,需要的朋友可以參考下2014-07-07
CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)環(huán)境(教程詳解)
LEMP是一個軟件堆棧,包含一組免費的開源工具,這些工具用于為高流量和動態(tài)網站提供動力。 這篇文章給大家介紹如何在CentOS 8 Linux發(fā)行版上安裝LEMP服務器,本文通過實例代碼給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友參考下吧2020-03-03
ubuntu lighttpd+webpy (fastcgi)配置方法
首先安裝 lighttpd 和 webpy,因為用 kpackagekit 做軟件管理,在安裝 webpy 的時候會自動安裝 flup2009-07-07

