自己有架設 Proxmox 來當測試用的虛擬機伺服器,有想做的實驗或架設開源軟體的時候方便使用 因為沒有什麼重要的系統運行在上面,所以本來也沒有打算監控 Proxmox,但是 Grafana 實在太絢麗了 我很享受 Grafana 圖表的呈現方式,但是我的 Grafana 擺在那邊沒有資訊來呈現,感覺就挺怪的 所以就打算把 Proxmox 的系統資訊拿來呈現,也順便做一下(假)監控 Install Prometheus 我這邊直接將 prometheus 安裝在 proxmox 裡面,這邊只求方便,但是建議還是安裝在單獨的機器上
這邊基本上是照著 Monitoring proxmox with prometheus and grafana 這篇文章進行安裝
Create User 在 Proxmox 建立 prometheus 使用者
1 2 sudo groupadd --system prometheus sudo useradd -s /sbin/nologin --system -g prometheus prometheus Create Dir 建立 Prometheus 會使用到的目錄
1 2 sudo mkdir /var/lib/prometheus for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done Download & Install 建立一個臨時目錄用來下載檔案,並進入目錄中
架設好 FreeNAS 的伺服器之後,首先是要設定動態DNS 不然 IP 天天變動,也就沒有辦法想用就用,所以動態DNS 就顯得很重要 不然申請固定 IP 也是可以,當然除非是商業使用或者特殊使用,否則還是動態DNS 較為方便 首先要先擁有一個網域可以透過免費或者付費的供應商
以前免費的只有使用 No-IP
不過可能要固定時間去延長使用,否則就會喪失使用權
至於付費的我是使用 Google Domain,純粹是不想辦太多服務的帳號
而且 Google 的價格也不是很貴,而且提供很多服務,加上可以是使用 Google 的 DNS Server,覺得受到了保障
Step 1. 建立動態DNS 這邊我就以 Google Domain 進行示範
購買好網域之後,透過側邊選單進入 DNS 設定,並建立 動態DNS
並輸入自己想半天的子網域名稱 🤔
Step 2. 取得動態DNS 建立好動態DNS 網址之後,可以透過 查看憑證 顯示帳號密碼
用來將 FreeNAS 當前的 IP 同步至 Google Domain
並注意現在還沒同步上 IP,所以是顯示 0.0.0.0
待會設定好之後確認 IP 是否同步上 Google
Step 3. 設定 FreeNAS DDNS 透過側邊選單進入 Services,從中可以看到 Dynamic DNS
FreeNAS 支援很多 Provider,以上推薦的 No-IP 和 Google 都有包含其中
從 2019 年底一直等待組裝 FreeNAS,選好各種配件,卻唯獨最重要的 CPU 因為年初開始因為疫情一直沒有到貨 想說農曆年前可以開開心心的組裝、運行、建置、測試,一直拖到二月底 想說三月初都搞定各種測試後可以開始寫文章,但是由於要忙專案,所以拖到現在 規格 OS Version: FreeNAS - 11.3-U1 CPU: Intel i3-9300T 3.20 GHz CPU FAN: CRYORIG C7 OS Disk: Kingstone A2000 250G MontherBoard: SuperMicro X11SCL-IF RAM: 16GM * 2 DDR4 ECC (KSM26ED8/16ME) 2666MHz PSU: CORSAIR SF450 80Plus Case: SilverStone DS380 組裝過程 篩選各種 ITX 機殼,並且需要具備硬碟熱插拔的設計,最終選擇 SilverStone DS380
雖然價格不菲,電鍍鋅鋼板機身 這種相對耐用的機殼十分符合我的愛好
硬碟熱插拔總共可以插八顆 3.5 吋硬碟,雖然硬碟座是塑膠材質沒有很好的質感
旁邊有塊擋板,如果 PCIE 太長,可以拆掉這塊擋板,但可能會犧牲一顆硬碟插槽
插拔的設計並沒有十分貼合,留有小部分的空隙,但個人覺得並無大礙
機空的內部空間,具備兩個風扇可以對硬碟進行散熱
還具備四顆 2.5 吋硬碟的位置可以放置,含 3.5 吋硬碟,總共就能放置 12 顆硬碟
整體來說,就一個小機殼來說十分滿意,雖然我用應該是用不到,但有就是讚!
這幾天在設定家裡的防火牆政策,順便盤點家中的設備,看有沒有人偷連我家的 Wifi 然後心血來潮設定一下 Fortigate 的 SSL-VPN 偶爾可以連回家中的設備 比起將設備整個開放在網路上安全一點 規格 Firewall: FortiGate 60D v6.0.4 步驟一 開啟 VPN 功能 從 進階功能開關,開啟 VPN 功能
步驟二 建立用戶 從 用戶認證 新增使用者
選擇 本地用戶
創建用戶名稱及密碼
依照需求進行聯絡資訊設定,或者無需進行設定
設定 啟用 帳戶
步驟三 建立群組 從 用戶群組 進行新增群組
設定群組名稱,型式選擇 防火牆,選擇剛剛建立的用戶
步驟四 設定 SSL-VPN 入口頁面 從 SSL-VPN 入口頁面,編輯 tunnel-access
關閉切分支通道
步驟五 設定 SSL-VPN 進入 SSL-VPN設定
紅圈: 介面監聽 - WAN
橘圈: VPN Port - 建議不要使用預設設定
藍圈: 限制存取 - 允許從任何主機訪問
黃圈: 地址範圍 - 自動分配地址
自己私架的 Gitlab 獨自使用的時候沒什麼差 當要給其他人共同使用的時候,發現這個問題其實挺毛躁的 所以就想說還是把介面克隆網址無法對應連線網址這個問題解決 簡單架構 經由 Caddy 反向代理至內部 Gitlab
網域為 www.example.com,內部 Gitlab IP/Port 為 192.168.0.1:8080
問題狀況 網址和 Gitlab 介面上的是不一致的,但是實際 Repository 是需要透過 https://www.example.com 連線
Gitlab URL: https://www.example.com Gitlab Repository: http://www.example.com:8080
修正方法 Gitlab 使用 Https 步驟1. 產生憑證及密鑰 1 2 3 4 5 6 7 $ openssl genrsa -out gitlab.key 2048 $ openssl req -new -key gitlab.key -out gitlab.csr $ openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -out gitlab.crt $ openssl dhparam -out dhparam.
很多命令工具會產生藝術感的空心線條大字 banner,所以我在想寫一些命令工具的時候 也可以增加一點藝術和專業的感覺,雖然我很貧弱但還是想營造一點氣氛 :D figlet Command 介紹 Figlet 是一個將英文文字轉會成空心線條大字的工具
作者是 Frank Sheeran、Ian Chai、Glenn Chappell,以三人的姓名字母所命名
FIGlet 很有趣,光是看大字體的產生,就會很滿足
安裝 Figlet 透過以下各種系統的套件管理工具進行 figlet 的安裝
1 2 3 4 5 6 7 8 # Mac $ brew install figlet # Ubuntu $ sudo apt-get install figlet # CentOS $ sudo yum install figlet 使用操作 最簡單的操作方式,就是在指令後輸入欲轉換的英文字
就會得照一串賞心悅目的大字,看到這種藝術文字總會覺得很高級的錯覺
1 2 3 4 5 6 7 8 9 $ figlet CodyChen figlet CodyChen ____ _ ____ _ / ___|___ __| |_ _ / ___| |__ ___ _ __ | | / _ \ / _` | | | | | | '_ \ / _ \ '_ \ | |__| (_) | (_| | |_| | |___| | | | __/ | | | \____\___/ \__,_|\__, |\____|_| |_|\___|_| |_| |___/ 如果想連續輸入,就直接執行指令
最近將 2015 的 Macbook pro 升級至 Catalina 後 terminal 出現一串提示文 `The default interactive shell is now zsh` 叫我切換成 zsh ,但是使用一些時間之後,還是習慣原本的 bash 所以切換回來之後,要把提示文字隱藏 編輯 .bash_profile 配置,在底下加入參數
然後 :wq 保存退出
1 2 3 $ vim ~/.bash_profile export BASH_SILENCE_DEPRECATION_WARNING=1 並生效剛加入的參數
1 $ source ~/.bash_profile 這樣就不會再出現提示,果然還是熟悉的 bash 最對味
不過哪一天,搞不好會想改變成 zsh,就用下列指令切換
1 $ chsh -s /bin/zsh 參考資料 https://apple.stackexchange.com/questions/371997/suppressing-zsh-verbose-message-in-macos-catalina
為了方便幫自己家中的一先服務做反向代理,剛好手邊有一台 Synology 的 DS718+ 的 NAS 可以使用 原本只知道 Nginx,但是 Caddy 設定更輕鬆簡單,而且會自動申請 Let's Encrypt 憑證 原本想說使用虛擬機進行安裝,沒想到 Synology 也支援 Docker 所以不用特地在安裝一個虛擬機浪費效能 步驟一 安裝 Synology 安裝套件 Docker 請注意 Synology 機型是否支援 Docker 官網
步驟二 下載 Caddy 映像 選擇 abiosoft/caddy 進行下載
步驟三 佈署&設定 Caddy 容器 啟動容器資源限制,由於只有我個人使用,記憶體設定 64MB 足夠使用
勾選容器自動重啟,當 NAS 重新啟動的時候,Caddy 服務也能自動啟動
配置 Caddyfile 並儲存在 Synology 中
1 2 3 4 5 6 7 8 www.example.com { proxy / 0.0.0.0:8000 { websocket transparent } gzip browse } 將 Synology 中的 Caddyfile 掛載至 Caddy 容器中