2022年7月2日 星期六

[速記] Nextcloud使用snapd安裝後的基本維護

看過snapd簡介感覺不錯,出於好奇用它裝Nextcloud試試,確實是個容易"上手"的套件管理系統,回答幾個簡單問題跟幾個Yes就順利裝完

最近臨時有網路儲存需求,偷懶想直接拿這套半生不熟的Nextcloud開刀。照以前經驗要調整參數時突然傻掉,ps看到httpd在聽80/tcp,可是找不到設定檔,systemd的服務也沒找apache。盲試了一陣子才死心上網查,原來snapd下運作的套件都是pre-build的完整包。為了確保運作順利,系統內的檔案都是read only,就算找到設定檔也不能直接改,服務也不是用systemctl管理的

因為對snapd不熟,以下僅針對這次有接觸到的部分做點快速筆記

作業系統 :
    Ubuntu 20.04.1 LTS
SNAP版本 :
    2.56

* Nextcloud設定檔
   /var/snap/nextcloud/current/nextcloud/config
   (snap套件參考的外部檔案都透過/var/snap)

* 目前snap提供的服務列表及狀態
   $ snap services

* 查詢snap下Nextcloud資訊
   $ snap info nextcloud
   裡面有一段是管理Nextcloud服務可用的指令
        commands:
          - nextcloud.disable-https
          - nextcloud.enable-https
          - nextcloud.export
          - nextcloud.import
          - nextcloud.manual-install
          - nextcloud.mysql-client
          - nextcloud.mysqldump
          - nextcloud.occ

* 啟用/停止Nextcloud服務
   $ sudo snap start nextcloud
   $ sudo snap stop nextcloud

* 啟用Nextcloud的ssl功能
   $ sudo nextcloud.enable-httpd

   執行後須進行憑證相關設定,此套件支援三種方式
        let's encrypt 最普遍的免費CA,推薦使用
        self-signed   自簽憑證,瀏覽器會有限制
        custom         自己處裡,需手動將憑證相關檔案放到
            /var/snap/nextcloud/current/certs/custom/
            指令應改為
            sudo nextcloud.enable-https custom -s cert.pem privkey.pem chain.pem

本次就用到這些,隨手紀錄。操作各指令前應先-h看一下比較安全

 

 

2022年7月1日 星期五

[速記]實體ubuntu 20.04移植為ESXi VM (P2V)

 背景 

* vCenter converter不支援ubuntu,軟體已暫停提供

* 試過舊的vCenter converter移植失敗

* 沒找到免費工具軟體提供類似的功能


解法摘要

1.找台電腦跑VirtualBox,建立空vm,虛擬硬碟容量大於實體機使用空間

2.用Debian live CD啟動vm(預設密碼live),啟動terminal,確定可ssh到ubuntu

3.在Debian端用dd將ubuntu整個複製過來(我的環境單純,只有/dev/sda)
sudo ssh <user@ubuntu> "sudo dd if=/dev/sda | gzip -1 -" | sudo dd of=/dev/sda
(這一步驟會跑超級久,數小時至數十小時,只能耐心等候)

4.複製成功後,重新啟動vm(需移除Debian live CD,通常Debian會自己處理掉)

5.若vm可成功用複製過的硬碟檔啟動,恭喜,最關鍵的步驟已完成

6.關閉vm,從VirtualBox將vm用ovf格式匯出

7.登入ESXi,瀏覽儲存區,將前步驟匯出的vmdk檔上傳

8.ssh進ESXi,執行vmdk檔案格式轉換
vmkfstools -i <匯出的vmdk檔> -d thin <未來要用的vmdk檔>

9.如果上個步驟也成功,ESXi建立新的vm,硬碟選<未來要用的vmdk檔>即可

以上只是速記,提供稍微有經驗的人參考

如果有哪個步驟走不下去可能是我忽略了,可以提問討論看看

我是業餘的,做事比較隨便一點,請自行斟酌風險

大家加油~


SoftEther跑在ESXi環境下可上網但Local Bridge無法存取LAN


SoftEther VPN用了五六年,一直用它有幾個懶原因

1.容易搞定,手動安裝或是用snap自動安裝都很成功

2.內建OpenVPN相容模式,筆電、手機裝OpenVPN Connect方便易用

3.容易維護,用SoftEther Manager設定,雖然不懂也能稍微調整


一直都裝在ESXi,用Manager產出OpenVPN用的設定檔直接匯入
設定檔是zip格式,裡面有說明文件跟L2、L3兩個profile

將L2設定檔匯入OpenVPN Connect一直連不上,不想細究跳過
只想靠著摸索弄到動起來,很幸運(?)發現這個組合能用

(1) Server端啟用Virtual NAT and Virtual DHCP server(SecureNAT)

(2) client端匯入L3設定檔

堪用但有不如預期的限制

* client取得的IP位址必須由Virtual DHCP server發(LAN下多一層)

* 無法存取LAN上的電腦(SoftEther實際綁的區域網路)

雖然很不方便(連回家卻無法操作其他server)還是懶得弄


前陣子經朋友推薦玩Proxmox,也裝了SoftEther
依然沿用ESXi上的習慣,照上面的組合用了一陣子
一樣堪用不理想,感覺上反應都比ESXi上的慢一點

直到有次在外連VPN上網覺得慢到無法忍受,翻看論壇上
其他人嫌慢是幾十Mbps,我的才1Mbps,決定了解一下

首先是論壇上最常見的啟用SecureNAT效能會大幅降低
大家都說沒其他考量,直接用bridge將VPN與目標網路(LAN)綁起來

試了幾種設定,無論怎麼改,關掉SecureNAT直接透過Local Bridge
在ESXi下就是無法連線。一樣的設定在Proxmox下卻很正常
VPN client還能正常存取LAN hosts

交叉比對Proxmox下與ESXi下的設定,完全一樣,但結果分別是

* Proxmox下的不用開SecureNAT就能連外網,可以存取LAN

* ESXi下的一定要開SecureNAT才能連外網,無法存取LAN

(但我還是沒試L2 profile)

試到煩了決定讀一下Manager建bridge時跳出的訊息














唉~ 原來人家說得很清楚,VMWare系統提供網路資源的vSwitch
預設不開放Promiscuous mode,要手動打開
(實際上打開ESXi vSwitch資訊頁上該設定是啟用狀態,進下一層
到網路設定才是保留空白,這怪怪的情況我還是不想花時間探索
歡迎有興趣的朋友分享)

進到ESXi管理畫面,改看看

1.點開vm連結的那個網路(我SoftEther VM連到預設的VM Network)










2.點上方"動作 >> 編輯設定" (上方抓圖不小心截掉了,捲上去會看到)

把混和模式(Promiscuous)設定為"接受",儲存即可












註:
VMWare預設拒絕混合模式應是基於資安考量,未指定或不需要傳送給
指定網路的封包將不會往VM送。因為VPN直接存取LAN資源需要些底層
傳輸,需開啟混合模式。此文提供直接的設定參考,對技術背景有興趣的
朋友請參考wikipedia