疯狂の猿猴

MikroTik RouterOS V7.20 自动更新 ChatGPT 相关 IP 地址列表的智能脚本

MikroTik RouterOS 自动维护 ChatGPT 访问地址脚本

随着越来越多用户在 RouterOS 上通过策略路由或分流访问 ChatGPT、OpenAI API 等服务,域名的解析 IP 经常变化成为一个麻烦点。为此,本文提供一个自动更新 ChatGPT 相关 IP 地址列表的智能脚本,可周期性运行,保持访问稳定。


一、脚本功能介绍

该脚本主要作用如下:

  1. 自动解析 ChatGPT 相关域名(chat.openai.com、api.openai.com 等);
  2. 自动维护防火墙地址列表(address-list);
  3. 包含常见 Cloudflare、Azure、OpenAI 的已知 CIDR 段;
  4. 自动定时执行,无需人工维护。

支持版本:RouterOS 7.20 及以上
可运行于 CHR、RB5009、CCR 系列等设备。


二、脚本代码

请在 RouterOS 中执行以下脚本,名称建议设置为 update_chatgpt:

# --- ChatGPT 地址自动更新脚本(v2.0 智能版)---
# 适配 RouterOS 7.20 及以上

:local domains {"chat.openai.com"; "api.openai.com"; "cdn.openai.com"; "openai.com"}

# 已知大段(Cloudflare + Azure + OpenAI)
:local knownCIDRs {"104.16.0.0/12"; "172.64.0.0/13"; "141.101.64.0/18"; "13.104.0.0/14"; "20.33.0.0/16"; "40.74.0.0/15"; "23.98.142.176/28"; "40.84.180.224/28"}

# 添加 CIDR 段(若不存在)
:foreach c in=$knownCIDRs do={
    :if ([:len [/ip/firewall/address-list/find list=chatgpt address=$c]] = 0) do={
        /ip/firewall/address-list/add list=chatgpt address=$c comment="known-range"
        :log info ("[update_chatgpt] Added CIDR -> $c")
    }
}

# 解析域名
:foreach d in=$domains do={
    :local ip [:resolve $d];
    :if ($ip != "0.0.0.0") do={
        :if ([:len [/ip/firewall/address-list/find list=chatgpt address=$ip]] = 0) do={
            /ip/firewall/address-list/add list=chatgpt address=$ip comment=$d;
            :log info ("[update_chatgpt] $d -> $ip added")
        } else={
            :log info ("[update_chatgpt] $d -> $ip already exists")
        }
    } else={
        :log warning ("[update_chatgpt] Failed to resolve $d")
    }
}


---

## 三、设置定时任务(Scheduler)

在 WinBox 或命令行中添加以下计划任务:

/system scheduler/add name=update_chatgpt \

start-date=Oct/06/2025 start-time=14:25:18 \
interval=01:00:00 \
on-event="/system script run update_chatgpt" \
policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon

说明:此任务会每小时执行一次脚本,确保 IP 地址持续更新。若有新解析到的 ChatGPT IP,会自动写入 /ip firewall address-list 的 chatgpt 列表中。

---

## 四、验证执行结果

执行以下命令查看结果:

/ip/firewall/address-list/print where list=chatgpt


若输出中包含多个 IP 和 CIDR 段,并在日志中能看到:

[update_chatgpt] chat.openai.com -> xxx.xxx.xxx.xxx added


则说明脚本运行成功。

---

## 五、进阶用法(策略路由 / 分流)

您可以将 chatgpt 地址列表用于分流或防火墙规则中,例如:

/ip/firewall/mangle/add chain=prerouting dst-address-list=chatgpt \

action=mark-routing new-routing-mark=VPN passthrough=yes

搭配 WireGuard / BGP / PPPoE 等实现智能分流,让 ChatGPT、OpenAI API 自动走代理出口,保持稳定、快速的访问体验。

---

## 六、日志输出示例

脚本运行后日志会自动记录状态:

update_chatgpt: chat.openai.com -> 104.19.155.92 added
update_chatgpt: api.openai.com -> 20.223.35.234 added
update_chatgpt: cdn.openai.com -> 104.17.175.85 already exists
update_chatgpt: Added CIDR -> 104.16.0.0/12


---

## 七、总结

通过本脚本,您可以:

* 自动维护 ChatGPT 的访问 IP;
* 避免 DNS 缓存过期导致访问异常;
* 轻松配合策略路由实现自动分流。

此方案非常适合需要长期稳定访问 ChatGPT / OpenAI API 的 ROS 用户,部署一次,即可长期安心使用。

---

作者:灵昆进源电脑店
适用平台:MikroTik RouterOS v7.20+
最后更新:2025-11-07

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »