Codex Cloud 連私人網路:內建 Tailscale 沒打招呼,邊界要自己畫

OpenAI 的 Codex Cloud 出貨就內建 Tailscale 支援,連 Tailscale 團隊都是從一則 Slack 訊息才知道。現行文件確定支援私人 IPv4、split DNS 與 MagicDNS,上線七天內文件自己改過版;預設上雲端任務摸得到整個 tailnet,金鑰標籤、存取規則與環境白名單的邊界要自己畫。

用 AI 摘要這篇文章:

OpenAI 的 Codex Cloud 在 2026 年 9 月底上線,讓 AI 代理跑在雲端虛擬機器裡處理 GitHub 專案;10 月 6 日,Tailscale 在官方部落格發文自曝一件不太常見的事:Codex Cloud 出貨當天就內建 Tailscale 支援,而 Tailscale 團隊事前完全不知情。對想把內部 API 或私有套件庫接給雲端代理的團隊來說,這代表不必等一套專為 AI 打造的私人網路產品,既有的 Tailscale 帳號、規則與管理介面直接可用。但同一篇文章也提醒:預設上雲端任務摸得到 tailnet 裡幾乎所有東西,邊界要自己畫。

tailnet 是 Tailscale 對私人網路的稱呼,只有被允許的裝置與身分能加入。這次整合真正的分工是:Tailscale 負責讓連線範圍存在,OpenAI 讓 Codex Cloud 的任務虛擬機器加入這個範圍。連得上與能操作是兩個獨立的條件,中間隔著身分驗證、服務授權與兩套存取規則。

沒有合作案的 day 0 支援,從一則 Slack 訊息開始

Tailscale 的文章由 Kevin Purdy 執筆,2026 年 10 月 6 日 13:30 UTC 發佈。整件事的起點是一則內部 Slack 訊息:「我們跟 OpenAI 合作過這個嗎?」過了幾分鐘,公司裡沒有人能確認這件事,這個全新產品就這樣帶著「day 0 Tailscale support」出貨。

Tailscale 執行長 Avery Pennarun 隨後在 LinkedIn 發文,經官方部落格逐字轉述:「沒有合作協議、沒有客製 API、也沒有整合專案。他們用的是每個人都拿得到的同一套 Tailscale。我希望這類事情就是這樣發生。」文章裡的另一句自述把態度說完:「完全出乎我們意料,而且我們高興都來不及。」

把時間軸排開會更清楚:

  • 9 月 29 日:OpenAI 在 DevDay 2026 宣佈 Codex in the cloud,官方稿寫明方案涵蓋 Plus、Pro、Business、Healthcare、Education、Enterprise。
  • 9 月 30 日:OpenAI 的雲端環境文件已經有 Tailscale 的 VPN 段落,網頁保存服務的當日快照可以查證。
  • 10 月 6 日 13:30 UTC:Tailscale 發佈上述文章,標題直言「Codex Cloud shipped with Tailscale support. Nobody told us.」。
  • 10 月 6 日 16:38 UTC:同一份 OpenAI 文件的快照,內容已經與 Tailscale 文章對不上,關鍵差異下一節展開。

對其他工具廠商來說,這條新聞的訊息很直接:把服務做得容易接入,別人會用你沒預期的方式把它組合進產品。Pennarun 對此的總結是,有用的工具做得容易搭建,人們把它們組合成你從沒計畫過的東西時,平台就自己發生了。同一個 Codex 家族在九月的動作還包括把第三方開發技能做成可分發的商品跨平台上架,更早的九月上旬 OpenAI 也把Codex 同款的代理框架開放成代管服務,雲端執行與技能生態正在同時往外長。

Tailscale 官方部落格開頭兩段:整合消息從一則 Slack 訊息開始,Codex Cloud 出貨就內建 Tailscale 支援Pin
Tailscale 官方文章開頭:整件事從工程師的 Slack 訊息「Did we work with OpenAI on this?」開始,Codex Cloud 以 day 0 Tailscale support 出貨,Tailscale 是目前唯一的 VPN 供應商。來源:tailscale.com/blog,2026 年 10 月 6 日。

現行文件確定的設定:一把金鑰決定雲端任務的身分

OpenAI 現行環境文件(2026 年 10 月 12 日查閱版本)對私人網路的描述相當完整。設定入口在環境的 Advanced 與 VPN 頁面,加入連線後,可核對的要點有這些:

  • Tailscale 是目前唯一支援的 VPN 供應商,文件寫明計畫增加其他供應商,但沒有時間表。
  • 建立 Tailscale 驗證金鑰時要同時啟用 Reusable 與 Ephemeral。Reusable 讓新的雲端任務虛擬機器能加入網路;Ephemeral 讓臨時裝置離線後由 Tailscale 自動移除。
  • 金鑰要加標籤。依 Tailscale 文章的說法,標籤讓每台 Codex 虛擬機器以 tag:codex 這類身分加入,套用你專門為它寫的規則,不會繼承產生金鑰那個人的存取範圍。Tailscale 的驗證金鑰文件也寫明:裝置用金鑰登入後,改採金鑰標籤的身分。
  • 私人 IPv4 子網路路由支援,任務可以用 Tailscale split DNS 與 MagicDNS 以主機名稱連到私人服務。MagicDNS 讓私人網路裡的裝置直接用名稱找到彼此;split DNS 則把公司內部網域的查詢交給指定的內部 DNS 伺服器處理,內部名稱不外流。內部網域要在 Tailscale 管理端設定 split DNS,把該網域的查詢指向內部 DNS 伺服器,並使用完整主機名稱(文件示例是 api.corp.example.com),名稱要能解析到 IPv4 位址,DNS 伺服器本身也要能從私人網路到達。
  • 共享環境裡的任務,使用該環境設定的 VPN 身分。環境開放給誰用,等於把這個身分借給誰。

金鑰本身的風險,Tailscale 文件講得比多數人想的直白:可重複使用的金鑰一旦被偷走非常危險,最好放在專門的金庫產品裡保管。對 Codex Cloud 這種持續開新虛擬機器的場景,Reusable 是必要之惡,配對的做法是金鑰設到期時間、加上標籤限定身分,並讓臨時裝置靠 Ephemeral 自動清掉,把「一把長效萬用鑰匙」縮成「一段時間內、只能以代理身分使用的鑰匙」。

OpenAI 現行環境文件的私人網路段落:auth key 需啟用 Reusable 與 Ephemeral,split DNS 與 MagicDNS 支援Pin
OpenAI 現行環境文件(2026 年 10 月 12 日查閱)的私人網路段:Reusable 讓新任務虛擬機器加入網路、Ephemeral 自動移除離線裝置,私人 IPv4 子網路路由支援,任務可用 split DNS 與 MagicDNS 以主機名稱連私人服務。來源:learn.chatgpt.com。

名稱解析之外還有兩層經常被漏掉。目的地要同時通過環境的網際網路存取設定與 Tailscale 的存取規則,兩邊缺一邊,就會出現名稱查得到、請求送不進去的狀態。環境的網域白名單有三種粒度:Package managers 預設集涵蓋 npm、PyPI、crates.io、Go、Maven、Bazel、Ubuntu 與 Debian 套件庫、GitHub 原始碼與 release 資產等常見下載來源;Custom domains only 只放行自己列的主機;All 則完全不限制。細節規則是登記根網域時同時允許對應的 www 主機,其他子網域要各自列入,套件下載與驗證走不同主機時很容易漏掉其中一半。

放行目的地也不等於給了憑證,文件對這句話重複強調了好幾次。憑證是另一套機制:Environment variables 直接把值交給程式讀;Network secrets 只在 HTTPS 443 代換,程式拿到的是佔位符,由代理伺服器在送往允許目的地時代入真值,原始憑證不進任務環境的程序與檔案。共享環境可以要求每個使用者從自己的帳號提供個人值,分享的是需求而不是個人憑證。

任務跑的虛擬機器規格依方案而定:

ChatGPT 方案vCPU記憶體磁碟空間
Plus、Edu Plus28 GiB8 GiB
Pro、Business、Enterprise416 GiB32 GiB
Edu、Edu Pro416 GiB32 GiB

任務的儲存狀態在最後一次啟動或恢復後,最長可回溯七天;更大的機器與自訂規格提供給 Enterprise 客戶另行洽談。

上線頭七天,官方文件自己就改版了

最值得攤開的,是兩份官方文件在七天內的變化。9 月 30 日的文件快照,VPN 段落寫的是「私人 IPv4 子網路路由支援;連線不加入私人 DNS,也不支援原生資料庫協定或 SSH」。10 月 6 日 13:30 UTC 的 Tailscale 文章沿用同一套邊界:MagicDNS 與 split DNS 不可用、SSH 與 Tailscale SSH 不通、UDP 與 ICMP 送不出去、連入連線明確不支援,HTTP 與 HTTPS 之外唯一的繞路是任意 TCP 走 HTTP CONNECT 經 proxy:8088。

2026 年 9 月 30 日的 OpenAI 文件快照:連線不加入私人 DNS,也不支援原生資料庫協定或 SSHPin
同一段文件在 2026 年 9 月 30 日的快照:當時寫明連線不加入私人 DNS、不支援原生資料庫協定或 SSH,與 10 月 6 日之後的版本對照即可看出變化。來源:網頁保存服務當日快照。

但同一天 16:38 UTC 的文件快照已經改寫:私人 IPv4 子網路路由支援,任務可以用 split DNS 與 MagicDNS 以主機名稱連私人服務,並附上內部網域的設定方法,排錯章節也在同一份快照裡:用 curl 測試時不要帶 –noproxy,讓請求走環境的代理伺服器;IP 位址連得通而主機名稱連不通時,先查 split DNS 是否指向正確的 DNS 伺服器、該伺服器是否能在私人網路裡到達,以及名稱是否解析到 IPv4。

誠實地說,翻轉的確切日期只能壓縮在 9 月 30 日到 10 月 6 日之間,兩端快照之間沒有可查的中間版本。Tailscale 文章裡的其他邊界(UDP、ICMP、SSH、連入連線)在現行 OpenAI 文件裡沒有再出現,也沒有明文翻案,現行文件只以 HTTP 與 HTTPS 服務的框架描述私人網路功能,引用這些細節時要標明各自的日子。對使用者的實際教訓是:上線頭七天的文件是移動靶,任何設定引用都要註明查閱版本;兩份官方說法對不上時,以較新的文件為準,但別把較新版本當成永久不變。

預設能摸到整個 tailnet,圍籬要自己架

Tailscale 在文章裡自述:「預設上,Codex 摸得到你 tailnet 裡幾乎所有東西。」接著反問讀者也許想要這種全方位存取,也許不是。對一把有工程能力、又掛在共享身分上的雲端代理來說,這句話就是治理清單的起點。Tailscale 給的五項建議是:代理與資源都加上標籤、用 grants 細調存取、金鑰設到期時間、開啟 network flow logs 觀察代理實際連到哪裡(Premium 與 Enterprise 方案)、啟用 device approval 審核未掛金鑰的新裝置。最後一項有個對 Codex 特別要緊的但書:走驗證金鑰加入的裝置不經這道審核,攔住雲端虛擬機器的還是金鑰標籤與存取規則本身。

對應到 OpenAI 端,環境的網域白名單、VPN 身分與共享範圍是三個分開的開關。環境一分享給工作區,VPN 身分就跟著出借;Repository 權限則跟著執行任務的帳號走。如果服務要按來源 IP 過濾,OpenAI 提供代理出口 IP 的訂閱檔,文件提醒這些範圍跨客戶共用、需要每天檢查更新,而且服務端的認證與授權控管不能因為加了白名單就拆掉。代理要抓的若在公開網頁這一端,固定出口的代理抓取服務是同一個問題的另一端。

驗收方法不需要自己發明,OpenAI 文件在 OIDC 段落寫著現成協議:新任務各測一次允許的操作與被拒絕的操作。拒絕也要留下證據,確認限制真的生效;如果連不該通的請求都通了,先回頭查規則是否太寬、服務身分是否多拿了權限,這比急著擴大任務範圍更優先,因為後續所有測試都建立在邊界正確的前提上。同樣把網路邊界攤在文件裡的還有本機優先的桌面代理工作框架,兩者對照可以看出同一個問題的雲端與本機解法。

方案漸進開放,GitLab 與自架 GitHub Enterprise Server 還在門外

可得性依方案漸進開放。DevDay 官方稿列了 Plus、Pro、Business、Healthcare、Education、Enterprise 六種方案;Tailscale 文章的說法是付費 ChatGPT 帳號陸續拿到功能,何時輪到哪個帳號沒有公開時程,看不到 Cloud 入口時先別急著判斷功能不存在。使用入口有三個:網頁版與桌面版在任務選 Work in 的 Cloud,行動版從 Codex 進入;建立環境只在網頁與桌面版,手機上可以挑現成環境發任務。文件對這套服務的核心承諾很直白:任務在你電腦休眠時照樣繼續跑。Enterprise 工作區另有從 Slack 或 Microsoft Teams 直接派任務給 ChatGPT 的路徑,代理從對話裡挑一個工作區共享的環境開工,同帳號跟進才能續做同一件任務。

現行文件列出的不支援項目有兩個方向:代理的電腦與瀏覽器操作,以及 GitLab 與自架 GitHub Enterprise Server。放在 repository 裡的技能檔可以在雲端任務使用,本機的個人技能不會同步上去。另外,舊版 Codex Cloud 體驗仍支援 Code Review 與 Linear、GitHub 整合,文件寫明計畫除役,團隊如果還靠舊介面跑流程,遷移時程該排進追蹤清單。

其他 VPN 供應商在官方計畫裡,同樣沒有時間表。選型時把「現在有官方入口」與「未來可能支援」分開看,才不會把路線圖當成可以直接採用的功能。

現在能做什麼,以及還沒確定的事

想把內網資源接給雲端代理的團隊,現在能核對的完整清單是:環境的網域白名單、Tailscale 的存取規則、金鑰的標籤與到期、共享範圍,以及一次允許操作加一次拒絕操作的驗收。設定完成後發佈或重新發佈環境,開新任務驗證;舊任務保留自己的狀態,拿舊任務測新設定會誤判成整合失敗。

還沒確定的事有三件:MagicDNS 與 split DNS 翻轉的確切日期與正式說明、其他 VPN 供應商的名單與時程、個別帳號的開放順序。這三件事都只會出現在官方文件或兩家公司的公告裡,回查時看三個訊號就夠:OpenAI 文件的 VPN 段有沒有再改、Tailscale 有沒有更新邊界描述、供應商清單有沒有第二個名字。截至 2026 年 10 月 12 日,以上細節都出自兩份官方說法;過了這個時間點,請以現行文件為準。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1878

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...