2026年3月23日 星期一

安裝 SoftEther

 1. 更新套件庫並安裝 SoftEther

pkg update 

pkg install softether5

2. 設定開機啟動與啟動服務

ee /etc/rc.conf

# 允許 SoftEther VPN 伺服器開機自動啟動 

sysrc softether_server_enable="YES" 

  # 立即啟動服務 

service softether_server start

3. 初始設定(設定管理員密碼)

  1. 畫面會詢問你要使用的模式,請輸入 1 (Management of VPN Server or VPN Bridge) 並按 Enter。
  2. 接著詢問你要連接的 IP 或主機名稱,因為是在本機操作,直接按 Enter 即可(預設連接 localhost)。(443被佔用時要設定 localhost:5555)
  3. 詢問 Virtual Hub 名稱時,同樣直接按 Enter 進入伺服器全域管理模式。
  4. 此時你會看到提示字元變成 VPN Server>,請輸入以下指令來設定密碼:
              Bash
              ServerPasswordSet
依照系統提示輸入並確認你的管理員密碼。設定完成後,輸入 exit 離開。



這個畫面非常重要!這是設定 L2TP/IPsec 協定的地方。

強烈建議你開啟這個功能,因為開啟後,你的手機(iPhone、Android)、平板或是 Windows/Mac 電腦,就可以直接使用系統「內建」的 VPN 功能連線,完全不需要另外安裝 SoftEther 的客戶端軟體。

請依照以下步驟設定:

  1. 勾選第一個選項: 請把 「Enable L2TP Server Function (L2TP over IPsec)」 打勾。 (注意:第二個「Raw L2TP」不要勾,因為它沒有加密,非常不安全。)

  2. 確認預先共用金鑰 (IPsec Pre-Shared Key): 當你勾選第一個選項後,最下方的輸入框就會亮起。預設密碼是小寫的 vpn。 這是一把「所有使用者共用」的第一層鑰匙,連線時設備會要求輸入這組字串(通常稱為 PSK 或密鑰)。你可以保留 vpn 比較好記,或是改成你自己喜歡的英數字。請務必記下這組字串。

  3. 點擊右下角的「OK」 進入下一步。

(接下來如果跳出 VPN Azure 雲端服務的視窗,通常直接選「Disable VPN Azure」停用即可,除非你的伺服器處於很嚴格的防火牆後方才需要它。)


選擇下方的 「Disable VPN Azure (停用 VPN Azure)」,然後點擊右下角的 「OK」 即可。


關鍵最後一步:開啟 SecureNAT

  1. 在畫面上方點選你的 Virtual Hub 「VPN1」,讓它變成反白選取狀態。

  2. 點擊下方的 「Manage Virtual Hub」(管理虛擬集線器) 按鈕。

  3. 在彈出的視窗中,找到並點擊 「Virtual NAT and Virtual DHCP Server (SecureNAT)」(虛擬 NAT 與虛擬 DHCP 伺服器)。

  4. 點擊 「Enable SecureNAT」(啟用 SecureNAT)。

  5. 系統會跳出警告視窗,直接按確認即可。 (注意:開啟這個功能後,你的 VPN 伺服器就會自動發派 IP 給連進來的手機或電腦,並幫他們把流量轉發出去上網。)


2025年11月17日 星期一

查詢DNS狀態的網頁

查詢DNS

 https://www.whatsmydns.net/#A

網域相關

https://www.nss.com.tw/

網域設定

類型 (Type)完整名稱 (Full Name)意義/用途 (Purpose)
AAddress Record (位址記錄)將網域名稱 (例如 www.chiucho.com) 對應到 IPv4 位址 (例如 192.0.2.1)。這是最基本的記錄,用於指定網站伺服器的位置。
CNAMECanonical Name Record (正規名稱記錄)建立一個別名 (Alias),將一個網域名稱指向另一個網域名稱 (而不是 IP 位址)。例如,讓 blog.chiucho.com 指向 posts.example.com
NSName Server Record (名稱伺服器記錄)指定負責該網域的 DNS 伺服器。它告訴其他伺服器要去哪裡查詢該網域的 DNS 資訊。
MXMail Exchange Record (郵件交換記錄)指定負責處理該網域電子郵件的 郵件伺服器。它告訴寄件伺服器該把郵件送到哪裡。
TXTText Record (文字記錄)包含任意的純文字資訊。常用於驗證網域所有權、防止垃圾郵件 (如 SPF 或 DKIM 記錄) 或其他服務的設定。
PTRPointer Record (指標記錄)用於 反向 DNS 查詢,將 IP 位址 對應回 網域名稱。通常由 IP 服務供應商設定。
AXFRFull Transfer Record (完整傳輸記錄)用於 DNS 區域傳輸。它允許一個名稱伺服器將整個區域檔案 (包含所有記錄) 複製給另一個名稱伺服器。
SRVService Record (服務記錄)指定特定服務 (如 SIP、XMPP 等) 的伺服器位置 (主機名稱和連接埠號)。

2025年11月7日 星期五

關於163.26.79.1這台主機的說明

 ❓ 163.26.79.1 的網站怎麼了?

💡 因為資安政策的改變,現在沒辦法在校內架設網站,原本的網站現在只能在學校內連線,從外面的電腦(家裡)是連不進來的


❓ 61.70.154.73 這網站是什麼?

💡 這是一台老師架在外面機房的主機,目前同學們練習的成果都會存在這台主機內,在家或是在學校都可以連線


❓ 為什麼 http://61.70.154.73 這個網站會顯示不安全?

💡 網址 http://61.70.154.73 就像一個家只有門牌號碼(IP 位址),沒有名字。

如果有域名(domain name),就像這個家有自己的名字標示「OO家」,大家一看就知道是誰家,很容易記,也比較可靠,例如我們以前使用教育局提供的網址 https://gen-slps.slps.tn.edu.tw/

只有 IP 的網站不被瀏覽器信任,大多數憑證機構也不會簽發公開的 HTTPS 憑證,所以這個網站在瀏覽器上會顯示不安全。


❓ 我很在意網站安全性問題怎麼辦?

💡 你也可以透過 https://chiucho.com 這個連結登入網站。

只要使用這個入口,瀏覽器就不會出現不安全,可以的話,記這個網址會比較好,未來如果網站又更換IP,你一樣可以用這個網址連進來網站。

2025年9月8日 星期一

管理Mysql的指令集

查詢使用者 

SELECT User, Host FROM mysql.user WHERE User='chocho';

建立使用者

CREATE USER 'chocho'@'localhost' IDENTIFIED BY '你的密碼';

修改使用者密碼

ALTER USER 'chocho'@'localhost' IDENTIFIED BY '你的新密碼';

開放權限給帳號

GRANT ALL PRIVILEGES ON testdb.* TO 'chocho'@'localhost';

查詢帳號以及plugin

SELECT user, host, plugin FROM mysql.user;

使用舊版密碼登入

ALTER USER 'chocho'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

開啟 mysql_native_password 的方法

ee /usr/local/etc/my.cnf

加上以下內容
[mysqld]
mysql_native_password=ON

重新整理

FLUSH PRIVILEGES;

進入mysql指令

mysql -u root -p

mysql -u chocho -p


✔ 實務上怎麼判斷「是否該重啟」

你可以檢查以下項目:

1. 查看 MySQL 執行多久

SHOW GLOBAL STATUS LIKE 'Uptime';

2. 檢查 Buffer Pool 命中率

SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read%';

3. 檢查是否有大量 temp tables

SHOW GLOBAL STATUS LIKE 'Created_tmp%';

4. 查看目前是否有長 transaction

SELECT * FROM information_schema.innodb_trx;

5. 查詢 performance_schema 中資源利用狀態

(如 memory、threads、tables 等)

✔ 建議

如果你看到以下狀況:

MySQL uptime > 30~60 天

越跑越慢(尤其高峰期變化大)

temp table 很多

buffer pool hit rate 降低

長 transaction 存在

memory usage 不斷上升

👉 安排維護時段重啟一次是有幫助的。


2025年5月30日 星期五

FreeBSD伺服器會莫名斷線的解決方法

原因

IP (163.26.79.1) 在 gateway/NAT router 中的狀態「卡住」或 session 失效

  • 外網無法連進,區網正常 → 顯示封包無法從 gateway 對你主機做 port forwarding 或送達。

  • 重開機會讓 gateway 重新認識你的主機(重新發送 ARP 請求、重建 NAT 表、MAC/IP 對應表),所以就恢復正常。

解決辦法

建立一個腳本 /root/netfix.sh

#!/bin/sh

logger "[netfix] 啟動網路堆疊重建..."

service netif stop

service routing stop

sleep 2

service netif start

service routing start

logger "[netfix] 完成"

儲存後設定執行權限:

chmod +x /root/netfix.sh

執行:
sh /root/netfix.sh

設定排程自動重啟網路

crontab -e

加上一行,每天凌晨 2 點自動修復:

0 2 * * * /root/netfix.sh 

查看記錄檔
grep netfix /var/log/cron

設定自動通知


Step 1. 安裝 msmtp 

pkg install msmtp

Step 2. 申請 Gmail 「應用程式密碼」

https://myaccount.google.com/apppasswords

Step 3. 建立 msmtp 設定檔

# /usr/local/etc/msmtprc
defaults
auth           on
tls            on
tls_trust_file /usr/local/etc/ssl/cert.pem
logfile        /var/log/msmtp.log

account        gmail
host           smtp.gmail.com
port           587
from           your_email@gmail.com
user           your_email@gmail.com
password       your_app_password

account default : gmail

Step 4. 設定權限保護

chmod 600 /usr/local/etc/msmtprc

Step 5. 測試寄信
echo "測試內容" | msmtp -a gmail your_target_email@example.com






2025年5月21日 星期三

架設Scratch-gui伺服器

 連結
https://github.com/LLK/scratch-gui.git

1. 下載 scratch-gui-develop.zip 並放到適合的資料夾

2. 解壓縮 unzip scratch-gui-develop.zip

3. 開啟資料夾 

npm install

npm start

成功的話你就可以打開瀏覽器訪問:

👉 http://localhost:8601


※ 必須安裝node.js

2025年5月16日 星期五

用 nuitka 將 python 程式打包成可執行檔

指令

python -m nuitka link.py --standalone --enable-plugin=tk-inter --output-dir=output --windows-disable-console --windows-icon=your_icon.ico