服务器路由相关配置Linux和Windows
服务器路由相关配置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"