防火墻 / NAT 設(shè)置

2018-11-11 14:03 更新

通過(guò)廣域網(wǎng)(WAN)訪問(wèn)部署在局域網(wǎng)(LAN)的 Seafile 服務(wù)器,需要:

  • 一臺(tái)支持端口轉(zhuǎn)發(fā)的路由器
  • 使用動(dòng)態(tài)域名解析服務(wù)
  • 配置 Seafile 服務(wù)器

在路由器中設(shè)置端口轉(zhuǎn)發(fā)

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

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

  • 根據(jù)路由器管理手冊(cè)操作說(shuō)明(或網(wǎng)絡(luò)搜索), 進(jìn)入路由器的管理用戶(hù)界面。

  • 找到包含 "轉(zhuǎn)發(fā)" 或者 "高級(jí)" 等關(guān)鍵詞的頁(yè)面, 說(shuō)明此路由器支持端口轉(zhuǎn)發(fā)功能。

設(shè)置路由轉(zhuǎn)發(fā)規(guī)則

Seafile 服務(wù)器包含兩個(gè)組件, 請(qǐng)根據(jù)以下規(guī)則為 Seafile 組件設(shè)置端口轉(zhuǎn)發(fā)。

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

端口轉(zhuǎn)發(fā)測(cè)試

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

  • 打開(kāi)一個(gè)命令行終端
  • 訪問(wèn) http://who.is 得到本機(jī)的IP
  • 通過(guò)以下命令連接 Seahub
    telnet <Your WAN IP> 8000
    

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

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

  • 端口轉(zhuǎn)發(fā)配置錯(cuò)誤
  • 需要重啟路由器
  • 網(wǎng)絡(luò)不可用

設(shè)置 SERVICE_URL 和 FILE_SERVER_ROOT

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

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

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

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

大部分路由器都支持 NAT loopback. 當(dāng)你通過(guò)內(nèi)網(wǎng)訪問(wèn) Seafile 時(shí), 即使使用外部 IP ,流量仍然會(huì)直接通過(guò)內(nèi)網(wǎng)走。

使用域名解析服務(wù)

為什么使用動(dòng)態(tài)域名解析服務(wù)?

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

可以使用動(dòng)態(tài)域名解析服務(wù)來(lái)解決這個(gè)問(wèn)題。通過(guò)使用域名解析服務(wù),你可以通過(guò)域名(而不是 IP)來(lái)訪問(wèn) Seahub,即使 IP 會(huì)不斷變化,但是域名始終會(huì)指向當(dāng)前 IP。

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

怎樣使用域名解析服務(wù),不在本手冊(cè)說(shuō)明范圍之內(nèi),但是基本上,你需要遵循以下步驟:

  1. 選擇一個(gè)域名解析服務(wù)提供商。
  2. 注冊(cè)成為此服務(wù)商的一個(gè)用戶(hù)。

更改 Seafile 配置

當(dāng)你配置好域名解析服務(wù)之后,需要對(duì) ccnet.conf 進(jìn)行更改 (或者通過(guò)管理員 Web 界面來(lái)修改):

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

然后重新 Seafile 服務(wù).

網(wǎng)絡(luò)設(shè)置

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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)