服務器路由相關配置Linux和Windows
- centos路由系統核心概念
- 傳統工具集(命令)
- iproute2 工具集(推薦)
- NetworkManager 工具
- 路由配置文件體系
- 高級路由功能
- 策略路由
- 多路徑路由
- 路由監控工具
- 系統級路由配置
- 啟用IP轉發
- 路由守護進程
- 路由問題診斷流程
- Windows 路由
- Windows 路由表核心組成
- 路由管理工具
- 命令提示符(CMD)
- PowerShell
- 持久化路由存儲位置
- 路由診斷與監控
- 常見問題解決方案
centos路由系統核心概念
- CentOS 7 使用三層路由表結構:
- 主路由表:系統默認路由表
- 本地路由表:管理本地網絡接口路由
- 自定義路由表:通過策略路由管理
- 關鍵組件
- 路由表:存儲路由規則
- 路由策略數據庫:決定使用哪個路由表
- 轉發機制:控制數據包轉發行為
傳統工具集(命令)
# 查看路由表
route -n
# 添加路由
route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.1
# 刪除路由
route del -net 10.0.0.0/8
iproute2 工具集(推薦)
# 查看主路由表
ip route show
# 查看所有路由表
ip route show table all
# 添加永久路由(需配合配置文件)
ip route add 10.1.0.0/16 via 192.168.1.254 dev eth0
NetworkManager 工具
# 查看連接
nmcli connection show
# 添加永久路由
nmcli connection modify eth0 +ipv4.routes "10.2.0.0/16 192.168.1.254"
路由配置文件體系
核心配置文件
文件路徑 | 功能描述 |
---|---|
/etc/sysconfig/network | 全局網絡參數 |
/etc/sysconfig/network-scripts/route- | 接口靜態路由 |
/etc/sysconfig/network-scripts/rule- | 策略路由規則 |
路由配置文件示例
vim /etc/sysconfig/network-scripts/route-eth0
# 傳統格式
ADDRESS0=10.5.0.0
NETMASK0=255.255.0.0
GATEWAY0=192.168.1.1# 新格式
10.6.0.0/16 via 192.168.1.2 dev eth0
高級路由功能
策略路由
# 創建自定義路由表
echo "200 custom_table" >> /etc/iproute2/rt_tables
# 添加路由到自定義表
ip route add 10.7.0.0/16 via 192.168.1.3 table custom_table
# 創建路由策略
ip rule add from 192.168.2.0/24 lookup custom_table
多路徑路由
ip route add default \nexthop via 192.168.1.1 dev eth0 weight 1 \nexthop via 192.168.2.1 dev eth1 weight 1
路由監控工具
# 實時路由監控
ip monitor route# 路由緩存查看
ip route get 8.8.8.8
系統級路由配置
啟用IP轉發
# 臨時啟用
echo 1 > /proc/sys/net/ipv4/ip_forward# 永久啟用
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
路由守護進程
# 安裝Quagga路由套件
yum install quagga# 配置OSPF/BGP等動態路由協議
vim /etc/quagga/ospfd.conf
路由問題診斷流程
查看當前路由表
route -n
# 或
ip route show
# 或
netstat -rn
檢查默認路由
ip route | grep default
基礎檢查:
ip link show # 接口狀態
ip addr show # IP配置
ping <網關> # 網關連通性
路由追蹤:
traceroute -n 8.8.8.8
tracepath 8.8.8.8
詳細分析
tcpdump -i eth0 -nn 'icmp or arp'
netstat -rn # 完整路由表
ip route get 8.8.8.8 # 詳細路徑分析
Windows 路由
Windows 路由表核心組成
- 網絡目標(Network Destination):目標網絡或主機地址
- 網絡掩碼(Netmask):目標網絡的子網掩碼
- 網關(Gateway):數據包下一跳地址
- 接口(Interface):本地輸出接口的IP地址
- 躍點數(Metric):路由優先級(值越小優先級越高)
- 特殊路由條目
- 0.0.0.0/0.0.0.0:默認路由
- 127.0.0.0/255.0.0.0:本地環回路由
- 224.0.0.0/240.0.0.0:組播路由
路由管理工具
命令提示符(CMD)
#查看完整路由表
route print
# 添加永久路由
route -p add 192.168.5.0 mask 255.255.255.0 192.168.1.1
#刪除路由
route delete 192.168.5.0
#修改路由(需先刪除再添加)
route change 192.168.5.0 mask 255.255.255.0 192.168.1.2
PowerShell
# 查看路由表
Get-NetRoute
# 添加路由
New-NetRoute -DestinationPrefix "10.0.0.0/24" -NextHop 192.168.1.1 -InterfaceAlias "Ethernet"
# 刪除路由
Remove-NetRoute -DestinationPrefix "10.0.0.0/24" -Confirm:$false
# 查看路由緩存
Get-NetRouteCache
持久化路由存儲位置
注冊表路徑:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
路由診斷與監控
- 連通性測試
# 基本連通性
ping 8.8.8.8
# 路徑追蹤
tracert www.google.com
# 路徑MTU發現
ping -f -l 1500 www.microsoft.com
- 高級診斷工具
# 路由表分析
Get-NetRoute | Format-Table -AutoSize
# 接口指標查看
Get-NetAdapter | Select-Object Name, InterfaceMetric
常見問題解決方案
- 路由不生效:
- 檢查防火墻設置
- 驗證網關可達性
- 確認接口指標值
路由沖突
# 查找沖突路由
Get-NetRoute | Group-Object DestinationPrefix | Where-Object {$_.Count -gt 1}
VPN路由問題
# 查看VPN連接路由
Get-VpnConnectionRoute -Name "CorporateVPN"