服务公告
服务器路由命令有哪些常用技巧?
发布时间:2025-09-26 00:09
面向生产环境,服务器路由管理的核心是可控、可回滚、可观测。下面给出 Linux 为主、兼顾 Windows 的高频命令与实战技巧,直接可用,强调稳定与可维护性。🚀
1)快速定位:看得见路由与下一跳
# 查看全表(区分 IPv4/IPv6)
ip -4 route show
ip -6 route show
# 诊断某个目标将走哪条路径(包含路由表、出接口、下一跳)
ip route get 8.8.8.8
ip -6 route get 2400:3200::1
# 实时监听路由变更(变更排障神器)
ip monitor route
先“看准路径”,再动手改;排障优先
ip route get与ip monitor route。🧭
2)默认路由与度量(metric)精细化
# 设置/替换默认路由(指定优先级)
sudo ip route replace default via 192.0.2.1 dev eth0 metric 100
sudo ip -6 route replace default via fe80::1 dev eth0 metric 100
- 同一主机多出口时,用 metric 设定主备优先级;统一使用
replace避免残留重复项。
3)多线路聚合 / 负载分担(ECMP)
# 双上联等价多路径(按权重分流)
sudo ip route replace default \
nexthop via 192.0.2.1 dev eth0 weight 2 \
nexthop via 198.51.100.1 dev eth1 weight 1
- ECMP 适合同类链路;异构链路建议主备,不建议强行分流,避免时延抖动与会话粘滞问题。⚖️
4)策略路由(按源网段/业务分流)
# ① 注册自定义路由表(一次性)
echo "100 biz" | sudo tee -a /etc/iproute2/rt_tables
# ② 为特定源网段指定路由表
sudo ip rule add from 10.10.10.0/24 table biz priority 1000
# ③ 在该表里下发默认路由/静态路由
sudo ip route add default via 203.0.113.1 dev eth1 table biz
- 典型用于“办公网→链路 A,业务网→链路 B”的分流;变更前先
ip rule show与ip route show table biz校验。🧩
按业务打标分流(fwmark)
# mangle 打标(示例:443 流量走 biz 表)
sudo iptables -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 100
sudo ip rule add fwmark 100 table biz priority 900
新系统更推荐 nftables,但生产上仍大量混用,注意统一变更记录。📒
5)黑洞/禁止路由(快速止血)
# 丢弃异常网段或环路流量
sudo ip route add blackhole 203.0.113.0/24
# 或返回不可达(上游快速失败)
sudo ip route add unreachable 203.0.113.0/24
- 黑洞用于压制回流/环路;“unreachable”利于应用快速回退。
6)邻居与网关连通性
# 校验/刷新邻居项(ARP/ND)
ip neigh show dev eth0
sudo ip neigh flush dev eth0
# 探测网关可达
arping -I eth0 192.0.2.1 -c 3
- 大规模变更后清理邻居缓存,降低错误学习带来的误判。🔧
7)MTU/MSS 与链路可靠性
# 降低特定出口 MTU(例如叠加隧道时)
sudo ip link set dev eth1 mtu 1400
# 针对转发流量,按 PMTU 自动夹紧 MSS(防碎片/黑洞)
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
- 先用
ping -M do -s 1472 <目标>试探 PMTU,再决定是否下调或夹 MSS。🛠️
8)反向路径校验(rp_filter)与非对称路由
# 非对称回程常见场景:建议宽松模式(2)
sudo sysctl -w net.ipv4.conf.all.rp_filter=2
sudo sysctl -w net.ipv4.conf.default.rp_filter=2
# 持久化写入 /etc/sysctl.d/99-routing.conf 后 reload
- 单出口且安全域清晰时可用严格模式(1);多出口/策略路由场景建议(2)避免误丢包。🔒
9)持久化方式(选一即可)
Netplan(Ubuntu/Debian 新系统)
# /etc/netplan/01-prod.yaml
network:
version: 2
ethernets:
eth0:
addresses: [192.0.2.10/24]
routes:
- to: default
via: 192.0.2.1
metric: 100
- to: 203.0.113.0/24
via: 192.0.2.2
sudo netplan apply
nmcli(RHEL/CentOS/泛化方案)
nmcli con mod eth0 +ipv4.routes "0.0.0.0/0 192.0.2.1 100"
nmcli con up eth0
统一通过自动化模板下发,避免手工漂移;所有更改进入审计与回滚清单。📈
10)Windows 服务器要点(顺手一提)
# 永久静态路由
route -p add 10.10.0.0 mask 255.255.0.0 192.168.1.1 metric 20
# PowerShell 原生
New-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceAlias "Ethernet" `
-NextHop 192.168.1.1 -RouteMetric 10 -PolicyStore PersistentStore
# 连通性与路径
Test-NetConnection 1.1.1.1 -TraceRoute
收束:把“查看→下发→验证→持久化→审计”做成标准化流程,并用 metric、策略路由与黑洞路由三件套,就能在多出口/多业务并存的服务器环境里实现稳定、可演进的路由治理。需要的话,我可以按你的现网导出一份“路由基线 + 回滚脚本”模板包。💼✨
已经是第一篇啦!
下一篇: 集团型企业网络如何高效搭建与统一管理?