2018年12月4日 星期二

試用WireGuard

我只用過IPSEC與OpenVPN,其他的沒用過,所以不確定其他VPN軟體的架構與設計理念如何,不過WireGuard與前兩者相比的確有明顯的差異。

在Linux上頭的WireGuard是核心模組加上用戶端工具軟體,核心模組包含網路卡界面與整個VPN功能實做,用戶端工具是設置VPN與檢視狀態用。IPSEC或OpenVPN在運作時都需要在背景運行必要程式,WireGuard不需要。不過在非Linux平台,還是需要執行背景程式。

使用者管理也和其他VPN實做不同,是使用非對稱金鑰,伺服器與用戶端都需要產生非對稱金鑰並交換公鑰,如果要解除某個用戶的權限,只需要從設定檔把對應的設定刪除。其他實做使用CA產生使用者的公鑰,要解除用戶權限需要撤除(revoke)對應的金鑰,不直覺也不方便。

性能部份因為沒有做測試所以不評論,不過WireGuard網站上的測試結果都顯示更高的Throughput與更低的延遲。

2018年10月30日 星期二

Linux桌面多使用者登入,類似LTSP的作法

LTSP就是Linux版本的Terminal Server,可以讓多個使用者共用一台伺服器的資源去使用桌面環境,但是Client端OS必須也要是Linux是缺點。

之後找的方案是在Ubuntu Mate 18.04中啟用LightDM的XDMCP功能,在Linux上使用Xephyr連線非常順暢,但是在Windows上試了好多種軟體(包含Xming),都會出現畫面顯示異常或卡住,程式啟動當掉的問題,只能放棄。

再來則是XDMCP + VNC,網路上許多文章都會提到這個替代方案,我參考這一篇做設定,但是不透過SSH連線。設定完成,連上去看起來都沒什麼問題,直到我發現fctix的選字框無法顯示。 Orz

根據Ubuntu社群WIKI關於VNC Server的文章,其中提到只有TigerVNC支援compositing window managers像是Gnome Shell,原本我安裝的是vnc4server,換成tigervnc-standalone-server問題就解決了。而且換成TighterVNC Server還有個好處,Client也使用TigerVNC的話,就支援動態變更桌面尺寸,變更TigerVNC Viewer視窗的尺寸就會連帶變更Linux桌面的尺寸。

2018年10月3日 星期三

Supermicro的IPMI Virtual CD-ROM功能

最近要把某些機器重裝OS,要使用IPMI提供的虛擬光碟機,沒想到沒辦法把映像檔掛載上去。

把SAMBA Server的log debug功能開啟,出現 NTLMv1 passwords NOT PERMITTED for user 這個訊息。經查詢後發現,SAMBA較新的版本(4.5.10以後?)預設關閉NTMLv1驗證方式,這是因為這個驗證方式不安全。

解決的方式很簡單,只要在SAMBA設定檔的 global 區塊加上 ntlm auth = yes 這個設定即可。不過之前有說到這個驗證方式不安全,如果要使用要多注意。

2018年7月9日 星期一

SSL憑證購買

在管地購買進階型SSL憑證碰到一些問題,根據該網站wiki的資料:
  1. 需要公司登記證明與公司代表人的身份證明
    這個沒什麼問題,但是我碰到的情況是Gandi的每個帳號下面可以建立組織,組織名稱必須與公司登記證明的名稱相符,我當初填寫公司資料是用英文,客服來信要求提供與中文名稱相符的相關證明。
  2. 要進行電話驗證
    在台灣的電話驗證是透過鄧白氏(Dun&Bradstreet)電話資料庫,但是我沒法確定我們公司的資料有登錄在他們的資料庫中肯定沒有登錄,鄧白氏企業認證D&B D-U-N-S® Registered ™服務基本版費用16800,有效期一年,每年都需要重新認證。
因此我取消訂單,應該會跟TWCA詢價與採購吧。不過價錢真的差蠻多的,管地的兩年期進階版單一網域SSL憑證包含25萬美元擔保的價格是3490,台灣任何一家SSL CA的價格都超過10000。把鄧白氏企業認證的費用加進去之後,台灣本地業者還比較便宜?

2018年6月7日 星期四

4G連線裝置的遠端管理

最近碰到一個情況是需要在特定地點放置網路設備,上面建置的服務需要連外,但又無法連接有線網路,看起來比較簡單而且立即可用的方案就是租用4G網路。

上網的問題解決了,但是又冒出其他問題。因為IPv4的IP可用數量不足的關係,4G網路大多是採用Carrier-grade NAT的技術去解決IP不足的問題,但這也代表著無法在遠端主動連入這個4G連網裝置進行管理。

為了解決遠端管理的問題,我最後想到使用SSH Tunnel,讓這些裝置主動開啟逆向SSH Tunnel連線到我的主控端伺服器,那我就可以從主控端伺服器連入這些設備進行管理。

不過之後發現SSH Tunnel建立一段時間之後就會沒有回應,看起來應該是4G不穩定,連線已經中斷,但是主控端的ssh server沒有把連線關閉。因此我在ssh server加上keep alive的設置,每30秒會發送封包給client進行檢查,如果連續三次都無回應就會關閉連線。設置此設定後連線都正常。