Skip to content

防火牆 ​

防火牆頁把你的機器畫成一張拓撲圖:每條線都是防火牆允許的一條連線,例如開放給外部的服務、可以上網的機器,或彼此能互通的兩台機器。你可以在這裡新增與刪除連線、以網址或對外 port 發布服務,並查看或修改每台機器自己的防火牆規則。側欄:網路 → 防火牆。路徑:/firewall。

誰可以使用 ​

所有登入的使用者都能開啟,但看到的機器範圍不同:

角色圖上的機器可以修改的範圍
學生自己的機器,包含分配給自己的課堂機器自己的個人機器。課堂機器只能查看規則,不能修改,也不能拿來建立新連線
老師自己的機器,加上自己任教班級中所有學生的機器自己的機器與任教班級的機器
管理員所有機器所有機器

學生想從課堂機器拉線、或拉線到課堂機器時,會出現提示說明這台機器的防火牆由班級老師管理。

開始之前 ​

  • 至少要有一台 VM 或 LXC;一台都沒有時,圖上會顯示「目前沒有可顯示的防火牆資源」。
  • 管理員完成 Cloudflare 與 Gateway 設定後(見 網域管理 與 閘道 VM),發布服務時才會出現「用網址」;在那之前只有「用對外 port」與「僅開放防火牆」。

操作步驟 ​

看懂拓撲圖 ​

  1. 每個方塊是一台機器;「網際網路」方塊代表實驗室外的一切。
  2. 線的顏色請對照左下角的圖例:「對外開放」(網際網路連進機器)、「對外連線」(機器連到網際網路)與「內部互通」(機器之間)。線上的標籤是它開放的 port。
  3. 對外連線(上網線)預設隱藏,因為幾乎每台機器都有一條;按「上網線」即可顯示。
  4. 點一條線會開啟「連線內容」:兩端機器、連線種類、「單向」或「雙向」,以及「開放內容」中每個 port 的開放方式(「網址發布」、「通訊埠轉發」或「僅開放防火牆」)與協定。網址發布的項目有「開啟網址」連結。
  5. 點一台機器會開啟它的規則面板。選取機器時,圖上只畫出跟它有關的線;按「取消選取」(或點圖上空白處)即可恢復顯示全部。

拓撲圖約每 30 秒自動更新一次。

看懂拓撲圖(圖中編號對應上方步驟)

用拖曳建立連線 ​

  1. 把游標移到來源機器上,邊緣會出現連接點。
  2. 在圓點上按住滑鼠左鍵不放,拖到目標機器(或「網際網路」方塊)邊緣的圓點上再放開。
  3. 「新增連線」對話框會自動選好種類:機器拉到機器是「讓兩台機器互通」,「網際網路」拉到機器是「開放服務給外部」,機器拉到「網際網路」是「讓機器能上網」。
  4. 填好 port 後按「建立連線」(或「發布」)。

用拖曳建立連線(圖中編號對應上方步驟)

用按鈕建立連線 ​

  1. 按頁首的「新增連線」。
  2. 在「你要做什麼?」選擇下方四種之一,再填寫表單。

用按鈕建立連線(圖中編號對應上方步驟)

讓機器能上網 ​

  1. 選「讓機器能上網」。
  2. 在「哪台機器」選擇機器。
  3. 按「建立連線」。之後這台機器就能主動連到網際網路,不限 port。

讓機器能上網(圖中編號對應上方步驟)

讓兩台機器互通 ​

  1. 選「讓兩台機器互通」。
  2. 選擇「從哪台」與「連到哪台」。
  3. 選擇「方向」:「單向」(只有「從哪台」能連到「連到哪台」)或「雙向」。
  4. 至少填一個 port 與協定;需要更多列時按「新增 port」。ICMP 類協定不需要 port。
  5. 按「建立連線」。

讓兩台機器互通(圖中編號對應上方步驟)

開放服務給外部 ​

  1. 選「開放服務給外部」,並在「哪台機器」選擇機器。
  2. 在「怎麼開放」選擇其中一種:
    • 「用網址」:填寫「你的服務跑在哪個 port?」(預設 80),決定是否保留勾選「啟用 HTTPS(使用管理員設定的憑證)」,輸入「網址開頭(自己取名)」(留空代表直接用主網址),再選「網址結尾」。對話框會立即檢查這個網址能不能用;不論是 SkyLab 建立的,還是 Cloudflare 上原本就有的紀錄,撞名都會被擋下。
    • 「用對外 port」:每一列填寫別人要用的「對外 port」、服務實際在聽的「內部 port」與「協定」(tcp 或 udp);需要更多列時按「新增對應」。別人會用「校園入口 IP:對外 port」連進來;對外 port 已被使用時會提示你換一個。
    • 「僅開放防火牆」:填寫要在機器防火牆開放的 port 與協定,不做網址或 port 轉發。
  3. 按「發布」。

一次發布多個 port 時若其中一個失敗,已成功的會保留並從表單移除,訊息會告訴你是哪個 port 失敗。

開放服務給外部(圖中編號對應上方步驟)

自己寫一條防火牆規則 ​

  1. 選「自己寫規則」(或在機器的規則面板按「新增規則」,會直接開啟這個選項並鎖定該機器)。
  2. 設定「方向」(「進站」或「出站」)、「動作」(「允許」、「丟棄」或「拒絕」)、「協定」(「任意」、tcp、udp 或 icmp)與「Port」(例如 22 或 8000:8010;icmp 與「任意」不需要 port)。
  3. 視需要填寫「來源 IP 或網段」(進站)或「目的 IP 或網段」(出站),例如 10.10.0.0/24;留空代表不限制。也可以填寫「備註」。
  4. 按「新增規則」。

自己寫的規則會直接寫進機器的 Proxmox 防火牆,不會出現在拓撲圖上。寫的是進站、允許、不限來源的規則時,對話框會建議「改用「開放服務給外部」」,因為只有走那條路建立的連線才會被系統追蹤並畫在圖上。

自己寫一條防火牆規則(圖中編號對應上方步驟)

管理單台機器的規則 ​

  1. 在圖上點選機器,規則面板會從旁邊滑出。
  2. 「防火牆設定」顯示防火牆「狀態」,以及「預設入站」與「預設出站」政策。
  3. 「規則清單」依順序列出每條規則:位置編號、IN 或 OUT、動作(或「停用」)、來源與目的、協定與 port,以及備註。
  4. 有鎖頭圖示的規則由 SkyLab 管理(連線、對外發布、封鎖網段及其他平台規則),請透過連線與發布來調整,不要在這裡改。
  5. 自己寫的規則可以用「啟用」開關停用或啟用,或按刪除按鈕並確認後刪除。
  6. 「前往資源詳情(迷你拓撲與對外服務)」會開啟這台機器的詳情頁。

學生點選課堂機器時,會看到「這是課堂機器,規則只能查看;要調整防火牆請找班級老師」,而且沒有任何操作按鈕。

管理單台機器的規則(圖中編號對應上方步驟)

刪除連線 ​

  1. 點那條線開啟「連線內容」。
  2. 按「刪除連線」,再按「刪除」確認。這條連線開放的所有 port 都會一併移除。

標示「由環境模板管理」的連線屬於教學環境,無法在這裡刪除。

刪除連線(圖中編號對應上方步驟)

整理與篩選拓撲圖 ​

  1. 「自動排列」會把機器排成一欄,「網際網路」方塊放在旁邊。你拖曳過的位置會被保存,下次進來仍維持。
  2. 「分組」會依班級或機器類型把機器包成群組框;機器有 12 台以上時預設開啟。按群組標題上的按鈕可收合或展開。分組模式下按鈕會變成「重設位置」,用來丟掉你拖過的群組位置(群組位置只存在目前的瀏覽器)。
  3. 「連線標籤」顯示或隱藏 port 標籤,「地圖」顯示或隱藏縮圖,「只看對外開放」只保留能從網際網路連進來的機器。
  4. 用搜尋框(「搜尋機器名稱或 IP」),以及有多個群組時出現的「全部群組」清單縮小範圍。圖的下方會提示還有幾台未顯示,按「清除篩選」即可全部顯示。

這些按鈕都不會修改任何防火牆規則。

整理與篩選拓撲圖(圖中編號對應上方步驟)

欄位與選項 ​

欄位意義備註
Port1 到 65535 的 port 號碼範圍請寫成 8000:8010
協定連線可用 tcp、udp、icmp、icmpv6 或 sctp;對外 port 只能用 tcp 或 udpICMP 類協定不需要 port
方向(連線)「單向」或「雙向」只有「讓兩台機器互通」有
怎麼開放「用網址」、「用對外 port」或「僅開放防火牆」管理員完成網域與 Gateway 設定後才有「用網址」
啟用 HTTPS用管理員的憑證以 HTTPS 提供網址預設勾選
網址開頭/網址結尾發布的網址是開頭加上結尾,例如 myapp.example.com結尾清單是 Cloudflare 上啟用中的 Zone
動作(自訂規則)「允許」、「丟棄」或「拒絕」—
來源/目的 IP 或網段把自訂規則限制在某個位址或網段留空代表不限制

限制與注意事項 ​

  • 學生無法修改課堂機器的防火牆,對話框的機器清單也不會列出這些機器。
  • 一條連線會同時寫入兩端機器的規則,所以兩台機器你都必須有管理權。
  • 管理員可以在 IP 管理 頁設定「預設封鎖網段 / IP」。它們會變成每台機器上鎖的出站丟棄規則,排在允許一般出站流量的規則之前,所以即使有對外連線,機器也連不到這些網段。
  • IP 管理有設定主系統 IP 時,每台機器還會有一條上鎖的規則,允許 SkyLab 主系統以 SSH(port 22)連入。
  • 已被其他機器使用、屬於平台本身網域,或 Cloudflare 上已有紀錄的網址,都無法發布。
  • 群組位置與收合狀態存在目前的瀏覽器;單台機器的位置則存在伺服器。

相關頁面 ​

  • 資源詳情 — 同一個連線對話框,以及機器的對外服務
  • 閘道 VM — 網址發布與對外 port 背後的 nginx 與 HTTPS 憑證
  • 網域管理 — 做為網址結尾的 Cloudflare Zone
  • IP 管理 — 實驗室子網與封鎖網段
  • 班級工作頁 — 老師管理班級機器

以 AGPL-3.0 授權釋出。