Network GatewayのNTP/DNS変更する方法

 

この記事は、Nutanix Advent Calendar 20255日目として書きました。

 

お詫び

予定ではNCM-MCIの受験について記事を書く予定でしたが、

都合により受験が延期になってしまったので、保険としてストックしていた記事にて代えさせていただきます。

 

 

 

今回の内容

Nutanix Flow Virtual NetworkVPNBGPを利用するときに構築するNetwork Gatewayというコンポーネントについてです。

Network GatewayNutanixクラスタ上の仮想マシンという形態で提供されます。

Network Gateway自体はFlow Virtual Networkを利用する上で必須ではありませんが、たとえばオーバレイネットワークをNo NATで外部接続する際に、

BGPを利用してオーバレイとアンダーレイでルーティング情報を自動的に交換するような場合に必要となります。

 

今回の記事では私がラボでNetwork Gatewayを用いてBGPでルート配布をした際にハマった内容について共有します。

 

 

 

Network GatewayのステータスがUpにならない!

 

Flow Virtual NetworkでのVPCやオーバレイネットワーク作成や、Network Gatewayの構築手順等については省かせていただきます(高品質な先人のブログに譲ります)。

とりあえず、偉大な先人たちのブログを見ながらNetwork Gatewayを構築したところ以下の図に要にNetwork GatewayのステータスがUpにならない、という問題に遭遇しました。

 

 

 

 

 

Downの理由についてはアラートから確認することができます。

 

 

 

アラート画面内にリンクされているKBの手順(Curlコマンド)でもエラーの内容を確認することができます。

 

Alert - A802005 - NetworkGatewayDown

 

 

今回は画面からもわかる通りNTPがダウンしている、ということのようです。

しかしながらNetwork GatewayとラボのNTPサーバの疎通は問題がないはずですし、Network Gatewayと接続するPrism CentralNTPの状態も正常でした。

Network Gatewayにログインして調査をしようにも、自動的に作成される仮想マシンのため、ログイン情報がわからず途方に暮れてしまいました。

 

 

原因が判明!

Network Gatewayの再作成や、クラスタ再作成して環境をリセットしても状況が変わらなかったため、しかたなく最終手段である”マニュアルをちゃんと読む”ことにしました。

 

そうすると、以下のドキュメントに記載のあるNetwork Gatewayの仕様が原因であることが判明しました。

Flow Virtual Networking Network Controller 6.0 - Network Gateway Management

 

抜粋
 

    • Connectivity to NTP servers at time.google.com and DNS at 8.8.8.8 is mandatory for the network gateway VM to become active. If you do not have access to these resources, the status of the network gateway is displayed as Down. If you cannot open access to these services on the Internet, contact Nutanix support to change the DNS and NTP server configuration of the network gateway VM.

 

ようするに、Network Gateway は仕様としては、PrismCentralやクラスタに設定されているNTPサーバやDNSサーバの利用するのではなく、常にインターネット上のGoogleDNSNTPを参照するようになっており、私のラボ環境は隔離環境だったため、それらのリソースにアクセスができず、ステータスがダウンになっていた、ということがわかりました。

 

対処方法(※非本番のラボ向けの内容です)

 

※以下の内容は公式ドキュメントに明確に記載のある内容ではなく自己流の解決策ですので、自己責任にて実施ください。

正しい対応方法についてはドキュメントにある通りサポートに問い合わせください。

 

 

前述のドキュメントやKBにはサポートに連絡せよ、と記載がありますが、自力で解決できたので(公開されている範囲で)共有いたします。

 

実はNetwork Gatewayvyosでできていますので、シェルにログインしてvyosのコマンドでNTPDNSの設定を変更可能です。

次なる問題は、認証情報がわからない、という点です。

 

Network Gatewayを構築する際にログインパスワードを設定する項目はありません。

また、公開ドキュメントの範囲ではデフォルトの認証情報を確認することができませんでした。

 

幸いCustomer 権限にて閲覧可能なKB-16283にデフォルトの認証情報を見つけることができました。

 

あとはvyosのコマンドでDNS/NTPを変更してあげるだけです。

 

 

DNS/NTPの変更手順

 

 

まずコンフィグモードへ入ります。

configure

 

現状の設定を確認します。

NTPサーバ設定確認:

show configuration | match ntp

 

DNSサーバ設定確認:

show configuration | match name-server

 

NTPの変更手順

configure

# 既存サーバを必要に応じて削除

delete system ntp server <既存NTPサーバ>

 

# 新しいNTPサーバを追加(IP or FQDN

set system ntp server aaa.aaa.aaa.aaa

set system ntp server bbb.bbb.bbb.bbb

 

# 反映

commit

save

exit

 

 

DNS変更手順

configure

# 既存のDNSサーバ設定を削除

delete system name-server

 

# 新しいDNSサーバIPの設定

set system name-server aaa.aaa.aaa.aaa

set system name-server bbb.bbb.bbb.bbb

 

commit

save

exit

 

 

正しく設定ができていれば、ほどなくしてNetwork GatewayのステータスがUpになるのを確認できるはずです。

 

 

 

オマケ:BGPを利用する場合Network Gatewayを配置するサブネットについて

 

BGPを利用する際のNetwork Gatewayを配置するサブネットは比較的自由に選択できます。

例えば以下の配置が可能です。

アンダーレイネットワーク

VPCExternal Subnet(と同じVLAN/Subnet

Route交換対象となるオーバレイネットワークサブネット

 

どこに置くのが適切なのかは、その時々の要件やポリシー次第化だと思いますが、

ラボでの検証が目的で、かつネットワークにそこまで詳しくない場合は、External Subnetと同じVLAN/Subnetに展開するのが良いと思います。

VPCに設定するExternal Subnetに対してVMを接続することはできないので、同じVLAN/Subnetのネットワークを別途PC or PEから作成して接続させる

 

オーバレイネットワークサブネットに配置する場合はSNAT/DNAT設定が必要になり、単純に構築の難易度が上がるだけでなく、管理&トラブルのポイントが増えます。

アンダーレイネットワークに配置する場合は比較的シンプルな構成&管理になりますが、なぜかL3スイッチとうまくルート情報を交換できませんでした。

BGPL3スイッチについて詳しい方であれば、原因や対処がわかるのかもしれませんが、Extenal Subnetに配置するやり方で手順(というか先人のブログ)の通りに構築することができました。

もちろん追加でStatic Routeを設定する必要が出てくる場合もありますが、BGPの設定やトラブルシューティングで苦悩するよりも、なじみのあるIP Routingでカバーしてしまったほうが数段楽だったため、ラボ検証などで構成の縛りが緩い場合はこの方法をお勧めします。

 

 

 

おわりに

本記事ではインターネット接続がない環境で発生するNetwork GatewayのステータスDownの問題とその解決策について紹介しました。

この記事がいつか誰かのお役に立てば幸いです。

 

今年の記事はこれで最後となりますが、来年度はもう少し記事投稿の頻度と品質を向上していきたいと思ってます。

 

 

 

 

コメント

このブログの人気の投稿

NutanixサイザーのCPUリソース計算について調べたこと

Nutanixクラスタにノードを追加する

(Nutanix)Dell XC モデルのアップグレード準備メモ(LTS 6.5.x -> 6.10)