labunix's blog

labunixのラボUnix

fortigateのddns機能を使ってみる。

■fortigateのddns機能を使ってみる。
 DNSサーバは、FortiGuard サーバを指定する。

# show system dns 
config system dns
    set primary 208.91.112.53
    set secondary 208.91.112.52
end

■ddnsの設定を行う
 ddnsサービスドメイン、自分用のサブドメイン、対象のinterfaceの3つを定義するだけ。

# config system ddns 
(ddns) # edit 1
(1) # set ddns-server ?
dyndns.org        members.dyndns.org and dnsalias.com
dyns.net          www.dyns.net
ods.org           ods.org
tzo.com           rh.tzo.com
vavic.com         Peanut Hull
dipdns.net        dipdnsserver.dipdns.com
now.net.cn        ip.todayisp.com
dhs.org           members.dhs.org
easydns.com       members.easydns.com
genericDDNS       Generic DDNS based on RFC2136.
FortiGuardDDNS    FortiGuard DDNS service.
 
(1) # set ddns-domain ?
<string>    please input string value

(1) # set monitor-interface 
*interface-name    Interface name.
dmz	interface
internal	interface
modem	interface
wan1	interface
wan2	interface
...

■ddnsサービスのwhois確認

$ echo -e 'dyndns.org\ndyns.net\nods.org\ntzo.com\nvavic.com\ndipdns.net\nnow.net.cn\ndhs.org
   easydns.com\ngenericDDNS\nFortiGuardDDNS' | \
  awk '/[a-z0-9]/{print "echo \042["$1"]\042;whois "$1}' | sh | awk -F"[: ]" '/Domain Name/{print tolower($NF) | "sort -uV"}'
dhs.org
dipdns.net
dyndns.org
dyns.net
easydns.com
now.net.cn
ods.org
tzo.com
vavic.com

■応答時間の短いものが良さそうなので、以下のように試す。

$ echo -e 'dyndns.org\ndyns.net\nods.org\ntzo.com\nvavic.com\ndipdns.net\nnow.net.cn\ndhs.org
   easydns.com\ngenericDDNS\nFortiGuardDDNS' |   awk '/[a-z0-9]/{print "echo \042["$1"]\042;dig "$1}' | sh | awk '$NF ~ /^A|^msec/'
;dyndns.org.			IN	A
;; Query time: 20 msec
;dyns.net.			IN	A
;; Query time: 167 msec
;ods.org.			IN	A
;; Query time: 190 msec
;tzo.com.			IN	A
;; Query time: 239 msec
;vavic.com.			IN	A
;; Query time: 158 msec
;dipdns.net.			IN	A
;; Query time: 16 msec
;now.net.cn.			IN	A
;; Query time: 159 msec
;dhs.org.			IN	A
;; Query time: 561 msec
;easydns.com.			IN	A
;; Query time: 78 msec
;genericDDNS.			IN	A
;; Query time: 168 msec
;FortiGuardDDNS.			IN	A
;; Query time: 18 msec

■設定は、例えば以下のようにする。

(1) # get 
ddnsid              : 1
ddns-server         : xxx.xxx
ddns-domain         : labunix.xxx.xxx
monitor-interface:
    == [ wan1 ]
    interface-name: wan1

■以下のように問い合わせて名前解決を確認出来たら、外部から接続する。

$ dig @208.91.112.53 labunix.xxx.xxx -t a | sed -e 's/[0-9]*\.[0-9]*\.*[0-9]*\.[0-9]*/X.X.X.X/g'