Tommy 碎碎念

Tommy Wu's blog

讓 Nginx 的 real_ip 模組找不到對應的 header 時, 使用 proxy protocol 傳入的 IP
post by tommy @ 24 三月, 2023 10:08

最近把 DNS 轉到 Cloudflare 使用, 原本在主機上使用 HAProxy 把 SSL 的封包轉到個別對應的軟體是使用 Proxy Protocol 將來源 IP 通知處理的軟體. 在改用 Cloudflare 之後, 這個 IP 就變成 Cloudflare 的 IP 了. 這個在需要知道來源 IP 的軟體上, 就反而造成問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
新玩具 NanoPi R2S/R4S
post by tommy @ 02 元月, 2022 08:54

由於家裡的其中一台 firewall 使用的 CompuLab 的 Intense-PC 這半年老是在執行 php script 時發生 coredump, 加上硬碟應該也有壞軌, smartd 每天都發信通知有問題, 所以想找機器來換掉它. 因為做的事不複雜, 也不需要太多的效能就能處理, 加上之前買來用的 Utilite 都能運作, 所以考慮買個雙網卡的耗能低小機器來處理就可以. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Linux 上面的 samba 加入 AD 之後的一些問題
post by tommy @ 23 三月, 2017 10:00

記錄一下當 Linux 上面透過 krb5-user 與 winbind 加入 AD 之後的一些小問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Apache 使用 AD 帳號密碼認證的處理
post by tommy @ 22 三月, 2017 10:42

Apache 本身有 mod_authnz_ldap 這個模組可以支援 ldap 的認證. 使用上並不困難, 使用下列的設定就可以: (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
安裝 xware (迅雷遠程下載) 下載迅雷離線的檔案
post by tommy @ 29 七月, 2016 06:29

最早的時候, 是用一台 VM 跑迅雷來下載 (比較快沒錯), 不過後來買了 NAS 之後, 就改用 Synology 裡頭的 Download Station 來下載迅雷離線上的檔案 (用的應該是 xunlei-lixian 這個軟體), 雖然速度不快, 但是擺著沒多久也一樣能抓完. 不過.... 這幾天, 突然連不上, 一直說我的密碼不對, 不過用瀏覽器連上都正常. 所以.... 就試著裝 xware 來用. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
架設 OpenConnect VPN server
post by tommy @ 15 七月, 2016 10:05

在 Debian 中安裝 OpenConnect VPN server 其實很簡單, 應該只要一行 apt-get install ocserv 指令就可以了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
使用 libteam 取代 bonding
post by tommy @ 15 七月, 2016 09:48

其實在 libteam 剛出來的那時候, 就有意把 bonding 換成 libteam 來使用. 不過... 很奇怪的是在我家的環境下, 使用 libteam 產生的網卡會一直在 DOWN 的狀態, 無法正常使用. 這幾年下來, 每隔一陣子就會用新版的 libteam 試看看, 印象中好像上次最後一次試是 1.19 還是 1.21, 依然無法使用.... 不過... 最近試了 1.24 之後, 發現居然可以正常使用了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
使用 sendxmpp 來取代 MSN 通知的功能
post by tommy @ 16 三月, 2015 14:37

雖然說 MS 幾年前就說要關閉 MSN 即時通訊的服務, 不過, 相關的伺服器仍持續的運作, 直到這個月的 12 號開始, 所有的伺服器都不接受 MSNP24 以下的協定了, 也就是目前幾乎所有的 MSN 即時通訊的客戶端程式都無法正常運作了 (剩下 skype 可以, 還有修改過的 WLM 2012 也可以, 不過... 過些時候, 應該除了 skype 之外, 其他的可能都不能用了). (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Linux UEFI 開機
post by tommy @ 19 二月, 2014 19:25

原本對於 UEFI 的認識, 認為只要弄一個 FAT32 的 partition, 把 loader 放在 /efi/boot/bootx64.efi 就能夠正常開機了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
使用 ffmpeg 透過 rtsp 轉資料給 Darwin Streaming Server 播放
post by tommy @ 13 十二月, 2013 09:59

這幾天發現原本使用 VLC 將電視卡的訊號轉送到 Darwin Streaming Server 播放的功能沒有作用了. 我記得之前最後一次試好像有半年了吧.... 與之前的差異應該就是 Kernel 不一樣 (v4l2 的 driver 可能有變), Debian 版本不一樣 (幾個星期前由 stable 轉到 unstable 使用), 加上 VLC 的版本不一樣 (之前應該只有 2.0.x 的版本, 目前是 2.1.1). (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
自行編譯 Utilite 使用的 kernel
post by tommy @ 23 十一月, 2013 11:17

目前官方編譯的 kernel 少了許多的功能 (例如, 沒有把 netfilter 編進去, 要拿來當 router/firewall 就很困難), 所以有需的就就必須要自行編譯. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
自製 Debian Wheezy armhf 的 rootfs (for Utilite)
post by tommy @ 21 十一月, 2013 14:31

由於目前 Utilite 只有提供 Ubuntu 的 image (而且似乎是 armel 的版本), 所以打算自己動手裝上習慣的 Debian 版本. 不過... 由於目前 Debian Wheezy 並沒有提供 Utilite 的 installer, 所以就只能自己打造了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Utilite - ARM miniPC
post by tommy @ 14 十一月, 2013 12:23

今年七月的時候, CompuLab 就說要推出一台 USD $99 低功耗 4 核心的 ARM miniPC Utilite, 因為有兩個 LAN port (一般不是沒有就是只有一個), 看起來能夠拿來當成簡單的 linux router/firewall, 可以用來替換掉家裡的 PC (雖然有用兩台 PC 做 standby, 不過機器看起來都快掛了, 重開機往往無法正常進入到系統, 不過進入系統後又很奇怪的可以跑很長一段時間), 所以就一直等著開賣之後買兩台來玩玩. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Acer A1-810 官方的 ROM 與 kernel source
post by tommy @ 08 九月, 2013 14:10

其實之前 Acer 就把 kernel source 上到官網 上面, 不過.... 我猜應該是放錯了吧.... 因為用那個 source build 出來的 module, 常常抱怨有些 function 在機器目前的 kernel 並沒有 export 出來.... 試著去改 .config 來加入該 function, 最後做出來的 module 往往無法正常載入...  我在之前下載那個 source, 試著加上 exfat 時, 試了一陣子, 最後就放棄了.

這個月初, 雖然 Acer 官網上檔案的名稱一樣, 不過檔案的日期改變了 (當然內容也不一樣了), 也放上了正體中文的 ROM (似乎只有中文的, 因為英文的網站目前還沒有)

用新的 kernel source, 我可以正確的 build 出 exfat.ko (exfat-nofuse 的版本), 不過, 很不幸的, A1-810 上頭的 vold 不認得 exfat, 就算手動的方式可以載入 exfat.ko, 也可以 mount, 正常讀寫也沒問題, 不過.... vold 就是不認得. 也就是你在設定的儲存空間是看不到那個內容, 一般的程式也看不到該內容 (就算 mount 在同一路徑也一樣).

Del.icio.us Furl HEMiDEMi Technorati MyShare
海美迪 HD300B 搭配 Synology NAS 使用 NFS 的問題
post by tommy @ 08 九月, 2013 08:50

原本都是把影片複製到 HD300B 上頭的硬碟, 不過.... 2TB 的空間被塞滿了, 所以... 就打算直接連到 NAS 上頭使用. 因為通常使用 NFS 的效能會比網路芳鄰好一些, 所以就打算用 NFS 來做.... 不過... 使用 HD300B 去選擇 NFS 時, 會自動去找區網內的伺服器, 是有找到沒錯, 不過.... 一點進去, 隔了好幾秒之後, 只出現一個空白畫面... 什麼東西都沒有. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 DSM 4.3 中使用 NFS3
post by tommy @ 05 九月, 2013 10:14

上個月 Synology 推出了 DSM 4.3 的正式版本, 對於 NFS 加上了 wsize/rsize 的設定 (終於可以改用大一點的數字了), 所以, 就把家裡的 NAS 升級到 4.3. 不過.... 升上去後, 發現預設的連線會變成是用 NFS4, 而在 uid mapping 上頭, NFS4 與 NFS3 的作法似乎不太一樣....  (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
啟用 Synology NAS 的 Wireless AP 功能
post by tommy @ 29 八月, 2013 14:05

最近家裡的 AP 又開始怪怪的了 (十年下來, 好像換了四台, 7x24全年無休, 平均兩年多就開始有問題), client 會找不到 AP, 重開後可能用過幾小時到幾天會找不到了....

原本打算用最近入手的一台 CompuLab 的 Intense PC 來當 AP (因為有內含一張 mini pci-e 的無線網卡), 不過... 那張卡用的是 RTL8723AE, 雖然在 linux kernel 已經有 driver, 不過.... 試了一下, 只要 hostapd 加上密碼做成 wep/wpa 就會在連線後就斷線, 只有沒有設定任何加密方式才能使用. (後來其實有買了支援的卡回來, 不過... 機器上的 slot 是用卡榫來固定, 買的卡後面有多了一層, 剛好卡不上去, 沒辦法固定....) 所以就轉向使用 usb 網卡來處理. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 squid 支援 https_port
post by tommy @ 01 八月, 2013 11:03

因為 Android 上頭的 ProxyDroid 有支援 https 的 proxy 協定 (是指連到 proxy server 使用 https 的方式, 不是指要用 https 的方式連到別的網站), 發現 squid 應該也有支援才對, 昨天就試著設定一下. 結果.... Debian 上頭的 Squid 並沒有使用 --enable-ssl 來編譯, 所以並不認得 https_port 這個設定. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
如何自行匯入信任的 Root CA?
post by tommy @ 31 七月, 2013 13:17

依據以往的經驗, 在 Linux 底下, 應該是把 .crt 的檔案直接放到 /etc/ssl/certs/ 底下就可以. 不過... 我在我的 A1-810 上頭, 沒看到這個目錄, 倒是有  /system/etc/security/cacerts/ 這目錄, 底下的確也都是一堆 root CA. 所以... 看起來應該就是放這兒就好了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正 mencoder 在 Linux kernel 3.9 底下電視錄影不正確的問題
post by tommy @ 04 五月, 2013 10:29

這個我不確定算是 mencoder 還是 Linux kernel 3.9 的問題. 反正兩者放一起就是有問題就對了.

發生的原因是在 Linux kernel 3.9 中, 對於 V4L2 的時間取得改成使用 monotonic timestamp (透過 v4l2_get_timestamp() 來處理), 但是在 mencoder 中, 似乎沒辦法正確去判斷是一般的 timestamp 還是 monotonic timestamp 就直接當成一般的時間來處理, 所以在計算時間上就有問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
lvremove 造成的當機問題?
post by tommy @ 02 四月, 2013 16:58

由於方便管理, 基本上安裝 Linux 時, 應該都會用 LVM 來管理, 當然我也不例外. 不過... 這一年多來, 我碰到了不少次在每天備分時當機的問題 (備份沒全部完成, 機器仍有回應, 不過 load average 會高達數百到數千, 打個指令也不知道要多久才能回應... 通常碰到就只能重開機), 由於頻率不算太多 (三台機器, 每天備份, 可能兩個月碰到一次吧), 所以一直沒去找原因. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Horde 升級之後無法正常使用?
post by tommy @ 02 四月, 2013 16:38

最近幫別人裝了一台伺服器, 裝上了 Horde/IMP, 發現目前已經升到 Horde 5 的版本了. 畫面似乎比 4 的版本好一些, 所以.... 就把家裡的 Horde 也做了升級的動作. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 screen 4.1.0 中 ncurses 程式位置不正確
post by tommy @ 02 四月, 2013 16:00

印象中這個問題出現很久了, 不過因為我也很少用到 ncurses 的程式 (應該也只有偶而用用 aptitude 與 build kernel 時可能會用到 make menuconfig 這兩個吧), 所以就將就著用.

不過最近幫人裝了一台新的伺服器, 用的還是 Debian Squeeze 的版本, 突然發現用到的 screen 是正常的.... 看來是自從我把機器由 Squeeze 升級到 Wheezy 的時候, 就把 screen 由 4.0.3 升到 4.1.0 後就出現這個問題了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Debian 的 dkms_autoinstaller 當同一個模組有多個版本時的處理
post by tommy @ 26 四月, 2012 10:23

最近發現在安裝新的 kernel 時, Debian 在安裝之後, 會去處理 dkms 的模組, 但是當同一個模組有多個版本存在時, /usr/lib/dkms/dkms_autoinstaller 這個 script 就會回報這個錯誤:

Apr 25 17:09:33 mail dkms_autoinstaller: e1000e: Multiple versions in DKMS. Unsure what to do. Resolve manually.
Apr 25 17:09:33 mail dkms_autoinstaller: igb: Multiple versions in DKMS. Unsure what to do. Resolve manually.

由於舊的版本通常是在目前或舊的 kernel 仍在使用, 所以也無法馬上就移除. 所以每次有新的版本時, 就有這個問題. (有其他的解決方法嗎?)

使用這個 patch, 可以直接選擇最大的版本來用, 這樣就可以允許多個版本存在 (這應該是多數情況下的選擇):

--- dkms_autoinstaller.orig     2012-04-26 10:03:51.235070429 +0800
+++ dkms_autoinstaller 2012-04-26 10:03:50.691733326 +0800
@@ -79,7 +79,10 @@
version_count=0
already_installed=""
already_installed_version=""
- for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module); do
+ for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module | sort -r); do
+ if [ "$version_count" -gt 0 ]; then
+ continue
+ fi
version_count=$(($version_count + 1))
version_in_tree="${versioned_path##*/}"

這樣以後更換新的版本時, 就應該會自動處理了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
initamfs 使用 xz 來壓縮
post by tommy @ 18 四月, 2012 17:47

昨天把 kernel 裡頭關於 xz 的支援打開後, 就把 kernel 改用 xz 來壓縮, 解壓縮的速度比 bzip2 快, 壓起來又比 bzip2 小. 所以就想把 initramfs 也改用 xz 來壓縮.

由於 Debian Squeeze 的 initramfs-tools 並沒有支援 xz, 不過... 看那個 script, 並沒有要求 /etc/initramfs-tools/initramfs.conf 這個檔案內的 COMPRESS 設定只能設它所列的那一個, 而是把這個設定當成指令來執行壓縮的動作, 所以... 我原本以為就直接改成 xz, 這樣就可以了.

執行 mkinitramfs 或 update-initramfs 之後, 雖然是產生了一個 xz 壓縮的檔案, 不過.... 重開機後, 發現 kernel 沒辦法正確載入那個檔案....

後來看到這篇,  提到要用這樣的參數才可以:

find . | cpio -H newc -o | xz --check=crc32 --x86 --lzma2 > /usr/src/initram.igz

所以... 還是要去改 /usr/sbin/mkinitramfs 這個 script 的內容, 對 xz 特別去處理才可以.

後來看到 Debian 有這個 patch 可以用:

diff -uNr initramfs-tools-0.98.8/conf/initramfs.conf initramfs-tools-0.98.8.new/conf/initramfs.conf
--- initramfs-tools-0.98.8/conf/initramfs.conf 2010-08-26 03:32:27.000000000 +0800
+++ initramfs-tools-0.98.8.new/conf/initramfs.conf 2011-05-12 09:49:57.000000000 +0800
@@ -36,7 +36,7 @@
KEYMAP=n
 
#
-# COMPRESS: [ gzip | bzip2 | lzma | lzop ]
+# COMPRESS: [ gzip | bzip2 | lzma | lzop | xz ]
#
 
COMPRESS=gzip
diff -uNr initramfs-tools-0.98.8/mkinitramfs initramfs-tools-0.98.8.new/mkinitramfs
--- initramfs-tools-0.98.8/mkinitramfs 2011-01-28 22:09:09.000000000 +0800
+++ initramfs-tools-0.98.8.new/mkinitramfs 2011-05-12 09:49:27.000000000 +0800
@@ -149,6 +149,8 @@
 
[ "${compress}" = lzop ] && compress="lzop -9"
 
+[ "${compress}" = xz ] && compress="xz -9 --check=crc32"
+
if [ -d "${outfile}" ]; then
echo "${outfile} is a directory" >&2
exit 1

加上 --check=crc32 就可以了.

這樣子處理後的檔案, 果然可以正常開機了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
1 2 3 4 5  下一篇»
Bad Behavior 已經阻擋了 45 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS