> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DMZ 閘道器

> 如何配置知行之橋以透過 DMZ 閘道器使用 SSH 反向隧道接收安全連線。

export const companyName = "知行軟件";

export const siteNameShort = "知行之橋";

export const siteName = "知行之橋";

{siteName} 可以透過隔離區 (DMZ) 閘道器接收安全的連線。透過將所有外部連線嘗試集中到 DMZ，可以保護公司防火牆並維護網路安全。

<Note>該特性目前只在 .NET 版本的 {siteNameShort} 中適用，且需使用應用程式內含的內建 web 伺服器。</Note>

## 閘道器是如何工作的

{siteNameShort} 支援透過建立 SSH 反向隧道接收傳送到 DMZ 的資料。它是這樣工作的：

* SSH 伺服器位於 DMZ 中，在 {siteNameShort} 和外部交易夥伴之間傳輸資料。
* {siteNameShort} 與這個 SSH 伺服器連線並在任一開放端口上開啟 SSH 反向隧道（例如，端口 7777）。
* 一旦隧道被開啟，SSH 伺服器將會直接轉寄從 7777 端口接收到的流量給 {siteNameShort}。
* 交易夥伴連線到 SSH 伺服器並將用於 {siteNameShort} 的所有資料傳送到 7777 端口。
* 為了傳輸安全，使用 SSH 標準將資料從 SSH 伺服器轉寄到 {siteNameShort}。

因此，交易夥伴可在僅存取 DMZ 中的 SSH 伺服器時將任意業務資料傳送到 {siteNameShort}。

## 設定閘道器

啟用 DMZ 閘道器支援需要一些簡單的步驟：

1. 在 DMZ 中安裝一個 SSH 伺服器，或選擇已安裝 SSH 伺服器的 DMZ——例如，預裝有 SSH 伺服器的 Amazon 機器例項 (AMI)，或安裝在 DMZ 計算機上的免費 OpenSSH 伺服器實現。

2. 在 SSH 伺服器上開啟端口轉寄。為此，開啟伺服器的 `sshd_config` 檔案，並設定 `GatewayPorts` 為 **yes**。

3. 右鍵單擊系統工作列中的 {siteNameShort} 圖示，選擇 **伺服器選項**，並導航到 **雲閘道器** 索引標籤。

   <img src="https://mintcdn.com/qiao/U-KEZ9JbQY4Wqs1D/public/images/CloudGateway.png?fit=max&auto=format&n=U-KEZ9JbQY4Wqs1D&q=85&s=7e2bce9ac4ae73567a8bcbaf7476f556" alt="Cloud Gateway configuration tab" width="500" data-path="public/images/CloudGateway.png" />

4. 選擇 **啟用雲閘道器**。

5. 在 **伺服器** 部分，為位於 DMZ 中的 SSH 伺服器配置連線設定。

6. 在 **轉寄端口** 部分，將 **轉寄端口** 設定為 SSH 伺服器上向 {siteNameShort} 轉寄資料時使用的端口。還可以轉寄另外兩個端口以為 SFTP 和 OFTP 端口建立隧道。有關詳細資訊，請參閱 [額外的轉寄端口](#額外的轉寄端口)。

7. 單擊 **測試連線** 按鈕以驗證連線是否成功。

8. 重新啟動 {siteNameShort} 內建 web 伺服器，以在指定端口上自動開啟 SSH 反向隧道。

完成以上步驟後，向交易夥伴提供到 DMZ 中 SSH 伺服器的連線詳細資訊。指示他們在 **轉寄端口** 指定的端口（而不是預設端口 22）將資料傳送到此 SSH 伺服器。

### 額外的轉寄端口

配置 **轉寄端口** 允許為 {siteNameShort} 中使用的 HTTP 流量轉寄流量。還可以轉寄其他兩個端口來為 SFTP 和 OFTP 端口建立隧道。

<Note>DMZ 閘道器總共支援三個轉寄端口用於流量傳輸，其中一個是用於存取基於 HTTP 或 HTTPS 的伺服器端點的 HTTP 或 HTTPS 端口。雖然您可以將 OFTP 和 SFTP 端口用於機器上的任何其他監聽服務，但 FTP Server 連線需要在命令通道之外額外的端口範圍。這意味著不支援 FTP Server 連線。</Note>

要轉寄其他端口，請將以下四行新增到應用資料目錄中的 `CData.Arc.xml` 配置檔案（預設路徑：`C:\ProgramData\CData\Arc\CData.Arc.xml`）：

```xml theme={null}
<OFTPPort>6619</OFTPPort>
<OFTPRemotePort>6619</OFTPRemotePort>
<SFTPPort>22</SFTPPort>
<SFTPRemotePort>2022</SFTPRemotePort>
```

`<type>Port` 是流量轉寄到的端口，`<type>RemotePort` 是要在 SSH 伺服器上開啟的端口。

<Note>不能轉寄已用於 SSH 服務的端口。例如，如果 SSH 伺服器正在偵聽端口 22，則 `SFTPRemotePort` 也不能是端口 22。</Note>

## 維護閘道器

{siteNameShort} 在伺服器啟動（重啟）時自動開啟閘道器。如果連線因任何原因斷開，{siteNameShort} 還會重新與 SSH 伺服器建立連線。無需使用者維護即可保持閘道器執行。
