最後更新日期:2019/04/07
底下資訊僅供參考,最新資訊請以官網公佈為準。
01. 桌遊右一村
<<文章已經搬家,歡迎點此連結看完整文章內容>>
2019年4月8日 星期一
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 的產生。
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. 轉接座
首先將所有配件都從攜車袋中拿出來,圖片上方有兩條橫槓,橫槓中間有設計讓前叉固定支架穿過的方孔與固定螺帽。
這就是方孔與螺帽
將前叉固定支架從固定架外側穿過兩個方孔
穿過後的樣子如下,此時先不要將螺帽鎖緊
先將前輪拆下來後,將前叉架在前叉固定支架上,掛在銀色旋鈕右邊彈簧的右邊那一小截突出圓柱上
掛上去後長這樣
接下來拆掉後輪,將後叉掛在底座另一端的支架上
掛上去後把銀色旋鈕旋下來,要注意旋下來後,還有一個彈簧,不要弄丟了,彈簧安裝方向如圖片
注意底下紅色圓圈的部分就是後支架有螺紋的軸心,等一下變速器保護座會與此點結合。
接下來就是安裝後變速器保護座,參考前面後變速器保護座的圖片,將圖片右下角的那根凸出金屬柱插入底座右後方的方型溝槽,如下圖紅色圓圈部分。
然後將變速器保護座圖片中,中間上方的小圓洞穿過後支架有螺紋的軸心,如圖片中紅色圓圈部分
最後再把剛剛拆下來的螺絲與銀色螺帽鎖回去
其他安裝部分有空再補
最後的長相如下
從紙箱中取出來展開後
把袋子翻到底部有像旅行箱的輪子設計
輪子的細部樣子,推起來感覺還滿順暢的
打開袋子裡面的樣子,有一個固定的底座在裡面,圖片中還有兩樣東西,一個是圖片中右邊黑色長圓筒型的袋子,還有中左邊用透明塑膠袋裝起來的許多零件。(原本裡面還有兩個裝前後輪的袋子已經被我取出)
仔細觀察袋子內側角落會看到都有加上厚墊,增加保護強度。還有一個可以放工具或零件的內袋設計。
首先取出安裝說明書,放在黑色長圓筒型的袋子裡。
說明書有兩面,一面中文,一面英文
完整的配件標示在說明書的上方
黑色長圓筒型的袋子裡除了說明書之外,還有六個保護車身支架用的發泡管
黑色長圓筒型的袋子本身就是座墊保護套
透明塑膠袋裡面有其他零件
1. 要接上底座的前叉固定支架 (沒有寫在內容物清單裡)
2. 後變速器保護座
3. 轉接座
首先將所有配件都從攜車袋中拿出來,圖片上方有兩條橫槓,橫槓中間有設計讓前叉固定支架穿過的方孔與固定螺帽。
這就是方孔與螺帽
將前叉固定支架從固定架外側穿過兩個方孔
穿過後的樣子如下,此時先不要將螺帽鎖緊
先將前輪拆下來後,將前叉架在前叉固定支架上,掛在銀色旋鈕右邊彈簧的右邊那一小截突出圓柱上
掛上去後長這樣
接下來拆掉後輪,將後叉掛在底座另一端的支架上
掛上去後把銀色旋鈕旋下來,要注意旋下來後,還有一個彈簧,不要弄丟了,彈簧安裝方向如圖片
注意底下紅色圓圈的部分就是後支架有螺紋的軸心,等一下變速器保護座會與此點結合。
接下來就是安裝後變速器保護座,參考前面後變速器保護座的圖片,將圖片右下角的那根凸出金屬柱插入底座右後方的方型溝槽,如下圖紅色圓圈部分。
最後再把剛剛拆下來的螺絲與銀色螺帽鎖回去
其他安裝部分有空再補
最後的長相如下
訂閱:
文章 (Atom)












































