跳至正文

連接埠、入口與 URL 路徑

fn-knock 有兩個面向使用者的入口:管理入口用於修改設定,閘道入口則承接業務流量。fnOS 原生 FPK 從桌面圖示進入管理頁面;Docker、OpenWrt 與 Linux 的管理面板預設使用 7991。Synology DSM 7 SPK 只能從 DSM 桌面的套件入口進入;Windows 則由 fn-knock Windows 管理程式 透過系統瀏覽器開啟本機 127.0.0.1:7991,不能將其當成區域網路或公網管理入口。閘道通常使用 7999

799879977996 是元件之間使用的內部連接埠,不應直接暴露至公網。

預設連接埠

連接埠角色預設用途
7991管理面板Docker、OpenWrt 與 Linux 的預設管理入口;Windows 僅限本機 Loopback 存取
7998管理後端fnOS 原生 FPK 的桌面 CGI 會 Proxy 至此;Docker 也在內部使用此連接埠
7997身分驗證服務處理登入、登出、Passkey 與人機驗證
7996閘道管理連接埠管理後端與 Go 閘道之間的內部通訊
7999閘道入口接收 Web 業務流量,並執行身分驗證與路由

連接埠可在安裝時修改。疑難排解時,請以實際部署設定及後台顯示的存取入口為準,不要假設所有安裝都使用預設值。

各部署方式的對外連接埠

部署方式管理入口閘道入口說明
fnOS 原生 FPKfnOS 桌面圖示7999桌面 CGI 會 Proxy 至本機 7998;請勿將 7991 當成 FPK 管理入口
Docker Compose79917999預設只發布這兩個連接埠
OpenWrt79917999內部管理後端預設改用 17998
Linux(systemd / OpenRC)79917999安裝時及 sudo knock config 均可修改連接埠;799879977996 僅監聽本機
Synology DSM 7 SPKDSM 桌面套件入口7999不開放 7991;DSM CGI 會 Proxy 內部管理服務,799879977996 僅監聽本機
Windows x86_64管理程式開啟 127.0.0.1:79917999,預設監聽 0.0.0.0::管理後台強制限本機存取;安裝程式只會為「網域/私人」Network Profile 加入靜態程式規則

Docker 的 Container Port 與主機 Published Port 由部署檔案共同決定。完整設定請參閱 Docker 部署

請求進入閘道後會發生什麼

閘道入口只處理「流量從哪裡進入」;進入後還需要依序決定路由與存取原則:

  1. 網路拓撲:從公網或區域網路直接進入閘道,或透過 FRP、Cloudflared 等 Tunnel 轉入閘道。
  2. 路由:Web 服務優先依請求的 Host 分流,例如 nas.example.com;路徑映射只用於相容仍依賴 /alist 這類舊入口的服務。
  3. 存取原則:目前的 Host 編輯頁面使用 要求登入,在公開存取與優先登入之間切換;既有的嚴格允許清單規則仍依來源 IP 執行。

TCP / UDP 通訊協定映射會額外監聽各自的對外連接埠,不經過 7999 的 HTTP Host 路由。直連模式則以閘道作為登入入口,登入後再依來源 IP 放行原始連接埠。

local_exempt:區域網路測試不代表公網已受保護

身分驗證服務會將閘道辨識到的 Loopback、私有網路、Link-local 等來源歸類為 local_exempt。這類請求會被視為本機網路存取,略過一般登入與允許清單檢查;嚴格允許清單也不會將其當成公網來源阻擋。

因此:

  • 在同一個區域網路內開啟服務,無法驗證公網登入原則是否生效。
  • 透過反向代理或 Tunnel 接入時,應在請求記錄中確認閘道辨識到的是真實公網 Client IP,而不是 Proxy 節點的私有 IP。
  • 公網驗證應使用行動網路等真正的外部連線。

local_exempt 是來源網路的例外規則,不是瀏覽器登入工作階段。登出不會改變該網路的本機例外屬性。

平台功能限制

  • Docker 可執行 Host/路徑閘道,但不會代替主機寫入防火牆規則,也不支援直連模式與智慧連線。
  • fnOS 原生 FPK 可管理主機防火牆,並提供直連模式與智慧連線。
  • OpenWrt 在具備 root 權限時,可使用主機防火牆與直連模式,也提供智慧連線功能;智慧連線仰賴已安裝的 dnsmasq,且主設定必須 Include /etc/dnsmasq.d/。頁面中的 apt-get 安裝方式不適用於 OpenWrt。此版本不提供 SSH 安全性、Web Terminal 或應用程式內 FPK 更新。
  • Synology DSM 7 SPK 會將 7999 以公開閘道連接埠註冊至 DSM 防火牆介面,但套件無法自行修改主機防火牆;不支援直連模式、智慧連線、Web Terminal 或 SSH 安全性。
  • Windows 的 7999 預設監聽所有介面;安裝程式建立的 FnKnock Gateway 靜態程式規則只套用於「網域/私人」Network Profile。此版本仍不支援直連模式、應用程式內主機防火牆管理、智慧連線、內建 Tunnel、Web Terminal 或 SSH 安全性。開放公網存取前,務必檢查路由器/NAT、IPv6、ISP 與第三方安全軟體。

對 Host 或路徑路由而言,fn-knock 只能保護確實通過閘道的請求。若上游服務仍監聽公網或區域網路可達的位址,使用者依然可能繞過閘道直接連線。直連授權是例外:它仰賴受支援的主機防火牆,只有登入後的來源 IP 取得授權時,才暫時放行原始連接埠;請勿另外加入過度寬鬆的公網放行規則。

依鏈路疑難排解

fnOS 原生 FPK 的管理頁面無法開啟時,請先檢查桌面圖示、應用程式 Process 與 7998 後端;Docker 或 OpenWrt 則檢查 7991、Bind Address 與 Port Publishing。業務網域名稱無法開啟時,請依以下順序檢查:

  1. 外部流量是否抵達實際的閘道連接埠(通常為 7999)。
  2. 請求的 Host 或相容路徑是否命中映射。
  3. 映射目標能否從 fn-knock 所在環境存取。
  4. 請求記錄中的 Client IP、授權類型與上游目標是否符合預期。

路徑相容規則請參閱路徑映射,整體方案選擇請參閱執行模式

QQ 群組:1081609274