2025年2月10日 星期一

WireGuard VPN 網段無法與特定主機連線

# 場景狀況 1. **`192.168.0.0/24`** 為主網段,DNS伺服器IP為 **`192.168.0.1`** 2. **`192.168.100.0/24`** 為WG VPN 網段,DNS伺服器IP為 **`192.168.100.1`** 3. **`192.168.100.0/24`** 網段設備無法與 **`192.168.0.0/24`** 特定設備連線 4. 假設特定設備IP為 **`192.168.0.99`** # 可能的問題與解決方案 ## 1.路由問題 在 **`192.168.0.99`** 執行下列指令 ``` ip route show ``` 或是 ``` route -n ``` 確認是否有通往 192.168.100.0/24 的正確路由 如果沒有,手動添加路由 ``` ip route add 192.168.100.0/24 via 192.168.0.1 ``` 然後再次執行查詢路由指令 應該會顯示 ``` 192.168.100.0 192.168.0.1 255.255.255.0 UG 0 0 0 br0 ``` 或是 ``` 192.168.100.0/24 via 192.168.0.1 dev br0 ``` 接著測試連線 ``` ping -c4 192.168.100.1 ``` 若可以連線即排除問題 ## 2.防火牆設定 * 檢查 192.168.0.195 的防火牆是否有阻擋 WireGuard VPN 流量(UDP 連接埠,通常是 51820)。 * 嘗試暫時停用防火牆,或允許來自 192.168.100.0/24 的流量。

2025年1月27日 星期一

批次壓縮資料夾

## 前置需求 需安裝 7-zip ## 代碼 開新文字檔貼上下列代碼 ```bash @echo off rem 設定變數 ZIP_PATH,指定 7z 執行檔的路徑 set ZIP_PATH=c:\program files\7-zip\7z.exe rem 開始處理所有傳入的參數 for %%a in (%*) do ( rem 檢查 %%a 是否是資料夾 (使用 dir /a 查找並確認 "DIR" 字串) dir /a %%a|findstr "DIR" >nul 2>nul && ( rem 如果 %%a 是資料夾,則將該資料夾及其內容壓縮為 zip 檔案 "%ZIP_PATH%" a -tzip "%%~dpa%%~na.zip" "%%~a\*" ) || ( rem 如果 %%a 不是資料夾,則將該檔案壓縮為 zip 檔案 "%ZIP_PATH%" a -tzip "%%~dpa%%~na.zip" %%a ) ) ``` 編碼格式選擇:`ANSI` 檔名:`批次壓縮.bat` ## 如何使用 將個別或是多個資料夾拖曳到該批次檔即可執行壓縮 或是將該批次檔複製到SendTo,即可"右鍵->傳送到..."來執行批次壓縮的功能 ```bash win + R shell:sendto 或是 C:\Users\WindWater\AppData\Roaming\Microsoft\Windows\SendTo ``` ## 參考來源 http://nio127.blogspot.com/2012/01/httpwww.html chatGPT

2024年12月12日 星期四

iVentoy在linux設置快捷命令以及開機啟動

## 下載&執行 首先在官網下載 **iventoy-1.x.xx-linux-free.tar.gz**
解壓縮後會得到一個 **iventoy-1.x.xx** 資料夾
將該資料夾更名為 **iventoy**
將該資料夾上傳到root路徑下
cd至該資料夾,執行 ```bash ./iventoy.sh ``` 即啟動iventoy程式,在瀏覽器輸入 **ip:26000** 即可進入iventoy操作頁面 ## 設定快捷啟動命令 #### 1.創建一個 shell 腳本 ```bash nano /usr/local/bin/pxe.sh ``` 內容輸入: ```bash #!/bin/bash cd /root/iventoy || exit 1 sudo bash iventoy.sh start cd /root || exit 1 ``` 然後存檔退出, 這段代碼的功能是: - 切換到 `/root/iventoy` 目錄。 - 執行 `sudo bash iventoy.sh start` 命令。 - 再切換回 `/root` 目錄切換回 `/root` 目錄。 #### 2. 給腳本賦予執行權限 執行以下命令,給 `pxe.sh` 文件賦予執行權限: ```bash sudo chmod +x /usr/local/bin/pxe.sh ``` #### 3. 創建別名 創建一個 `pxe` 的別名,讓你能夠簡單地通過輸入 `pxe` 來執行這個腳本 首先返回 **root** 目錄 ```bash cd /root ``` 接著編輯配置文件 ```bash nano ~/.bashrc ``` 在文件的末尾添加以下內容: ```bash alias pxe="/usr/local/bin/pxe.sh" ``` 然後存檔退出 #### 4. 重新加載配置文件 執行以下命令來重新加載配置文件: ```bash source ~/.bashrc ``` #### 5.測試 輸入: ```bash pxe ``` 看看是否成功執行 ## 設定開機啟動 使用 cron 設置開機自動執行 #### 設置cron文件 輸入: ```bash sudo crontab -e ``` #### a.若無法執行 **crontab** ,請安裝 **cron** ```bash sudo apt update sudo apt install cron ``` #### b.啟動 **cron** 服務: ```bash sudo systemctl enable cron sudo systemctl start cron ``` #### c.確保 cron 服務正在運行: ``` sudo systemctl status cron ``` #### d.現在,試著重新執行 **crontab -e**: ```bash crontab -e ``` 在cron文件末行添加: ``` @reboot /usr/local/bin/pxe.sh ``` 存檔離開

2024年11月11日 星期一

Linux 自定義命令

## 1. 創建一個 shell 腳本 首先,創建一個腳本文件,例如 pxe.sh: ```bash nano /usr/local/bin/pxe.sh ```
## 2. 編輯腳本內容 在 pxe.sh 文件中輸入以下內容: ```bash #!/bin/bash cd /root/iventoy || exit 1 sudo bash iventoy.sh start cd /root || exit 1 ``` 這段代碼的功能是: - 切換到 `/root/iventoy` 目錄。 - 執行 `sudo bash iventoy.sh start` 命令。 - 再切換回 `/root` 目錄。
`|| exit 1` 是用來確保如果任何一個 `cd` 命令失敗,腳本會停止執行。
## 3. 保存並退出 保存文件並退出編輯器(如果是 `nano`,可以按 `Ctrl + X`,然後按 `Y` 來確認保存,再按 `Enter`)。
## 4. 給腳本賦予執行權限 運行以下命令,給 `pxe.sh` 文件賦予執行權限: ```bash sudo chmod +x /usr/local/bin/pxe.sh ```
## 5. 創建別名 接著,創建一個 `pxe` 的別名,讓你能夠簡單地通過輸入 `pxe` 來執行這個腳本。編輯你的 `shell` 配置文件,例如 `.bashrc` 或 `.zshrc`(視乎你使用的 `shell`): ```bash nano ~/.bashrc ``` 在文件的末尾添加以下行: ```bash alias pxe="/usr/local/bin/pxe.sh" ```
## 6. 重新加載配置文件 保存並退出編輯器,然後執行以下命令來重新加載你的配置文件: ```bash source ~/.bashrc ```
## 7. 測試 現在,只需要在終端中輸入 `pxe`,它會自動執行想要的命令: ```bash pxe ```

2024年11月10日 星期日

Linux 修改系統語言

### 打開配置檔案 ``` sudo nano /etc/default/locale ``` 內容修改成 ``` LANG="zh_TW.UTF-8" LANGUAGE="zh_TW:zh" ``` 存檔退出 ###初始化配置 ``` source /etc/default/locale ``` 完成!

2024年7月31日 星期三

Windows Diskpart指令整理

markdown ##列出磁碟清單 顯示所有磁碟機 ``` list disk ``` ##選取磁碟 命令中的 * 需替換為需要清理的磁碟機的編號。確保編號正確,否則將導致清理錯誤的磁碟。 ``` select disk * ``` ##清理 清除所選取的硬碟,執行後磁碟機中的所有檔案和資料夾將被永久性清除。 ``` clean ``` ##初始化磁區 ``` create partition primary align=1024 ``` ##列出磁區清單 顯示所有磁區 ``` list partition ``` ##選取磁區 ``` select partition * ``` ##啟用磁區 ``` active ``` ##格式化,以4k對齊 ``` format fs=ntfs unit=4096 quick ``` ###參考資料 https://ofeyhong.pixnet.net/blog/post/86252265 https://exfast.me/2016/10/apply-ssd-4k-alignment/ https://recoverit.wondershare.com/tw/format-hard-drive/format-hard-drive-diskpart-cmd.html

2024年1月29日 星期一

Nextcloud AIO 安裝紀錄

## 官網 [https://github.com/nextcloud/all-in-one](https://github.com/nextcloud/all-in-one) ## 官方文檔說明 [https://github.com/nextcloud/all-in-one/blob/main/readme.md](https://github.com/nextcloud/all-in-one/blob/main/readme.md) --- ## 前置準備 - 需要一個網域 - 家用網路架設需使用反向代理 - 非固定式IP需DDNS工具隨時更新本機IP ## 系統需求 - 最低需求:2GB RAM、雙核CPU、40GB儲存空間 - 每啟用一個可選容器功能時需額外增加1G RAM - Talk功能需額外增加2個CPU核心 - 建議需求:5GB RAM以上、40GB以上儲存空間 --- ## Docker compose ``` yaml= version: "3" volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer services: nextcloud: image: nextcloud/all-in-one:latest restart: unless-stopped container_name: nextcloud-aio-mastercontainer volumes: - nextcloud_aio_mastercontainer:/mnt/docker-aio-config - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 environment: - APACHE_PORT=11000 - SKIP_DOMAIN_VALIDATION=true #略過網域驗證 ``` 由於配合備份及回復功能,須以 **docker volumes** 形式建立持久化儲存,無法以 **Bind mount** 方式掛載於指定位置。 **volumes** 預設存放位置為: ```bash= /$path/docker/volumes ``` 如果網域託管於Cloudflare將無法驗證,所以須使用環境變量略過網域驗證。 ``` yaml= SKIP_DOMAIN_VALIDATION=true ``` ### 其他紀錄,待整理... 找回web管理密碼 ```shell= sudo docker exec nextcloud-aio-mastercontainer grep password /mnt/docker-aio-config/data/configuration.json ``` 備份檔路徑 ```shell= /mnt/backup/borg ```

2024年1月19日 星期五

WingetUI 套件管理工具

markdown ## WingetUI 為 Windows 10 和 Windows 11 的Winget CLI 套件管理器建立的 GUI,類似於Linux套件管理工具、Ubuntu軟體商店,可搜尋、安裝、更新、移除各類應用程式 --- ##安裝方式: 在 PowerShell 或是 CMD 輸入: ```shell= winget install SomePythonThings.WingetUIStore ``` 或是在[github專案頁面](https://github.com/marticliment/WingetUI/releases/tag/2.2.0)下載 --- 參考資料 [https://github.com/marticliment/WingetUI](https://github.com/marticliment/WingetUI)

2024年1月2日 星期二

TurnKey GNU/Linux 安裝 docker & dockge

## 套件安裝 使用瀏覽器登入**https://ip:12321/**,在Webmin管理頁面左側,**系統**->**軟體套件**,右方點選**Package from APT** 。 點選**Search APT ..**,搜尋**docker.io**、**docker-compose**,並安裝。 安裝完成後,依照[dockeg](https://github.com/louislam/dockge)官方建議下載腳本安裝。 若安裝過程跳出 **apparmor_parser** 相關錯誤無法起動,則在軟體套件安裝 **apparmor-utils** 即可。 參考資料 [https://github.com/louislam/dockge](https://github.com/louislam/dockge) [https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de](https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de)

Jellyfin的docker安裝

本文以Intel iGPU配合硬體解碼。 ## 前置準備 查詢render組編號並記錄下來,指令如下。 ``` getent group render | cut -d: -f3 ``` 準備一個支援中文的字型檔,例如:**NotoSansCJK-Regular.ttc**,並複製七份其中六個改名如下。 - **DejaVuSans.ttf** - **DejaVuSans-Bold.ttf** - **DejaVuSansMono.ttf** - **DejaVuSansMono-Bold.ttf** - **DejaVuSerif.ttf** - **DejaVuSerif-Bold.ttf** 在系統字型資料夾下創建名為dejavu資料夾,並把上述七個字型檔案放入。 ``` /usr/share/fonts/dejavu ``` 查詢顯卡設備文件是否存在,路徑如下,若不存在需安裝顯示驅動。 ``` /dev/dri/renderD128 ``` --- ## compose內容 ```yaml= version: "3" services: jellyfin: image: jellyfin/jellyfin environment: - PUID=1000 - PGID=100 - TZ=Asia/Taipei group_add: - "100" #將用getent group render | cut -d: -f3查詢的指令填入,每台電腦都可能不一樣 volumes: - /srv/link/appdata/jellyfin/config:/config #jellyfin設定檔位置 - /srv/link/appdata/jellyfin/cache:/cache #jellyfin暫存檔位置 - /usr/share/fonts/dejavu:/usr/share/fonts/dejavu #掛載字體 - /srv/link/video/media1:/media1 #掛載影片位置可以配置多個 - /srv/link/video/media2:/media2 devices: - /dev/dri/renderD128:/dev/dri/renderD128 #配置解碼 ports: - 8096:8096 restart: unless-stopped ``` --- ## 參考資料 [https://jellyfin.org/docs/general/administration/hardware-acceleration/intel](https://jellyfin.org/docs/general/administration/hardware-acceleration/intel) [https://jellyfin.org/docs/general/installation/container](https://jellyfin.org/docs/general/installation/container)

2023年12月31日 星期日

OMV6的docker安裝順序

 OMV6 系統下的 Docker安裝順序

首先,更新系統完成後安裝 omv-extras。

然後在插件安裝 compose。

其次掛載儲存區、建立使用者。

建立Docker安裝相關資料夾,分別是:docker安裝資料夾、compose文件存放資料夾、容器資料存放資料夾。

在web左側,omv-extras頁,將Docker repo 打勾並儲存。

在web左側,服務-> Compose->設定

依序填入指定資料夾後按儲存即完成安裝docker

PowerShell或是CMD無法使用ping、ssh指令修復方法

如上圖,當 ping、ssh 等指令出現無法辨識情況

先確認

C:\Windows\System32\ping.exe
C:\Windows\System32\OpenSSH

是否存在,若存在嘗試在PowerShell輸入以下指令

$env:PATH += ";C:\Windows\System32"
$env:PATH += ";C:\Windows\System32\OpenSSH"

ping、ssh 功能應該會恢復正常

當PowerShell關閉後再開啟又出現無法辨識時,在環境變數新增或編輯 Path , 變數值為

C:\Windows\System32\
C:\Windows\System32\OpenSSH

如下圖

即恢復正常

Openmdiavault修復工具

當Openmdiavault出現問題無法在webUI上解決時

可以嘗試使用修復工具

omv-firstaid

當前OMV6版omv-firstaid工具功能如下

1  Configure network interface                #設定網路介面
2  Configure time zone                        #配置時區
3  Configure workbench                        #配置工作台
4  Change Workbench administrator password    #更改工作台管理員密碼
5  Reset failed login attempt counter         #重置失敗的登入嘗試計數器
6  Restore configuration backup               #恢復配置備份
7  Check configuration status file            #檢查配置狀態文件
8  Check RRD database                         #檢查RRD資料庫
9  CIear local upload package repository      #CIear本地上傳包倉庫
10 Submit diagnostic report to administrator  #向管理員提交診斷報告

若系統無法更新或是插件無法安裝或是安裝 omv-extras 無法解析 github 時

並且 ping google.com 無法解析時

可以使用Configure network interface嘗試配置DNS指定至8.8.8.8

2023年12月29日 星期五

cockpit 無法以root用戶登入 解決辦法

在安裝好cockpit若無法以root身分登入

可以到

/etc/cockpit/disallowed-users

編輯該文件,將root刪除即可


參考來源

https://github.com/cockpit-project/cockpit/issues/18427

2023年12月25日 星期一

一些開源&免費字型

 建立Linux中文環境一些可用的字型

fonts-moe-standard-song - 「教育部標準宋體」
fonts-moe-standard-kai - 「教育部標準楷體」
fonts-cns11643-sung - 「全字庫正宋體」
fonts-cns11643-kai - 「全字庫正楷體」
fonts-arphic-ukai -「文鼎楷書體」
fonts-arphic-uming -「文鼎明體」
fonts-arphic-bkai00mp -「文鼎 PL 中楷」
fonts-arphic-bsmi00lp -「文鼎 PL 細上海宋」
fonts-arphic-gbsn00lp -「文鼎 PL 簡報宋」
fonts-arphic-gkai00mp -「文鼎 PL 簡中楷」
fonts-cwtex-ming -「cwTeX 明體」
fonts-cwtex-kai -「cwTeX 楷體」
fonts-cwtex-heib -「cwTeX 粗黑體」
fonts-cwtex-yen -「cwTeX 圓體」
fonts-cwtex-fs -「cwTeX 仿宋體」
fonts-droid -「Droid Sans Fallback」
fonts-wqy-microhei -「文泉驛微米黑」
fonts-wqy-zenhei -「文泉驛正黑體」
xfonts-wqy - 「文泉驛 X11 字體」
fonts-noto-cjk -「Google思源字型」
 

安裝方式

sudo apt install 字型名稱       


參考來源:https://samwhelp.github.io/book-ubuntu-basic-skill/book/content/font/font-package.html
 

2023年12月14日 星期四

NAS 資料夾配置規劃&安裝套件

 套件

nala         #取代apt的安裝打包工具 (疑似可能會打亂系統更新)
omv-extras   #OMV擴增套件
curl         #下載工具 (必用需先安裝)
btop         #查看系統監控
iperf3       #內網測速工具
speed-cli    #外網測速工具
lshw         #查看硬體基本資訊

------------------------------------------------------

主儲存陣列 (*為共享資料夾)

/downloads*             #下載
/docker
    /docker-installation    #docker安裝位置
    /compose-stacks*        #容器佈署設定存放位置
    /appdata*               #容器資料
    /apps                   #應用程式
        /nextcloud*    
        /handbrake*         #影片轉檔
        /retroarch*         #懷舊遊戲
/media                  #媒體
    /video*             #影片
        /anime          #動畫
        /movie          #電影
        /TV_show        #節目
        /TV_series      #影集
        /test_videos    #測試影片
    /music*             #音樂
    /books*             #電子書
        /comic          #漫畫
        /novel          #小說
/users                  #使用者資料
    /user1*
    /user2*
/share*                 #臨時共享用
------------------------------------------------------

VM用儲存區(SSD)

/iso*   #系統映像檔
/vm     #虛擬系統存放

CAD Models 扣件項目(公制)

CAD Models 扣件對應編號


扣環

C型扣環-軸用 (外扣) = DIN 471
C型扣環-孔用 (內扣) = DIN 472
E型扣環 = DIN6799


插銷

平行銷 / 定位銷 = DIN7、ISO2338
彈簧銷 / 空心銷 = 
JIS B 2808、DIN1481、ISO8752
斜銷 = DIN1、ISO2339A、ISO2339B
斜銷(帶內螺紋) = DIN7978A、ISO8736A 
開口銷 = DIN94、ISO1234
R型銷 = BN915

CAD Models 油封項目(公制)

CAD Models 油封種類對應近似品項


外圈包膠

TC油封 = TTS oil seal TRE (雙唇)
SC油封 = TTS oil seal TRA (單唇)

外圈鐵殼

TB油封 = TTS oil seal TRD (雙唇)
SB油封 = TTS oil seal TRC (單唇)

雙層鐵殼

TA油封 = TTS oil seal TRF (雙唇)

2023年12月13日 星期三

Linux 查詢硬碟容量指令

目前硬碟剩餘空間與使用空間

df -h

目前此資料夾下所有檔案與資料夾所佔用硬碟容量

du -h

目前此資料夾總共佔用硬碟容量,以G為單位

du -s

目前此資料夾總共佔用硬碟容量,以G為單位

du -sh

查看檔案大小

ls -l

2023年12月10日 星期日

安裝dockge (dock管理工具)

Dockge

基於docker compose.yaml建立容器,易使用的管理器。

 

前置條件

需先安裝docker,docker安裝方式

基本安裝

預設stacks目錄:
/opt/stacks
預設Port: 5001
# 建立儲存你的stacks yaml和 Dockge stacks yaml的存放
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# 下載 compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# 啟用 docker
docker compose up -d

 

更新dockge

cd /opt/dockge
docker compose pull && docker compose up -d

自定義安裝

自定義網址:https://dockge.kuma.pet/
更改Stacks Directory至指定位置(該路徑為存放容器compose):
例如:/srv/disk1/docker/compose-stacks
點擊Download,下載compose.yaml或是複製compose.yaml內容來建立容器
建立容器前記得修改安裝路徑 ./data:/app/data ,至指定位置。

參考來源

https://github.com/louislam/dockge