Pank's Blog
2024年11月6日 星期三
MySQL 8.4 LTS
這是繼 8.0 LTS 後下一個 LTS 版本
寫這篇文章時,已經出到 8.4.3
Overview of changes in MySQL 8.4.0
感覺異動不大,
mysql_native_password 預設關閉,
因應時代變化,一些預設參數有調整,
replication 的指令有異動
Download MySQL Yum Repository
裝這個 8.4 的 repo 檔,然後 yum -y update 就升完了
拿一台 8.0 的機器直接升級,並沒有遇到什麼問題,算是無痛升級
2024年11月2日 星期六
RouterOS Cloud DDNS Server
cloud.mikrotik.com
or
cloud2.mikrotik.com
若機器上設了很多路由,IP / Cloud 的 DDNS IP 可能不是想要的
可以設這段 static route 159.148.128.0/18 控制它走那一段路由出去 Cloud DDNS
LINE Notify Replacement
LINE Notify 好用在於免費,而且可以無限量發送
幾乎所有的 IM 軟體都有串 Bot Message 的功能,找替代方案不是問題
Telegram
Discaord
Facebook Messenger
IG
Skype
Google Chat
Microsoft Teams
Slack
個人使用就挑一套有在用的轉即可,個人是推薦 Telegram
量不大的話也可以用 LINE Messaging API,免費額度一個月是 200 則
商家的話比較麻煩,跳其他 APP 平台客戶不見得會繼續用,最佳替代方案只能付費選 LINE Messaging API
又是一個養套殺案例
inotify-tools
例如此腳本監控 /abc 目錄,後續觸發 rsync 動作
while true
do
rsync -au /abc/ /def/
加 -d 參數可以常駐執行,監控 Event 存成 Log
inotifywait -dr --timefmt '%F %T' --format '%T %w%f %e' /abc -o /var/log/inotifywait.log
另外一個指令 inotifywatch 感覺比較沒用,它是監控一段指定時間或直到按 Ctrl-C,顯示 Event Counter
2024年10月6日 星期日
Linux PPPoE NAT MTU and MSS
已知 LINE 的網站 (https://line.me) 及 LINE 服務就有這個狀況
這個問題是因為 Client 的 MTU 1500 大於 Linux NAT WAN 端的 MTU 1492 所導致,
解決方式有兩種:
1. 在 Linux NAT 解決,加一行 Rule
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
TCPMSS 這個 target 會更改 TCP SYN 封包的 MSS 值
--clamp-mss-to-pmtu 會根據 path_MTU 自動設定 MSS (Maximun segment size) 的值,即 path_MTU - 40 (for IPv4)
2. 更改 Client 端的 MTU 跟 NAT WAN 端一致
這兩種方式明顯是方法 1 較佳,不用動到 Client 端
原理:
一般 Ethernet MTU 是 1500,PPPoE 是 1492,
Client PC 沒特別調整的話,MTU 也是 1500,進行 TCP SYN 連線,
TCP Option 中的 MSS 會是 1460 (1500-40 TCP Header)
在尚未加上面的 Rule 時,NAT 會原封不動轉送出去,
導致回應封包有可能會超出 PPPoE 環境的值1452,後續就收不到 Server Hello 封包,就會卡住沒通
加入該 Rule 後,封包在轉送出去時,會改成 MSS 值為 1452,後續就會通
那為何大部份的網站都會通呢?
因為用了較小的 MSS,例如 Google 是 1412
2024年9月18日 星期三
pktmon - Windows tcpdump
列出網卡
pktmon comp
新增一個 filter
pktmon filter add tcp80 -t tcp -p 80
開始抓包,--pkt-size 0 是記錄整個封包,不然預設只會記 128 bytes
預設抓所有網卡,要指定網卡可以用 --comp 網卡編號 (參考pktmon comp)
pktmon start -c --pkt-size 0
停止抓包,預設會存在當前目錄 pktmon.etl,若要指定不同的檔名,在 start 時用 -f 參數
pktmon stop
轉成 Wireshark 格式檔案,會轉出 pktmon.pcapng
pktmon pcapng pktmon.etl
pktmon 無法過濾某個軟體的封包,還是只能用 Microsoft Network Monitor,這個功能似乎還沒有替代品
2024年9月10日 星期二
HiNet IDC mirror closed
HiNet 這個網址關了,要高速下載 Linux ISO 少了一個地方,感謝 HiNet 默默服務了多年
測了幾個 TW mirror 站,推 TWDC 台灣數位串流,常見的 Linux 都有,速度超快
https://mirror.twds.com.tw
2024年8月26日 星期一
RouterOS WireGuard
RouterOS 在 7 版以後支援 WireGuard
註: WireGuard 在 Linux Kernel 5.6 版開始內建
設定滿簡單的,在選單 WireGuard New Interface,Private Key 及 Public Key 不用填,會自動產生
在 IP / Addresses 綁一個 IP 給 wireguard1,例如 10.66.66.1/24
在 IP / Firewall / NAT 加上 srcnat 讓 wireguard1 區段 masquerade
在 Peer 加 Client,這邊就沒有自動產生功能,
要找一台有裝 wireguard-tools 的 Linux,用 wg 指令產生
wg genkey | tee privatekey # 產生 Private Key
wg pubkey < privatekey # 產生 Public Key
wg genpsk # 產生 Preshared Key
Client Address 填入 10.66.66.2 # 要在上面 wireguard1 網段內
Client DNS 填入 8.8.8.8
Client Endpoint 填入 RouterOS 的 Public IP
下面會自動產生 Client Config 及 Client QR 碼
但實測在 [Interface] 內 ListenPort 必需移除才會通,
掃 QR 碼後,需將 ListenPort (監聽連接埠) 設定移除,移除後欄位會呈現 (隨機)
ref. ROS WireGuard
2024年8月5日 星期一
Change Redhat Linux 9 /lib default size
在 9 之後,預設大小是記憶體的 20%,若要調整這個大小,可以在 /etc/fstab 加一行覆寫預設值
例如:
tmpfs /run tmpfs defaults,size=5G 0 0
systemd jounal 的預設存放位置就在這 /run/log/journal,
其預設最多使用所在 Partition 的 10%,若 Log 量多,希望保留多一多時間,
就需要調大 SystemMaxUse 及 RuntimeMaxUse 這兩個值
2024年6月7日 星期五
ESXi find what process lock file
ESXi 檔案刪不掉,出現 Device or resource busy
若檔案名稱是 windows-10-flat.vmdk
下此指令就可以知道那邊佔用
ps | grep `lsof | awk '/windows-10-flat.vmdk/ {print $1}'`
另外這個指令可以顯示機器名稱與 datastore 的檔案對應,
vim-cmd vmsvc/getallvms
改機器名稱,datastore 的檔案不會跟著改名,有可能出現與目錄名稱不一致的情況
MySQL 8.4 LTS
許久沒有留意 MySQL 的版本發展,8.4 都已經出一段時間了(2024-04), 這是繼 8.0 LTS 後下一個 LTS 版本 寫這篇文章時,已經出到 8.4.3 Overview of changes in MySQL 8.4.0 感覺異動不大, mysql_nati...
-
禁止 LINE 電腦版自動或強制更新的方法 LINE 電腦版啟動都會去連這個更新資訊檔 https://desktop.line-scdn.net/win/v1/real/update_info.json 內容大概長這樣 可以看出針對各版本的更新 type 有 force, ...
-
xrdp 是 Linux 版的 RDP server (遠端桌面) 它運作時需要 Xvnc 的 libvnc.so, 所以安裝時需要連同 VNC 一起安裝(只需 minimal) dnf -y install xrdp tigervnc-server-minimal system...
-
以前都是用 rp-pppoe 套件裡的 adsl-setup 來設定 PPPoE 現在比較新的 Linux 已經沒有這個套件了,要用 NetworkManager 的 nmcli 來設定 設定也很簡單,準備帳號、密碼及網路卡就行了 以下範例帳號是 xxxx@hinet.net 密...
-
比較舊版的電視盒,無法裝新版的 Kodi , Android 4.x 版只能裝到 16.1 這個版本 kodi-16.1-Jarvis-armeabi-v7a.apk
-
Windows 的 NFS Client 從 Windows 7 之後就內建了,但預設沒有開啟, 要到 設定 / 應用程式 / 程式與功能 / 開啟或關閉 Windows 功能 開啟 Client for NFS 但是預設的情況下,遇到中文檔名會有亂碼, 到 設定 / 時間與語言...
-
這個方法網路要通,直接抓 image 寫入硬碟 隨便找一片 Linux ISO 開到 rescue 模式 fdisk -l 看一下硬碟位置,如果是 /dev/sda curl https://repo.jing.rocks/openwrt/releases/23.05.3/tar...
-
跨來源資源共用(CORS) Mozilla 這邊文章寫得很詳細 簡單講當 User 去連 A 站,裡面的 AJAX 動作去 call B 站的資料,B 站就必需在 HTTP header 裡加入 Access-Control-Allow-Origin: * 使用完整 Source...
-
RouterOS 的管理工具 winbox,因為還不支援 UTF-8, 雖然可以在 Wireless 設定中文的 SSID,但是實際上會看到亂碼, WiFi 的 SSID 是走 UTF-8 編碼,需要把 UTF-8 中文轉成 HEX 碼,再用指令設定 寫了一個小工具提供大家使用...
-
由於 旱溪西路拓寬 (2023-08-31 開放通車),有部份自行車道被犧牲了,破壞了原本一圈 5.7K 的 旱溪大操場 , 現在旱溪西路從松竹路口往北,過南興北二路一點點,自行車道就沒了,只有 1.2K。 附圖潭興路以北區塊,就是小一點的潭子旱溪大操場,一圈 3.3K。 ...
-
2020年十月,微軟宣布在台建立資料中心,沒有公布時間表,滿期待的 之後台灣機房除了 Google 以外還有第二個選擇 Microsoft to establish its first datacenter region in Taiwan as a part of its &...