服务公告

服务公告 > 行业新闻 > 服务器路由命令有哪些常用技巧?

服务器路由命令有哪些常用技巧?

发布时间: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、策略路由与黑洞路由三件套,就能在多出口/多业务并存的服务器环境里实现稳定、可演进的路由治理。需要的话,我可以按你的现网导出一份“路由基线 + 回滚脚本”模板包。💼✨

已经是第一篇啦!

下一篇: 集团型企业网络如何高效搭建与统一管理?