1.
接入前准备与需求确认
明确目标:是做专线/私有互联(private peering)还是购买带 CN2 路由的 IP 传输(transit)?向马来西亚本地 ISP 或 MDC(数据中心)确认是否能提供 CN2/ChinaNet-CN2 互联、支持的 VLAN、对端 ASN、对端 IP、MTU、是否支持 BFD、以及账务与合同项(带宽、QOS)。准备自己的 ASN(若无,向 RIR 申请)和公网前缀/路由授权(ROA/IRR)。
2.
物理与链路层设置
到达机房后,验收物理链路:检查光纤接口类型(SFP/10G/100G)、收发器型号、链路灯状态;确认对端 VLAN ID、tag(dot1q)与承载接口。用 ethtool/ifconfig/ip addr 检查网口、用 ip link set mtu 命令调整 MTU(建议 1500 或 9000 根据合同)。示例:ip link set dev eth0 mtu 9000
3.
BGP 邻居建立(以 FRR 为例)
基本步骤:1) 配置本地 ASN;2) 配置对端邻居 IP 与 ASN;3) 限制接收前缀与应用 prefix-list/route-map。示例片段:
router bgp 65000
bgp router-id 1.1.1.1
neighbor 203.0.113.2 remote-as 4134
neighbor 203.0.113.2 description CN2-PEER
neighbor 203.0.113.2 password yourpw
neighbor 203.0.113.2 prefix-list FROM-CN2 in
! 出站申请
ip prefix-list FROM-CN2 seq 5 permit 1.2.3.0/24
启动后用 vtysh show bgp summary 查看状态。
4.
路由策略与优先级调优
在 BGP 中用 local-preference、AS-path prepend、MED 调整流量走向。若想优先走 CN2,给从 CN2 对端设置较高 local-pref;在非 CN2 路由上做 prepend:set as-path prepend 65001 65001。用 route-map 绑定 policy 到 neighbor。
5.
测试连通性与性能工具
连通性:ping -c 5 203.0.113.1;路由追踪:traceroute -n -w 1 8.8.8.8 或 mtr -r -c 100 8.8.8.8(建议 tcp 模式:mtr --tcp -P 443)。吞吐测试用 iperf3:在对端或测试服务器上运行 iperf3 -s,本端 iperf3 -c server_ip -P 10 测试并发流。抓包用 tcpdump -i eth0 host 8.8.8.8 -w dump.pcap。
6.
常见故障与逐步排查流程
遇到不可达,按顺序排查:1) 物理链路(光损、接口状态);2) L2(VLAN tag 是否一致、MAC 学习);3) MTU(小包可达大包不行为碎片/PMTUD 问题);4) 本地路由表和 BGP 状态(show ip bgp, show bgp neighbors);5) 对端是否收到了你的前缀(request upstream/IRR 或使用 BGP looking glass 查询)。记录时间点与对端日志便于 ISP 排查。
7.
日志与抓包分析要点
查看 BGP 日志:/var/log/frr/bgpd.log 或 systemd journalctl -u frr 查看邻居重置原因(Notification code)。抓包关注 TCP 3-way handshake 与 BGP keepalive/UPDATE:tcpdump -i eth0 'tcp port 179' -vv。若为 BFD,则观察 BFD control 包丢失。
8.
故障示例与解决办法
示例A:BGP 建立但流量不走 CN2——检查 local-pref 与 AS path;示例B:延迟高但抖动小——可能路由绕行或对端出口拥塞,建议做 traceroute 确认跳点并向对端反馈具体跳点和时间窗口;示例C:大包丢失——检查 MTU 与开启 TCP MSS clamping(在防火墙或路由器上)。
9.
工具与外部资源
常用在线工具:BGP looking glass(查对端是否广播你的前缀)、bgp.he.net(检查前缀起源)、RIPE/ARIN 查询。常用命令集合:ip addr show; ip route; vtysh show bgp summary; traceroute/mtr; tcpdump; iperf3。
10.
维护与监控建议
建议部署基于 SNMP/Prometheus 的链路监控、BGP 会话监控(报警邻居 Down、全球可达性丢失)、设置 BFD 缩短故障切换时间,定期核对 IRR/ROA,确保路由不会被错误过滤或被劫持。
11.
问:如何快速判断问题是链路问题还是 BGP 路由问题?
先从 L1/L2 检查(接口状态、光功率、VLAN),若链路正常用 ping/traceroute 确认到对端接口是否能连通,再查看 BGP 状态(邻居是否 Established、是否有 UPDATE)。链路问题通常连 ping 都失败,BGP 问题会看到邻居建立但路由不在表中或黑洞路由。
12.
问:如何验证我的前缀是否被对方和全球看到?
使用 looking glass(对方或公共如 bgp.he.net)查看你的前缀是否在全网广播,也可以用 whois/route-views。若没看到,检查你发出的 UPDATE 是否被对端接受(show bgp neighbors
advertised-routes)并确认 prefix-list/IRR 策略没有被过滤。
13.
问:遇到高延迟或丢包,临时缓解方法有哪些?
短期可做的:1) 通过路由策略提高 CN2 的 local-pref 或临时 prepend 其他链路;2) 在应用层采用多路径/重试与连接池;3) 与 ISP 协商流量 Engineering 或 QoS;长期则需分析具体跳点并与上游排查。