Altcoin

如何為 dns 播種機設置名稱伺服器?

  • March 12, 2018

我很困惑將名稱伺服器設置為與dnsseeder一起執行。我修改了 dnsseeder 以使用我的新山寨幣。

這就是所做的。

我有亞馬遜 ec2 的 vps.example.com 設置,我編譯了 dnsseeder。我轉到我的域 example.com 的 godaddy dns 設置並添加了我的 1.2.3.4(彈性公共 ip)

Godaddy 中的主機名

vps.example.com  mapped to 1.2.3.4

Godaddy 域中的域名伺服器是這樣的

Type    Name    Value   TTL Actions
A   @   1.2.3.4              1 Hour 
NS  @   ns27.domaincontrol.com  1 Hour  
NS  @   ns28.domaincontrol.com  1 Hour  
NS  dnsseed vps.example.com 1 Hour

然後我執行 dnsseeder

./dnsseed -h dnsseed.example.com -n vps.example.com -m root.example.com


Supporting whitelisted filters: 0x1,0x5,0x9,0xd
Loading dnsseed.dat...done
Starting 4 DNS threads for dnsseed.citizenshipcoin.org on vps.citizenshipcoin.org (port 53).......done
Starting seeder...done
Starting 96 crawler threads...done
                                                                                                         [18-03-07 00:49:14] 0/1                                                                                   [18-03-07 00:49:15] 0/1 available (1 tried in 2s                                                          [18-03-07 00:49:16] 0/1 available (1 tried in 3s, 0 new, 0 active), 0 ba                                  [18-03-07 00:49:17] 0/1 available (1 tried in 4s, 0 new, 0 active), 0 banned; 0 DNS requests, 0   

當我查詢 nslook 時,它沒有返回任何 dns ips。

$ dig -t NS dnsseed.example.com

; <<>> DiG 9.7.3 <<>> -t NS dnsseed.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 44679
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;dnsseed.example.com.   IN  NS

;; Query time: 1554 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Wed Mar  7 01:40:44 2018
;; MSG SIZE  rcvd: 45

似乎有些不對勁。我應該收到多組 IP 作為答案。

我做錯了什麼?

謝謝你的幫助J

重要的是要認識到域名可以代表主機或子域。為子域提供名稱服務是通過將作業委託給該子域的名稱伺服器來完成的。這是通過在父域的區域文件中為子域指定名稱伺服器來完成的。

我不熟悉如何在 GoDaddy 委派子域,但我敢打賭,您的問題至少部分在於這個細節。

此外,您沒有顯示您的播種機在收到請求時是否確實找到了可以提供的好節點。(在本例中,我們看到 21/223 可用)

#./dnsseeder -h myseeder.mycoin.com  -n 184.254.106.32 -m admin@mycoin.com

Supporting whitelisted filters: 0x1,0x5,0x9,0xd
Loading dnsseed.dat...done
Starting 4 DNS threads for myseeder.mycoin.com on 184.254.106.32 (port 53).......done
Starting seeder...done
[18-03-10 18:09:09] 21/223 available (223 tried in 277s, 0 new, 0 active), 119 banned; 0 DNS requests, 0 db queries

一般來說,重要的一點是選擇一個將執行 DNS Seeder 軟體的主機,然後將硬幣子域的名稱服務委託給它。舉些例子:

Machine                                       Sub-Domain
--------------------------------------------------------------------
m1.platform.com      hosts name service for:  myseeder.mycoin.com
explorer.bitmark.io  hosts name service for:  biji.bitmark.one
jp.bitmark.io        hosts name service for:  shido.bitmark.one

在此範例中,我們正在查看域“bitmark.one”的區域文件片段。我們將“biji.bitmark.one”子域的名稱服務委託給“explorer.bitmark.io”的名稱伺服器,並將“shido.bitmark.one”子域的名稱服務委託給位於的名稱伺服器’jp.bitmark.io’。

;; Thanks to: http://www.zytrax.com/books/dns/ch9/delegate.html
;;   for info clarifying the concept of DNS delegation !
$ORIGIN bitmark.one.
www             IN      A       204.68.122.6

biji            IN      NS      explorer.bitmark.io.
shido           IN      NS      jp.bitmark.io.

如果我們使用 dig 查找 shido.bitmark.one 的名稱伺服器(查詢類型 NS),我們將獲得其名稱伺服器的 IP 139.162.122.138 :

# dig -t NS shido.bitmark.one

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -t NS shido.bitmark.one
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21880
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;shido.bitmark.one.             IN      NS

;; ANSWER SECTION:
shido.bitmark.one.      21577   IN      NS      139.162.122.138.

;; Query time: 29 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Mar 10 09:00:44 PST 2018
;; MSG SIZE  rcvd: 75

為了確認誰會回答 shido.bitmark.one,我們看到 ip 139.162.122.138 是 jp.bitmark.io

# ping jp.bitmark.io
PING jp.bitmark.io (139.162.122.138) 56(84) bytes of data.
64 bytes from jp.bitmark.io (139.162.122.138): icmp_seq=1 ttl=52 time=101 ms
...

當我們向執行 DNS Seeder 軟體的 shido.bitmark.one 查詢地址(查詢類型 A)時,我們得到:

# dig -t A shido.bitmark.one

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -t A shido.bitmark.one
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17729
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;shido.bitmark.one.             IN      A

;; ANSWER SECTION:
shido.bitmark.one.      59      IN      A       178.238.224.213
shido.bitmark.one.      59      IN      A       80.211.182.224
shido.bitmark.one.      59      IN      A       76.85.169.188
shido.bitmark.one.      59      IN      A       139.162.122.138
shido.bitmark.one.      59      IN      A       145.239.29.193
shido.bitmark.one.      59      IN      A       46.105.62.121
shido.bitmark.one.      59      IN      A       139.162.128.92
shido.bitmark.one.      59      IN      A       173.255.252.140
shido.bitmark.one.      59      IN      A       108.61.86.198
shido.bitmark.one.      59      IN      A       80.241.214.77

;; Query time: 159 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Mar 10 09:09:12 PST 2018
;; MSG SIZE  rcvd: 222

這就是我們想要的:我們代幣的 P2P 網路中的活躍代幣節點列表。

在設置 DNS 播種時,最好記住在 DNS 系統中傳播條目可能需要一些時間 - 有時需要幾個小時甚至幾天。因此,在測試和探測時,您可能希望在不影響測試的情況下盡可能用實際 IP 地址替換 DNS 名稱,以避免由於 DNS 條目尚未傳播到各處而可能提供錯誤結果的不必要的 DNS 查找。

引用自:https://bitcoin.stackexchange.com/questions/71909