Posted at: 2018-01-28 07:18:37  Category: FRED


前回記事に引き続き、FREDの機能を試してみます。

はじめに

前回記事で説明した通り、レジストラはレジストリに対して、ドメイン名の登録等申請を行うことができます。
今回は、Fred-clientを用い、 .cz ドメインのレジストラになった気分で申請を試して見ます。
デモ環境が一般に公開されてるのってすごいなー

クライアント

Python実装のFred-clientがCZ.NICのFREDのページ公開されています。
preconfigured client

レジストリに対するドメインの各種申請はEPP(Extensible Provisioning Protocol)によって行われます。
上記クライアントを起動すると CZ.NIC のデモ環境に接続しEPPをしゃべってくれます。
EPPの詳細についてはこちらをどうぞ。Extensible Provisioning Protocol (EPP)

使ってみる

このへんのページ(Fred-client HOW TO)を参考にドメインの登録を試してみたいと思います。
起動して、helpコマンドにより使えるコマンドを確認してみます。
fred-client-2.4 $ ./fred-client.py 
Unsupported language code: 'ja' in os.environ.LANG. Available codes are: cs, en. Set default to: 'en'.
FredClient 2.4
Type "help", "license" or "credits" for more information.

Using configuration from data_files/conf/fred/fred-client.conf
Connecting to demo.fred.nic.cz, port 700 ...
Connected!

REG-FRED_A@demo.fred.nic.cz> help
Type "help command" to get details of the chosen command.

Available session commands:
! license
escaped_input poll_autoack
confirm quit
credits validate
help verbose
lang fetch_from_info

Available EPP commands:
check_contact info_keyset prep_nssets_by_contact
check_domain info_nsset prep_nssets_by_ns
check_keyset list_contacts renew_domain
check_nsset list_domains sendauthinfo_contact
create_contact list_keysets sendauthinfo_domain
create_domain list_nssets sendauthinfo_keyset
create_keyset login sendauthinfo_nsset
create_nsset logout technical_test
credit_info poll transfer_contact
delete_contact prep_contacts transfer_domain
delete_domain prep_domains transfer_keyset
delete_keyset prep_domains_by_contact transfer_nsset
delete_nsset prep_domains_by_keyset update_contact
get_results prep_domains_by_nsset update_domain
hello prep_keysets update_keyset
info_contact prep_keysets_by_contact update_nsset
info_domain prep_nssets

Report bugs to fred@nic.cz
REG-FRED_A@demo.fred.nic.cz>
Fred-client How-Toのページによるとドメインを登録するには、
まずコンタクトの情報(ドメインの登録者に関する情報)を作成しないといけないとあります。
コンタクト情報を作成するには以下のようにcreate_contactコマンドを使うようです。
REG-FRED_A@localhost> create_contact ID01 'John Smith' john.smith@mail.com 'Working str. 21' Prague 12300 CZ
必須項目は7個で以下の通り。
contact_id (required) Contact ID
name (required) Name
email (required) Email
street (required) Street (list with max 3 items.)
city (required) City
pc (required) Postal code
cc (required) Country code

ということなので、以下のようにコンタクトを作成してみます。
REG-FRED_A@demo.fred.nic.cz> check_contact ID99
ID99: Available. Not in registry: Object is available.
REG-FRED_A@demo.fred.nic.cz> create_contact ID99 'Nanashi no Gombei' nanashi.gombei@example.tld 'Street' City 12300 CZ
Do you really want to send this command to the server? (y/N): y
Contact ID: ID99
Created on: 2018-01-27T12:51:37+01:00
REG-FRED_A@demo.fred.nic.cz> check_contact ID99
ID99: Not available. Registered already
REG-FRED_A@demo.fred.nic.cz> info_contact ID99
Contact ID: ID99
Repository object ID: C0001002337-CZ
Created by: REG-FRED_A
Designated registrar: REG-FRED_A
Created on: 2018-01-27T12:51:37+01:00
Name: Nanashi no Gombei
Street: Street
City: City
Postal code: 12300
Country code: CZ
Password for transfer: CkLPGFbG
Email: nanashi.gombei@example.tld
Status: ok - Object is without restrictions
Disclose: voice
fax
email
vat
ident
notify_email
addr
つづいて、登録したいドメインの権威DNSサーバーの情報を作成します。create_nssetコマンドによって行います。
コマンドの先頭に!を付加するとインタラクティブモードになり、コマンドの引数を各行で作成するようになる様です。
REG-FRED_A@demo.fred.nic.cz> !create_nsset
Interactive input mode started. Press Ctrl+C to abort or Ctrl+D to finish command.
NSSET ID [required]: ID99
LIST of DNS[1/9] / Name server [required]: ns1.test-test.cz
LIST of DNS[1/9] / Server address[1/oo] [optional]:
LIST of DNS[2/9] / Name server [required]: ns2.test-test.cz
LIST of DNS[2/9] / Server address[1/oo] [optional]:
LIST of DNS[3/9] / Name server [optional]:
Technical contact[1/oo] [required]: ID99
Technical contact[2/oo] [optional]:
Password required by server to authorize the transfer [optional]: test
Report range level (0 - 10; higher = more detailed) [optional]:
Client transaction ID [optional]:

Interactive input completed. [Press Enter]
Command to issue:
create_nsset ID99 ((ns1.test-test.cz), (ns2.test-test.cz)) ID99 test
Do you really want to send this command to the server? (y/N): y
NSSET ID: ID99
Created on: 2018-01-27T13:54:46+01:00
REG-FRED_A@demo.fred.nic.cz> info_nsset ID99
NSSET ID: ID99
Repository object ID: N0001002350-CZ
Created by: REG-FRED_A
Designated registrar: REG-FRED_A
Created on: 2018-01-27T13:54:46+01:00
Password for transfer: test
Status: ok - Object is without restrictions
Technical contact: ID99
Name servers: ns1.test-test.cz
ns2.test-test.cz
Report level: 3

最後に作成したコンタクト情報とnsset(権威DNSサーバーの情報)からドメインを登録してみます。
test-test.czを登録してみます。
REG-FRED_A@demo.fred.nic.cz> create_domain test-test.cz ID99 NULL ID99
Do you really want to send this command to the server? (y/N): y
Domain name: test-test.cz
Created on: 2018-01-27T14:01:30+01:00
Expiration date: 2019-01-27
REG-FRED_A@demo.fred.nic.cz> info_domain test-test.cz
Domain name: test-test.cz
Repository object ID: D0001002353-CZ
Created by: REG-FRED_A
Designated registrar: REG-FRED_A
Created on: 2018-01-27T14:01:30+01:00
Expiration date: 2019-01-27
NSSET ID: ID99
Password for transfer: fzW9XBWs
Status: ok - Object is without restrictions
Registrant ID: ID99

無事登録できたみたいなので、whoisもひいてみます。
create_domainを行ってからおおよそ1分程度以内にwhoisをひいてますが、すぐに反映されています。
$ whois -h demo.fred.nic.cz test-test.cz
% (c) 2006-2013 CZ.NIC, z.s.p.o.
%
% Intended use of supplied data and information
%
% Data contained in the domain name register, as well as information
% supplied through public information services of CZ.NIC association,
% are appointed only for purposes connected with Internet network
% administration and operation, or for the purpose of legal or other
% similar proceedings, in process as regards a matter connected
% particularly with holding and using a concrete domain name.
%
% Full text available at:
% http://www.nic.cz/page/306/intended-use-of-supplied-data-and-information/
%
% See also a search service at http://www.nic.cz/whois/
%
% Whoisd Server Version: 3.10.2
% Timestamp: Sat Jan 27 14:02:18 2018

domain: test-test.cz
registrant: ID99
nsset: ID99
registrar: REG-FRED_A
registered: 27.01.2018 14:01:30
expire: 27.01.2019

contact: ID99
name: Nanashi no Gombei
address: Street
address: City
address: 12300
address: CZ
e-mail: nanashi.gombei@example.tld
registrar: REG-FRED_A
created: 27.01.2018 12:51:37

nsset: ID99
nserver: ns1.test-test.cz
nserver: ns2.test-test.cz
tech-c: ID99
registrar: REG-FRED_A
created: 27.01.2018 13:54:46