Cloud | Nginx Server 建置手冊(Linode + VLAN 架構)
💬 前言
這篇文章是一份技術筆記,紀錄我在 Linode 上建置 Nginx Server + VLAN 架構 的過程。
內容僅涵蓋核心流程與設定檔,沒有完整的手把手教學或大量圖片,主要方便自己與後續需要的人快速參考與重現。
這個 Nginx Server 的角色定位是 內部服務節點,僅允許 VLAN 內部或透過 VPN 存取,避免直接暴露在公網上。
📝 筆記
建立 Linode VM(nginx-server)
- 登入 Linode 控制台
- 點選「Create → Linode」
- 設定以下參數:
- Region:選擇離用戶最近的地區
- 例:
JP, Tokyo 3 (jp-tyo-3)
- 例:
- Image:Ubuntu 22.04 LTS
- Linode Plan:Shared CPU → 最小即可(如 Nanode 1 GB)
- Label:
nginx-server - Root Password:設定安全密碼
- 例:(
L9v"*****************************+@>v)
- 例:(
- 建議:複雜密碼產生器
- VLAN:
- VLAN 名稱:
vlan100 - IPAM Address (optional):
192.168.100.20/24
- VLAN 名稱:
- Region:選擇離用戶最近的地區
- 建立完成後,記下公網 IP(供 VPN Client 連線)
- 關閉 Linode 的自動網路設定(Auto-configure networking)
- 在 Linode 控制台中,點選該 VM → Configurations → Edit
- 找到「Network Helper」或「Auto-configure networking」選項,取消勾選
📝 這樣可以避免 Linode 在開機時自動覆蓋你的 /etc/network/interfaces 或 netplan 設定;避免自動插入 iptables NAT/MASQUERADE 規則,確保你的手動防火牆設定不被干擾;適合需要自訂 VLAN、VPN、防火牆、靜態 IP 的架構
- 修改後請重新啟動 VM 讓設定生效
連線至 VM
1 | ssh root@<你的公網 IP> |
安裝 nginx
1 | apt update |
啟動 nginx:
1 | systemctl enable nginx |
準備一個靜態頁面供驗證使用
建立一個簡單的 HTML 頁面,放在 nginx 的預設目錄 /var/www/html/:
1 | tee /var/www/html/index.html > /dev/null <<EOF |
重新啟動 nginx 以確保設定生效:
1 | systemctl restart nginx |
🔥 防火牆設定
⚠️ 防火牆如果不設定,外網、VLAN 和 VPN 都是可以正常開啟 nginx 的。
清除舊規則
觀看目前 iptables INPUT 設定:
1 | iptables -L INPUT -v -n |
清除 INPUT 規則:
1 | iptables -F INPUT |
建立規則:
1 | # 允許 VLAN 來源的所有連線(內部設備) |
儲存規則(讓開機自動套用)
使用 iptables-persistent 套件:
1 | apt install iptables-persistent |
⚠️ 安裝過程中會提示你是否要儲存目前的規則,選「是」。
手動儲存指令:
1 | netfilter-persistent save |
📝 紀錄的位置:
/etc/iptables/rules.v4
👌 結語
本文主要紀錄了在 Linode 上建置 Nginx Server + VLAN 架構 的過程,包含 VM 建置、Nginx 安裝、靜態頁面驗證,以及防火牆規則設定。
這不是完整的教學,而是一份技術筆記,重點在於 核心流程與安全性考量。
⚠️ 提醒:
- 請依照自身需求調整防火牆規則(是否開放 80/443、MySQL 等)。
- 建議搭配 Linode 官方文件與 Nginx 官方指南,確保設定符合最新版本與最佳實踐。
- 若與 OpenVPN Server 搭配,務必確認 VLAN 與路由設定正確,避免流量無法通過。
這份筆記的目的在於提供一個可重現的基礎架構,讓內部服務能安全地透過 VPN 存取,同時保持網路隔離與安全性。
