Split DNS 架構整理與小實驗
在網路架構中,Split DNS 或 Split-horizon DNS 是這類技術的「總稱」。其核心目的在於:根據發出 DNS 查詢的來源(通常是 IP 位址),回傳相對應的解析結果。最常見的應用場景就是讓公司內網與外部網際網路的使用者,在查詢同一個網域名稱時,被導向不同的伺服器 IP。
在網路架構中,Split DNS 或 Split-horizon DNS 是這類技術的「總稱」。其核心目的在於:根據發出 DNS 查詢的來源(通常是 IP 位址),回傳相對應的解析結果。最常見的應用場景就是讓公司內網與外部網際網路的使用者,在查詢同一個網域名稱時,被導向不同的伺服器 IP。
平常如果只是臨時要連內網服務,我大多會先想到 SSH Tunnel,通常用 -L、-R、-D 幾招就很夠用了。不過最近看到 sshuttle 這個工具,研究之後發現它滿有意思的。
它也是建構在 SSH 之上,但用起來比自己手動設定 Dynamic Port Forwarding 再加 SOCKS Proxy 更直接。某些情境下,你甚至可以把它當成「不用另外架 VPN Server,也能快速把指定網段流量送進遠端主機」的跳板工具。
有時候 BT 下載速度卡卡,不一定是種子本身的問題,也可能只是 Tracker 太少。最近剛好看到一個小工具,可以自動幫 Transmission 補上公開 Tracker,對於一些老種子或來源比較分散的任務來說,多少還是有幫助。
這篇就簡單記一下怎麼快速掛上去,順便補一下 Docker 環境下比較容易踩到的設定點。
最近接到一個專案,原本時間欄位大多使用 DateTime,但因為要串另外一套 API,對方是使用 DateTimeOffset。我原本以為只要 JSON 裡面有時間字串,應該就會連時區一起帶著走,結果實際追問題時,還真的踩到時間少了 8 小時的坑。
後來往下追,問題點其實就卡在 DateTime.Parse 這種「把字串重新轉回時間」的流程。尤其當字串裡本來就沒有時區資訊時,這一步很容易把原本上下文中的時區概念弄丟。
常常在本機測試 HTTPS、Webhook、反向代理,或是模擬正式環境時,都會需要一組可以快速拿來用的自簽憑證。以前我自己也會手刻 OpenSSL 指令慢慢生,但後來用了 mkcert 之後,真的方便很多。
它最大的好處是,可以先在本機安裝一個受自己電腦信任的根憑證,後面要再簽出新的測試憑證時,就不用每次都重新匯入。這種做法在內部測試、開發環境,甚至臨時要掛到 Nginx、Kestrel、Traefik 時都很好用。
最近要連某一台主機上的 Transmission 管理介面,Port 是 9091,但主機本身沒有直接對外開放這個 Port,所以最後還是得靠 SSH Tunnel 裡最常見的 Local Port Forwarding 來處理。
這個功能我以前就知道,只是通常久久才會用一次。每次要用的時候,又得重新想一次 -L、-R、-D 到底差在哪裡。既然這次剛好重新整理,就乾脆把重點記下來,之後自己複習也比較快。
在 Linux 系統管理裡,掛載硬碟看起來像是基本功,但真的遇到外接硬碟、USB、SD 卡、NAS 或 NFS 時,選錯方法很容易把自己搞到開機變慢、服務卡住,甚至一拔裝置就滿地錯誤。
我以前比較常直接用 /etc/fstab,後來在不同情境下才慢慢發現,其實 systemd、udevil、udev,甚至 autofs 都各有適合的使用場景。這篇就把幾種常見做法整理成一篇,順便補上我自己覺得比較實用的踩雷心得。
最近在玩 USB DAC、播放器獨佔模式時,有一個很容易讓人分心的小問題:明明音質很好,但每次切歌都會突然「啵」一聲。尤其是從 44.1kHz 切到 96kHz、192kHz 這種不同採樣率的音樂時,耳機裡那一下真的很明顯,聽久了不只不舒服,也會讓人擔心是不是設備哪裡有問題。
我一開始也以為是喇叭壞掉、USB 線不穩,或播放器設定怪怪的。後來查了一輪資料,有查到關掉獨佔模式可以解決部分問題,沒想到測試竟然解決。但聽音樂怎麼可能不開獨佔模式?那就失去很多音質優勢了啊。後來有找到解決方法,發現很少網站提到這個方法,甚至很多人都還在苦惱這個問題,希望這問題能幫助到大家。
這篇就整理成一篇實戰筆記,說明為什麼會有這個聲音,以及我自己覺得最有效、最省事的處理方式。
常看到網路上有人貼補幀或對比示範影片,但不確定如何錄製與壓縮。其實用 OBS 就能錄製,Windows 內建遊戲列也能錄,但檔案通常偏大。這篇示範:
目標是做出「體積小、觀感不差、可快速分享」的示範影片。
在開發和測試過程中,我們經常需要讓外部網路能夠訪問內部網路的服務。本文介紹如何使用 Caddy 反向代理和 Microsoft devtunnel 來實現內網穿透,讓外部網路可以安全地連接到內部網路服務。