1.
概述与前置准备
- 目标:确保在接入台湾 CN2 前,DNS 与 BGP 配置可平滑切换并可被监控与回滚。
- 前置项:确认 ASN(自有或托管)、公网 IPv4/IPv6 前缀、CN2 提供商的对端 IP、对端 ASN、是否使用专线或数据中心到 CN2 POP 的链路、联系人信息。
2.
获取和验证资源
- 向上游/运营商申请并确认:IPv4/IPv6 前缀、路由原语(ROA 是否支持)、反向解析(PTR)委派。
- 验证 WHOIS/IRR 中的路由对象(AS-SET、route)并记录;如果需要,准备 RPKI ROA 提交以防止被丢弃。
3.
DNS 总体策略与切换计划
- 切换策略:先在 CN2 上准备服务并低流量验证,再采用双向宣布(announce)或逐步降低 TTL 的方式切换。
- DNS 策略:降低关键记录 TTL(建议 60-300s)提前 24-48 小时;确保主备 NS 在台湾/外地均有节点。
4.
DNS 详细项:域名与 NS 配置
- 主从/Anycast:确认主 DNS(authoritative)在 CN2 可达,若使用主从,配置 AXFR/IXFR 并用 TSIG(HMAC-SHA256)加密传输。
- Glue 与注册商:若使用自建 NS(ns1.example.com),在注册商处添加 glue 记录并确保各 POP 的 IP 已备案。
5.
DNS 详细项:反向与 PTR
- PTR:联系 IP 提供商/上游在 BGP 宣布前完成 PTR 委派或由对端设置 PTR。
- 测试:使用 dig +short PTR 测试,确认在各 CN2 节点可解析。
6.
DNS 安全:DNSSEC 与监控
- DNSSEC:如果使用 DNSSEC,提前生成密钥、发布 DS 到注册局并验证签名链。
- 监控:设置 DNS 响应时间、错误率告警(Prometheus/Alertmanager 或第三方)。
7.
BGP 基本配置清单
- 必备信息:本端 ASN、对端 ASN、对端 IP、是否开启 IPv6、MD5 密钥、BFD 要求、最大前缀数。
- 文档化:建立配置模板,包括 prefix-list、route-map、AS-path 过滤表、community 策略。
8.
BGP 实操示例(Cisco IOS)
- 基本会话:neighbor 203.0.113.1 remote-as 4134
- MD5:neighbor 203.0.113.1 password YourMD5Key
- 前缀过滤:ip prefix-list EXPORT permit 203.0.113.0/24 le 32
- route-map 应用:neighbor 203.0.113.1 route-map TO-PEER out
(注:换成你真实的 IP/ASN/策略)
9.
BGP 实操示例(Juniper JunOS)
- 会话示例:set protocols bgp group CN2 type external
- peer:set protocols bgp group CN2 peer-as 4134; set protocols bgp group CN2 neighbor 203.0.113.1 authentication-key "YourMD5Key"
- 过滤:policy-options policy-statement EXPORT term 1 from route-filter 203.0.113.0/24 exact then accept
10.
路由过滤与策略(避免被过滤)
- 出站:只宣布你被授权的前缀(route origin check),使用 prefix-list/route-map 强制。
- 入站:过滤不合法的 AS_PATH、私有 AS、保留前缀;设定 maximum-prefix 限制并触发告警或断开保护。
11.
流量工程与社区策略
- 本地优先级(LocalPref):对内部网络设置 LocalPref 决定出站路线优先级。
- MED 与 Community:若上游支持 CN2 社区(如黑名单/优先),事先索要社区列表并在 route-map 中设置。
12.
高可用与会话维护(BFD/Keepalive)
- BFD:在可用时启用 BFD 缩短故障检测时间(配置接口和对等体)。
- Keepalive/Timer:根据对端建议调整 keepalive 和 hold-time(常见 60/180 或更短以加快切换)。
13.
防护与合规(RPKI、uRPF、ACL)
- RPKI:为你的前缀创建 ROA,通知上游避免被拦截。
- uRPF 与 ACL:对边界 router 启用反向路径过滤、TCP 过滤(阻止伪造 BGP 会话),并限制对 BGP TCP 179 的来源。
14.
切换步骤与回滚计划
- 切换步骤:1) 降低 DNS TTL;2) 在 CN2 宣布前做小流量灰度;3) 双向宣布并比较流量;4) 切换主 DNS 指向 CN2;5) 提升 TTL。
- 回滚:保留原始会话配置与命令脚本,设置自动化脚本(Ansible)快速回退,并记录时间点与监控数据。
15.
测试与验证清单
- BGP 验证:show ip bgp summary / show bgp neighbor;检查路由数量、AS_PATH、next-hop。
- 数据面验证:traceroute、mtr、tcpdump(抓 179/ICMP/TCP 流量),在多地(大陆/台湾/海外)进行访问测试。
16.
监控与报警
- 监控项:BGP 会话状态、前缀数量、丢包/延迟、DNS 响应时间。
- 报警:会话断开、前缀异常变动、异常流量,配置告警到邮件/短信/值班群。
17.
运维交接与文档化
- 文档应包含:变更时间表、命令行脚本、联系人、回滚流程、IP/ASN 清单、社区用法说明。
- 培训:交付运维手册并安排一次迁移演练。
18.
常见问题答疑 1
问:迁移到台湾 CN2 后,DNS TTL 何时恢复到较长值? 答:在迁移完成并稳定运行 24-72 小时且监控无异常后,将关键记录的 TTL 从低值(60-300s)逐步提升回生产值(如 3600-86400s),每次提升先观察 6-12 小时。
19.
常见问题答疑 2
问:BGP 会话频繁 flapping,优先检查哪些项? 答:先检查对端与本端的 keepalive/hold-time、BFD 配置、MD5 密钥是否一致、链路层物理/光纤状态、MTU 不一致导致的 TCP 重传;同时查看日志与 tcpdump 捕获 179 会话的重连原因。
20.
常见问题答疑 3
问:如何避免被上游过滤或被干扰? 答:严格只宣布被授权前缀、在 IRR/WHOIS 保持最新路由对象、提交 RPKI ROA、与对端协商 community 与 prefix-limits,启用入站过滤并监控异常路由变更。
来源:企业迁移到台湾 cn2 时需要准备的DNS和BGP配置清单