1.
概述与目标
本段目的:说明为什么要从路由/ASN角度识别“韩国原生 IP”。小分段:1) 明确目标:确定某 IP/前缀是否在韩国本土分配并由韩国 ASN 原生宣布;2) 应用场景:CDN 节点选择、反欺诈、合规地域路由、访问策略;3) 本文给出可复现步骤和命令。
2.
准备工具与数据源
小分段:1) 必备命令行工具:whois、traceroute(或 mtr)、dig、curl、jq;2) 在线资源:BGP Looking Glass(如 bgp.he.net、RIPE RIS、RouteViews)、APNIC/KRNIC whois、RPKI validator;3) 可选库/工具:MaxMind GeoIP、ipinfo、bgpq3、bgpstream。
3.
步骤一:确定 IP/前缀与原始 ASN(Origin AS)
小分段:1) 使用 whois 获取初始信息:whois 1.2.3.4 或 whois -h whois.apnic.net 1.2.3.4,查看 inetnum、origin、descr;2) 使用 RADB 查询公告信息:whois -h whois.radb.net 1.2.3.4;3) 使用在线服务确认:curl "https://stat.ripe.net/data/prefix-overview/data.json?resource=1.2.3.0/24" | jq '.'以查看 origin AS 和公告状态。
4.
步骤二:核验是否为韩国分配(RIR 与注册信息)
小分段:1) 查看 RIR 分配记录:下载 APNIC 委派表 wget ftp://ftp.apnic.net/stats/apnic/delegated-apnic-latest.txt,grep 出带 KR 的条目并比对你的前缀;2) 使用 whois 查询 KRNIC(如果有)或 APNIC 条目,确认 country: KR 或 org 信息包含 Korea、KT、SK、LGU+ 等;3) 若存在疑问,联系 RIR/ISP 获取 route object 或路由联系人。
5.
步骤三:BGP 路径与 Looking Glass 验证
小分段:1) 在公共路由查看器检查前缀公告:访问 bgp.he.net/prefix/1.2.3.0/24 或 RIPE RIS、RouteViews 查看哪些 ASes 收到该前缀;2) 检查 Origin AS 是否属于韩国运营商:在 bgp.he.net/ASxxxx 查看 AS 描述和国家字段;3) 使用多个 LG(例如 KT、SK、LG U+ 的 Looking Glass)从韩国视角查询 AS_PATH,确定路由是否在韩国境内被本地 AS 直连。
6.
步骤四:延迟、路由入口与 traceroute 验证
小分段:1) 从不同地区跑 traceroute/mtr:traceroute -n 1.2.3.4;关注进入韩国的 hop(通常是韩国 ASN 的边界 IP);2) 在多个韩国节点(可用 VPS 或免费的检测点)重复,确认进入韩国后跃点数量小且 RTT 合理(国内 RTT < 30ms 常见);3) 如果路由进入日韩中转或美国中转,说明并非韩国原生或存在跨境中继。
7.
步骤五:反向 DNS、WHOIS 与地理定位交叉验证
小分段:1) 检查 PTR:dig -x 1.2.3.4 +short,看是否包含 .kr / isp.kr 域名;2) 使用 GeoIP 数据库(MaxMind)和 IP2Location 比对,但以 RIR 与 ASN 信息为准;3) 检查组织信息(org、netname、descr)是否为韩国公司或韩国政府机构。
8.
步骤六:RPKI/ROA 与路由安全验证
小分段:1) 使用 RIPEstat 或 bgp.he.net 查看 ROA 状态,或通过 RPKI validator 本地验证:rpki-client 或 Routinator;2) 如果前缀有合法 ROA 且 origin AS 与 ROA 一致,说明更可信为合法公告;3) 没有 ROA 不代表不是韩国原生,但安全上需谨慎(易遭劫持)。
9.
步骤七:实际应用策略(按场景给出落地方法)
小分段:1) CDN 与流量调度:将确认为韩国原生的前缀优先放入本地 POP 池,测速规则结合 AS 与地理位置做健康判断;2) 访问控制:在防火墙或应用层使用 ASN 黑白名单(示例:使用 ipset 存储韩国产生的 ASN 对应前缀,并在 iptables/nginx 中引用);3) 欺诈检测:将非韩国 ASN 访问(但声称韩国 IP)的行为列入可疑,要求额外验证。
10.
步骤八:实现示例(命令与配置片段)
小分段:1) 批量生成韩国前缀列表:wget ftp://ftp.apnic.net/stats/apnic/delegated-apnic-latest.txt && grep '|kr|' delegated-apnic-latest.txt | awk -F'|' '{print $4\"/\"(32-log($5)/log(2))}' > kr_prefixes.txt;2) 在 ipset 中导入并在 iptables 中使用:ipset create kr_net hash:net && for p in $(cat kr_prefixes.txt); do ipset add kr_net $p; done;iptables -I INPUT -m set --match-set kr_net src -j ACCEPT;3) Nginx GeoIP(示例):在 ngx_http_geoip_module 中根据 ASN 或国家字段做路由选择或缓存策略。
11.
常见误区与排查建议
小分段:1) 不要只信 GeoIP 数据库:数据库更新滞后,应以 RIR/ASN 信息为准;2) 跨境承载并不少见:大型运营商可能在海外有回程节点,需用 looking glass 多点验证;3) 对于高价值业务建议建立持续监控:定期抓取 BGP 公告与 ROA 变化。
12.
问:如何快速判断一个 IP 是不是“韩国原生”而不是在国外托管的韩国域名下 CDN?
答:先用 whois 确定前缀归属(APNIC/KR),再用 BGP looking glass 检查 origin AS 是否为韩国 ASN;若 traceroute 显示进入韩国边界并且 ROA 合法,概率高;若只有域名或内容是韩国,但 ASN/路由不在韩国,则可能是海外托管或 CDN 节点。
13.
问:如果发现前缀声称属韩国但 AS_PATH 指向国外,如何处理?
答:把该前缀标记为“可疑”,在防护策略中限制其敏感操作(例如登录、支付),同时在 BGP 层面可通过过滤、监控或与上游运营商沟通以避免被中间人劫持;必要时咨询 RIR 并检查是否存在 hijack 报告。
14.
问:对于希望按 ASN 做地域策略的团队,怎样做到持续自动化?
答:搭建自动化管道:定期(如每小时)拉取 APNIC 委派表、BGP 公告(RouteViews/RIS)、ROA 状态,生成 kr_prefixes 和 korea_asn 列表,自动更新 ipset/CDN 配置并触发健康检测;同时保存变更日志以便回溯与告警。
来源:从路由与ASN角度解读韩国ip原生的识别与应用策略