防火墻 / NAT 設置

2018-11-11 14:03 更新

通過廣域網(WAN)訪問部署在局域網(LAN)的 Seafile 服務器,需要:

  • 一臺支持端口轉發(fā)的路由器
  • 使用動態(tài)域名解析服務
  • 配置 Seafile 服務器

在路由器中設置端口轉發(fā)

確保路由器支持端口轉發(fā)功能

首先, 確保你的路由器支持端口轉發(fā)功能:

  • 根據路由器管理手冊操作說明(或網絡搜索), 進入路由器的管理用戶界面。

  • 找到包含 "轉發(fā)" 或者 "高級" 等關鍵詞的頁面, 說明此路由器支持端口轉發(fā)功能。

設置路由轉發(fā)規(guī)則

Seafile 服務器包含兩個組件, 請根據以下規(guī)則為 Seafile 組件設置端口轉發(fā)。

組件默認端口
fileserver8082
seahub8000
  • 如果是在 Apache/Nginx 環(huán)境下部署的 Seafile, 則不需要打開 8000 和 8082 端口,只需要 80 或 443 端口即可。
  • 以上是默認端口設置,具體配置可自行更改.

端口轉發(fā)測試

設置端口轉發(fā)后,可按以下步驟測試是否成功:

  • 打開一個命令行終端
  • 訪問 http://who.is 得到本機的IP
  • 通過以下命令連接 Seahub
    telnet <Your WAN IP> 8000
    

如果端口轉發(fā)配置成功,命令行會提示連接成功。否則, 會顯示 connection refused 或者 connection timeout, 提示連接不成功。

若未成功,原因可能如下:

  • 端口轉發(fā)配置錯誤
  • 需要重啟路由器
  • 網絡不可用

設置 SERVICE_URL 和 FILE_SERVER_ROOT

服務器依賴于 ccnet.conf 中的 "SERVICE_URL" 和 seahub_setting.py 中的 FILE_SERVER_ROOT 來生成文件的上傳/下載鏈接 (從 5.0 開始這兩個值可以通過 Web 界面來設置)。如果使用內置的 web 服務器,改為

SERVICE_URL = http://<Your WAN IP>:8000

如果配置了 Nginx, 則需要修改為

SERVICE_URL = http://<Your WAN IP>
FILE_SERVER_ROOT = http://<Your WAN IP>/seafhttp

大部分路由器都支持 NAT loopback. 當你通過內網訪問 Seafile 時, 即使使用外部 IP ,流量仍然會直接通過內網走。

使用域名解析服務

為什么使用動態(tài)域名解析服務?

完成以上端口轉發(fā)配置工作后,就可以通過外網 IP 訪問部署在局域網內的 Seafile 服務器了。但是對于大多數(shù)人來說, 外網 IP 會被 ISP (互聯(lián)網服務提供商)定期更改, 這就使得,需要不斷的進行重新配置.

可以使用動態(tài)域名解析服務來解決這個問題。通過使用域名解析服務,你可以通過域名(而不是 IP)來訪問 Seahub,即使 IP 會不斷變化,但是域名始終會指向當前 IP。

互聯(lián)網上提供域名解析服務的有很多,我們推薦 www.noip.com。

怎樣使用域名解析服務,不在本手冊說明范圍之內,但是基本上,你需要遵循以下步驟:

  1. 選擇一個域名解析服務提供商。
  2. 注冊成為此服務商的一個用戶。

更改 Seafile 配置

當你配置好域名解析服務之后,需要對 ccnet.conf 進行更改 (或者通過管理員 Web 界面來修改):

SERVICE_URL = http://<你的域名>:8000

然后重新 Seafile 服務.

網絡設置

你如果使用內置的服務器,需要開啟 8000 和 8082 兩個端口。如果你的 Seafile 服務器是運行在 Nginx/Apache 環(huán)境下,并且開啟了 HTTPS, 則需要開啟 443 端口。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號