2018年11月11日 星期日

『Linux』什麼是 DNS SRV 軟體安裝/設定教學

建立 XMPP 測試環境時,遇到的第一個問題就是 XMPP server 的 FQDN 名稱解析,根據定義 XMPP 的 RFC 6120 指出,FQDN 名稱解析會優先使用 DNS SRV (RFC 2782),本文將以 bind9 來實做 DNS SRV。

FQDN: Fully Qualified Domain Name

RR: Resource Record

在實做之前先來談談一般 client 是如何找到 server,可能情形有

1. 已經知道確切的 server IP address
2. 知道 server 的 FQDN,透過 DNS 取得 IP address
3. 使用 broadcast 方式去詢問,例如:DHCP discover

而 DNS SRV 是一種取得 server FQDN 的方法,用 service name, 使用的協定 (ex: TCP/UDP) 與 domain name 來詢問 DNS server,以得知 domain 裡支援此服務之 server(s) 的 FQDN,取得的 FQDN 可能不只一個。


接著根據 DNS SRV response 的 additional section 內含之資訊有兩種可能
1. 包含 FQDN 的 IP address,不需再詢問 DNS server
2. 不包含,所以需要再用 FQDN 去詢問 DNS server 以取得 IP address

用一句節錄自 RFC 2782 的敘述來說明 DNS SRV RR 的用途
The SRV RR allows administrators to use several servers for a single domain, to move services from host to host with little fuss, and to designate some hosts as primary servers for a service and others as backups.

SRV RR 允許管理者在單一個 domain 裡使用多個 server(s)(多個 servers 提供相同服務),當提供服務的主機換成另外一台主機時,還能夠維持良好的使用者體驗,且能指定某些主機做為服務的主要 servers 而其他主機做為備份 servers。


Bind9 設定實例


DNS SRV RR 的 format 如下

_Service._Proto.Name TTL Class SRV Priority Weight Port Target

底下是 bind9 的 SRV RR 實例 (domain 以 example.com 為例)

_xmpp-client._tcp   IN    SRV 0        5      5222 xmpp.example.com
_xmpp-server._tcp   IN    SRV 0        5      5269 xmpp.example.com

對應到 DNS SRV RR 的格式如下

_Service._Proto     Class SRV Priority Weight Port Target

安裝設定步驟 (以 Ubuntu 為例)

1. 安裝 bind9

   apt-get install bind9


2. 建立 db.example.com


   cd /etc/bind/

   cp db.empty db.example.com

3. 設定 db.example.com


   把 db.example.com 中的 localhost 都取代成 example.com
   再將上面兩行實例加入 db.example.com
   還要新增對應的 A RR or AAAA RR



4. 新增 zone

   將底下四行加入 named.conf.local

   zone "example.com" {
        type master;
        file "/etc/bind/db.example.com"; 
   };

5. 重啟 bind9


   service bind9 restart


測試 DNS SRV


此處使用 dig 指令來做測試


dig -t SRV _xmpp-client._tcp.example.com




從 dig 輸出可以看到查到的 FQDN 是 xmpp.example.com 且 additional section 還有包含 xmpp.example.com 的 IP address

補充
DNS SRV(RFC 2782)指出 SRV RR 的 service name 由 RFC 1700 定義,但 RFC 6335 (RFC 2782 的 update) 提到 DNS SRV 並沒有指出是 RFC 1700 的哪個章節有定義,且 IANA 也沒有分配 service name 的程序,造成不受 IANA 管理的非正式 service name 的產生。

2018年7月10日 星期二

水電 | 換洗手台水龍頭

需要的工具與材料:
1. 四分水龍頭 x 1
2. 一字起子 x 1

步驟一:確認水龍頭的型式

一般洗手台的水龍頭都是四分的水龍頭,四分指的是水龍頭底部管子的尺寸,就是照片中手握住的金屬管狀處(如圖一),因為管狀處是要連接水管,所以尺寸不要買錯。


圖一





















步驟二:將圖一的白色塑膠環轉下來

圖一底部金屬管狀處有兩個東西,第一個是黑色橡膠環,第二個是白色塑膠環(如圖二)。請先將白色塑膠環轉下來並收好,等一下要用。


圖二




















步驟三:找到水龍頭水閥

觀察洗手台的底部,發現有兩條鋼絲軟管 (如圖三),選擇要換掉的水龍頭之軟管,順著軟管找到一個一字型的水閥 (如圖四紅色圈圈處)。

圖三




















圖四

















步驟四:關閉水龍頭水閥

先將水龍頭打開讓水流出來,再使用一字起子插入水閥的一字凹痕中,順或逆旋轉水閥到水不再從水龍頭流出。

注意:此步驟很重要,換水龍頭必須在關閉水龍頭的水閥後才進行,否則水龍頭一拆下來,水會從水管噴出來。

步驟五:轉下連接水龍頭的鋼絲軟管

從洗手台底部,用手去旋轉連接在水龍頭底部的鋼絲軟管,鋼絲軟管的尾端有可以旋轉的部分 (如圖五紅色圈圈處),整個轉開之後,管子內還有一些水,沒有關係。

圖五




















步驟六:轉下水龍頭底部的白色塑膠環

再從洗手台底部,用手去旋轉水龍頭底部的白色塑膠環(如圖六),轉下來後,水龍頭就已經可以拆下來(如圖七)。

圖六




















圖七




















步驟七:將新的水龍頭插入洗手台

將新的水龍頭連同前面提到的黑色橡膠環一起插入洗臉盆(如圖八)。

圖八




















步驟八:逆操作 步驟六 -> 步驟五 -> 步驟四

將步驟二拆下來的白色塑膠環,從洗手台底部,旋轉鎖回新水龍頭的底管,鎖好後,嘗試開關新水龍頭,確認新水龍頭沒有左右移動,表示白色塑膠環有鎖緊。

將鋼絲軟管,從洗手台底部,旋轉鎖回新水龍頭的底管。

使用一字起子轉開水龍頭水閥,打開新水龍頭,確認水有流出,根據水流量決定水閥轉開的程度。

恭喜到此為止,安裝完畢。

番外篇:

新水龍頭裡有一個白色圓形塑膠塊(如圖九),我有把它用夾子拔出來,水流比較順,不確定用途。

圖九

2018年6月3日 星期日

開箱 | 捷安特 Giant 攜車袋安裝教學

打開裝攜車袋的紙箱後的樣子

















從紙箱中取出來展開後

袋子左上方有一個可以寫上聯絡資訊的設計

















把袋子翻到底部有像旅行箱的輪子設計

















輪子的細部樣子,推起來感覺還滿順暢的

















打開袋子裡面的樣子,有一個固定的底座在裡面,圖片中還有兩樣東西,一個是圖片中右邊黑色長圓筒型的袋子,還有中左邊用透明塑膠袋裝起來的許多零件。(原本裡面還有兩個裝前後輪的袋子已經被我取出)


前後輪的袋子,有一面有魔鬼沾,攜車袋內側的左右也有,左右各黏一個輪子。圖片上方還可以看到一條帶子,上面有像腰包的快扣,此帶子是最後用來穿過車身,將輪胎與車身固定在一起用。




















仔細觀察袋子內側角落會看到都有加上厚墊,增加保護強度。還有一個可以放工具或零件的內袋設計。
































首先取出安裝說明書,放在黑色長圓筒型的袋子裡。





















說明書有兩面,一面中文,一面英文








































完整的配件標示在說明書的上方

















黑色長圓筒型的袋子裡除了說明書之外,還有六個保護車身支架用的發泡管








































黑色長圓筒型的袋子本身就是座墊保護套





















透明塑膠袋裡面有其他零件
1. 要接上底座的前叉固定支架 (沒有寫在內容物清單裡)





















2. 後變速器保護座





















3. 轉接座





















首先將所有配件都從攜車袋中拿出來,圖片上方有兩條橫槓,橫槓中間有設計讓前叉固定支架穿過的方孔與固定螺帽。





















這就是方孔與螺帽





















將前叉固定支架從固定架外側穿過兩個方孔








































穿過後的樣子如下,此時先不要將螺帽鎖緊





















先將前輪拆下來後,將前叉架在前叉固定支架上,掛在銀色旋鈕右邊彈簧的右邊那一小截突出圓柱上









































掛上去後長這樣


















接下來拆掉後輪,將後叉掛在底座另一端的支架上




















掛上去後把銀色旋鈕旋下來,要注意旋下來後,還有一個彈簧,不要弄丟了,彈簧安裝方向如圖片


















注意底下紅色圓圈的部分就是後支架有螺紋的軸心,等一下變速器保護座會與此點結合。


























接下來就是安裝後變速器保護座,參考前面後變速器保護座的圖片,將圖片右下角的那根凸出金屬柱插入底座右後方的方型溝槽,如下圖紅色圓圈部分。





然後將變速器保護座圖片中,中間上方的小圓洞穿過後支架有螺紋的軸心,如圖片中紅色圓圈部分





















最後再把剛剛拆下來的螺絲與銀色螺帽鎖回去

其他安裝部分有空再補

最後的長相如下