【BIG-IP】DNS、NTPサーバの設定と動作確認 Version: 16.1.2

BIG-IP 自身が名前解決や時刻同期をするには、DNS サーバと NTP サーバを設定します。この記事では、DNS サーバに 8.8.8.8 と 8.8.4.4 を、NTP サーバに time.google.com を設定し、名前解決と時刻同期ができていることを CLI で確かめます。

この記事でわかること
  1. DNS サーバ(DNS Lookup Server List)を設定する
  2. 名前解決できることを ping と nslookup で確かめる
  3. タイムゾーンを Asia/Tokyo にする
  4. NTP サーバ(Time Server List)を設定する
  5. ntpd の起動と時刻同期を ntpq で確かめる
検証環境

BIG-IP 16.1.2 で検証しています。16.1 系はすでに F5 のサポート期間が終わっているので、これから構築する場合はサポート中のバージョンを選んでください。

設定の全体像

NTP サーバをホスト名(time.google.com)で指定するので、先に DNS サーバを設定して名前解決できるようにしておきます。DNS の問い合わせは UDP 53、NTP は UDP 123 を使います。

InternetBIG-IPDNS サーバ8.8.8.8/8.8.4.4NTP サーバtime.google.com① 名前解決(UDP 53)② 時刻同期(UDP 123)
図1 BIG-IP が DNS で名前解決してから NTP で時刻を合わせる

DNS サーバの設定

DNS サーバを登録する

System ›› Configuration ›› Device ›› DNS を開きます。Properties の DNS Lookup Server List で、Address 欄に 8.8.8.8 を入力して Add をクリックします。同じように 8.8.4.4 も追加し、画面下の Update をクリックして反映します。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

BIG-IP 設定画面(Configuration Utility)画面イメージ
System ›› Configuration : Device : DNS
Properties
1DNS Lookup Server ListAddress: 8.8.4.4 Add
8.8.8.8
8.8.4.4
 
Edit Delete Up Down
⋮ (中略)
DNS Cache☐
IP VersionIPv4
2Update
図2 DNS Lookup Server List に 2 台を登録した状態(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1DNS Lookup Server ListAddress 欄に DNS サーバのアドレスを入れて Add で一覧に追加します。8.8.8.8 と 8.8.4.4 の2つを登録します。順番は Up/Down で変えられます
2Updateクリックして反映します。Add だけでは反映されません

設定は tmsh の list /sys dns name-servers でも確認できます。

BIG-IP(tmsh)

[admin@bigip-1:Active:Standalone] ~ # tmsh
admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# list /sys dns name-servers 
sys dns {
    name-servers { 8.8.8.8 8.8.4.4 }
}

名前解決を確かめる

tmsh から ping time.google.com を実行すると、ホスト名が IP アドレス(216.239.35.0)に変換されて ping が通ります。名前解決ができていることがわかります。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# ping time.google.com
PING time.google.com (216.239.35.0) 56(84) bytes of data.
64 bytes from time1.google.com (216.239.35.0): icmp_seq=1 ttl=94 time=37.6 ms
64 bytes from time1.google.com (216.239.35.0): icmp_seq=2 ttl=94 time=37.7 ms
64 bytes from time1.google.com (216.239.35.0): icmp_seq=3 ttl=94 time=37.7 ms
64 bytes from time1.google.com (216.239.35.0): icmp_seq=4 ttl=94 time=37.5 ms

bash で shell モードに移り、nslookup でも確かめます。Server が設定した 8.8.8.8 になっていて、time.google.com の IPv4 アドレス4つと IPv6 アドレス4つが返っています。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# bash
[admin@bigip-1:Active:Standalone] ~ # nslookup
> time.google.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   time.google.com
Address: 216.239.35.8
Name:   time.google.com
Address: 216.239.35.4
Name:   time.google.com
Address: 216.239.35.0
Name:   time.google.com
Address: 216.239.35.12
Name:   time.google.com
Address: 2001:4860:4806:8::
Name:   time.google.com
Address: 2001:4860:4806::
Name:   time.google.com
Address: 2001:4860:4806:c::
Name:   time.google.com
Address: 2001:4860:4806:4::
>

NTP サーバの設定

名前解決ができるようになったので、time.google.com を NTP サーバとして指定します。その前に、表示する時刻を日本時間にするため、タイムゾーンを設定します。

タイムゾーンを設定する

System ›› Platform を開き、General Properties の Time Zone で Asia/Tokyo(日本標準時、UTC+9)を選んで、画面下の Update をクリックします。

BIG-IP 設定画面(Configuration Utility)画面イメージ
System ›› Platform
General Properties
Management Config IPV4◉ Automatic (DHCP)○ Manual
Management Config IPV6◉ Automatic (DHCP)○ Manual
Host Namebigip-1.hirotanoblog.local
Host IP AddressUse Management Port IP Address
1Time ZoneAsia/Tokyo
⋮ (中略)
SSH IP Allow* All Addresses
2Update
図3 Time Zone を Asia/Tokyo にする(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1Time Zone一覧から Asia/Tokyo を選びます
2Updateクリックして反映します(Update は画面のいちばん下にあります)

tmsh では list /sys ntp timezone で確認できます。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# list /sys ntp timezone 
sys ntp {
    timezone Asia/Tokyo
}

NTP サーバを登録する

System ›› Configuration ›› Device ›› NTP を開きます。Time Server List の Address 欄に time.google.com を入力して Add をクリックし、画面下の Update をクリックして反映します。

BIG-IP 設定画面(Configuration Utility)画面イメージ
System ›› Configuration : Device : NTP
Properties
1Time Server ListAddress: time.google.com Add
time.google.com
 
 
Edit Delete
2Update
図4 Time Server List に time.google.com を登録した状態(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1Time Server ListAddress 欄に NTP サーバのホスト名か IP アドレスを入れて Add で一覧に追加します
2Updateクリックして反映します

tmsh では list /sys ntp servers で確認できます。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# list /sys ntp servers 
sys ntp {
    servers { time.google.com }
}
補足

time.google.com(Google Public NTP)は、うるう秒を前後の時間に少しずつ分散させる「リープスミア」をしています。Google は、スミアをする NTP サーバとしない NTP サーバを混ぜて使わないよう案内しているので、ほかの NTP サーバと併用するときは注意してください。

時刻同期を確かめる

ntpd が起動しているか(show sys service ntpd)

NTP のサービス ntpd が動いているかを確かめます。Active: active (running) なら起動しています。ログの clock_step +0.392805 s は、起動直後に時刻を約 0.39 秒ずらして合わせたことを示しています。

[admin@bigip-1:Active:Standalone] ~ # tmsh 
admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show sys service ntpd
* ntpd.service - start and stop ntpd
   Loaded: loaded (/etc/rc.d/init.d/ntpd; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-04-19 20:31:36 JST; 5min ago
  Process: 25035 ExecStop=/etc/rc.d/init.d/ntpd stop (code=exited, status=0/SUCCESS)
  Process: 25045 ExecStart=/etc/rc.d/init.d/ntpd start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ntpd.service
           `-25048 ntpd -g

Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: Listen normally on 12 mgmt fe80::4db:78ff:fedd:526f UDP 123
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: Listen normally on 13 eth0 fe80::4db:78ff:fedd:526f UDP 123
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: Listen normally on 14 external fe80::450:64ff:fef3:c313 UDP 123
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: Listening on routing socket on fd #31 for interface updates
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c016 06 restart
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Apr 19 20:31:37 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c011 01 freq_not_set
Apr 19 20:31:44 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c61c 0c clock_step +0.392805 s
Apr 19 20:31:44 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c614 04 freq_mode
Apr 19 20:31:45 bigip-1.hirotanoblog.local ntpd[25048]: 0.0.0.0 c618 08 no_sys_peer

同期しているサーバ(ntpq -np)

shell モードで ntpq -np を実行し、時刻の同期先を確かめます。-n はアドレスをホスト名に変換せずに表示し、-p は NTP サーバ(ピア)の一覧を表示するオプションです。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# bash
[admin@bigip-1:Active:Standalone] ~ # ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*216.239.35.12   .GOOG.           1 u   31   64   37   37.574   -2.733   2.112
表示意味
*(先頭の記号)このサーバを同期先(system peer)として選んでいる。+ は同期先の候補、空白は使っていないサーバ
remoteNTP サーバのアドレス。time.google.com のアドレスの1つ(216.239.35.12)
refidそのサーバの時刻の参照元。.GOOG. は Google の時刻源
ststratum(階層)。1 は時刻源に直接つながったサーバ
when/poll最後に応答を受けてからの秒数/問い合わせの間隔(秒)
reach直近8回の応答の有無を8進数で表したもの。37(2進数で 11111)は、ntpd の起動後5回の問い合わせにすべて応答があったことを示します
delay/offset/jitter往復の遅延、サーバとの時刻のずれ、ずれのばらつき(いずれもミリ秒)

現在の時刻(show sys clock/date)

現在の時刻は、tmsh の show sys clock か、shell モードの date で確認できます。どちらも JST(日本時間)で表示されています。

admin@(bigip-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show sys clock 
----------------------------
Sys::Clock
----------------------------
Tue Apr 19 21:37:08 JST 2022

[admin@bigip-1:Active:Standalone] ~ # date
Tue Apr 19 21:37:54 JST 2022

GUI では、画面の左上に日付と時刻が表示されます。

BIG-IP 設定画面(Configuration Utility)の上部画面イメージ
Hostnamebigip-1.hirotanoblog.local1DateApr 19, 2022Useradmin
IP Address(伏せています)Time9:37 PM (JST)RoleAdministrator
ONLINE (ACTIVE)  Standalone
図5 GUI の上部に表示される日付と時刻(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1Date/TimeBIG-IP の日付と時刻。タイムゾーンを Asia/Tokyo にしたので JST で表示されます

うまくいかないとき

状態よくある原因確認すること
ping や nslookup でホスト名が引けないDNS サーバに届かない、または Update をクリックしていないlist /sys dns name-servers の内容、BIG-IP から DNS サーバへのルート、途中のファイアウォールで UDP 53 が通るか
ntpq で * が付かない起動直後でまだ同期先を選んでいない、または NTP サーバから応答がない数分待ってから再度確認する。reach が 0 のままなら、UDP 123 が通るかとホスト名の名前解決を確認する
表示される時刻が日本時間とずれているタイムゾーンが Asia/Tokyo になっていないlist /sys ntp timezone が Asia/Tokyo か

まとめ

設定GUI確認(tmsh)この記事の値
DNS サーバSystem ›› Configuration ›› Device ›› DNSlist /sys dns name-servers8.8.8.8、8.8.4.4
タイムゾーンSystem ›› Platformlist /sys ntp timezoneAsia/Tokyo
NTP サーバSystem ›› Configuration ›› Device ›› NTPlist /sys ntp serverstime.google.com

CLI で設定する場合は、modify sys dns name-servers add { … }、modify sys ntp timezone …、modify sys ntp servers add { … } を使い、最後に save sys config で保存します。GUI で設定した場合は自動で保存されます。

コメント