NSX Advanced Load Balancer は、デフォルトでコントローラでの DNS 解決をサポートします。コントローラが DNS リゾルバに到達不能で、構成オブジェクトで FQDN 解決が必要な場合、SE での DNS 解決によって SE を通じた FQDN 解決が有効になります。
サービス エンジンでの DNS 解決は、IPv6 DNS リゾルバの IP アドレスを使用して実行できます。
プール メンバー オブジェクトの FQDN 解決は、SE を通じてのみサポートされます。
現在、VMware クラウドとアクセス権なしのクラウドではサポートされています。
SE での DNS 解決を有効にするには、クラウド構成で dns_resolution_on_se
を設定する必要があります。
サービス エンジンには、サービス エンジンから FQDN を解決するための DNS リゾルバ構成が必要です。このためには、クラウド構成で DNSResolver オブジェクトを構成する必要があります。クラウドごとに 1 つの DNSResolver オブジェクトのみがサポートされます。
デフォルトでは、レコードの更新は TTL に基づいて行われます。
SE での DNS 解決の構成
SE での DNS 解決を有効にする CLI コマンドは次のとおりです。
[admin:Avi-Controller]: > configure cloud Default-Cloud [admin:Avi-Controller]: cloud > dns_resolution_on_se [admin:Avi-Controller]: cloud > save
クラウドで DNS リゾルバを構成するための CLI コマンドは次のとおりです。
[admin:Avi-Controller]: > configure cloud Default-Cloud [admin:Avi-Controller]: cloud> dns_resolvers [admin:Avi-Controller]: cloud:dns_resolvers> resolver_name resolver1 [admin:Avi-Controller]: cloud:dns_resolvers> nameserver_ips 100.64.88.201 [admin:Avi-Controller]: cloud:dns_resolvers> nameserver_ips 100.64.89.202 [admin:Avi-Controller]: cloud:dns_resolvers> save [admin:Avi-Controller]: cloud> save
DNS リゾルバで構成可能な属性は次のとおりです。
resolver_name
:リゾルバの名前です。nameserver_ips
:解決に使用される DNS サーバの IPv4 アドレスです。fixed_ttl
:構成すると、この値は DNS エントリの更新に使用されます。これにより、received_ttl
とmin_ttl
の両方が上書きされます。エントリは、received_ttl
がfixed_ttl
より小さい場合でも、fixed_ttl
でのみ更新されます。min_ttl
:構成すると、TTL がmin_ttl.effectively
より小さい場合と TTL がmax(received_ttl, min_ttl)
と等しい場合、この TTL は応答からの TTL を上書きします。use_mgmt
:有効にすると、DNS 解決は管理ネットワークを介して実行されます。
出力は次のとおりです。
[admin:demo-cntrlr]: > show serviceengine demo-se2 resolverdb +----------------------+-------------------------------------------+ | Field | Value | +----------------------+-------------------------------------------+ | se_ref | demo-se2 | | dns_resolution_on_se | True | | fqdns[1] | | | fqdn | ntest17.foo.avi.com | | obj_uuids[1] | pool-da9e76ad-9bf3-4a8b-9dce-13bf7d36b96d | | ips[1] | 1.1.1.17 | | ttl | 300 | | last_resolved_time | Mon Apr 12 06:54:12 2021 | | | | | last_updated_time | Mon Apr 12 05:03:35 2021 | | | | | fqdns[2] | | | fqdn | ntest15.foo.avi.com | | obj_uuids[1] | pool-f4e9743c-0585-4d67-897e-38328702813c | | ttl | 0 | | last_resolved_time | Mon Apr 12 06:53:53 2021 | | | | | last_updated_time | Thu Jan 1 00:00:00 1970 | | | | | err_response | ERROR | | resolvers[1] | | | resolver_name | resolver6 | | nameserver_ips[1] | 100.64.88.201 | | nameserver_ips[2] | 100.64.92.40 | | total_fqdns | 2 | | resolvers[2] | | | resolver_name | Default-ResolvConf | | total_fqdns | 0 | +----------------------+-------------------------------------------+
解決を SE を通じて実行する必要があり、DNS リゾルバが DHCP を通じて更新される場合は、
dns_resolution_on_se
コードのみを有効にすることができ、クラウドでdns_resolver code
を構成する必要はありません。dns_resolver
オブジェクトが構成されている場合、そのオブジェクトは常に FQDN 解決に使用されます。
IPv6 を経由したサービス エンジンでの DNS 解決のための IPv6 構成
DNS リゾルバで IPv6 ネームサーバの IP アドレスを指定できます。これにより、特定のクラウドに対して IPv6 経由の DNS 解決が保証されます。IPv6 を経由したサービス エンジンでの DNS 解決用の IPv6 ネームサーバを追加するためのサンプル構成を次に示します。
admin:10-79-175-173]: > configure cloud test-cloud-vj [admin:10-79-175-173]: cloud> dns_resolution_on_se Overwriting the previously entered value for dns_resolution_on_se [admin:10-79-175-173]: cloud> dns_resolvers New object being created [admin:10-79-175-173]: cloud:dns_resolvers> resolver_name ipv4resolver [admin:10-79-175-173]: cloud:dns_resolvers> nameserver_ips 100.64.88.201 [admin:10-79-175-173]: cloud:dns_resolvers> where Tenant: admin Cloud: test-cloud-vj +-------------------+---------------+ | Field | Value | +-------------------+---------------+ | resolver_name | ipv4resolver | | nameserver_ips[1] | 100.64.88.201 | +-------------------+---------------+ [admin:10-79-175-173]: cloud:dns_resolvers> save [admin:10-79-175-173]: cloud> dns_resolvers New object being created [admin:10-79-175-173]: cloud:dns_resolvers> resolver_name ipv6resolver [admin:10-79-175-173]: cloud:dns_resolvers> nameserver_ips 2402:740:0:42a:250:56ff:fe81:6f11,2402:740:0:429:250:56ff:fe81:45b [admin:10-79-175-173]: cloud:dns_resolvers> where Tenant: admin Cloud: test-cloud-vj +-------------------+--------------------------------------------------------------------+ | Field | Value | +-------------------+--------------------------------------------------------------------+ | resolver_name | ipv6resolver | | nameserver_ips[1] | 2402:740:0:42a:250:56ff:fe81:6f11,2402:740:0:429:250:56ff:fe81:45b | +-------------------+--------------------------------------------------------------------+ [admin:10-79-175-173]: cloud:dns_resolvers> save [admin:10-79-175-173]: cloud> save
複数の IP アドレスがある場合は、カンマ区切りの IPv6 ネームサーバを追加できます。
SE での DNS 解決の構成の制限
SE での DNS 解決の制限は次のとおりです。
NSX Advanced Load Balancer バージョン 22.1.3 以前では、FQDN 解決で IPv4 転送のみがサポートされていました。NSX Advanced Load Balancer バージョン 22.1.3 以降では、FQDN 解決で IPv6 がサポートされます。
A レコードのみがクエリされます。
DNS 解決は UDP 経由でのみ実行されます。
クライアント ログ ストリーミング用および外部健全性モニター用のサービス エンジンでの DNS ネームサーバの構成
「サービス エンジンでの DNS の構成」セクションの手順に従ってクラウドの DNS リゾルバを構成すると、管理ネットワークでは /etc/systemd/resolved.conf、SE 仮想マシンのすべての VRF では /etc/netns/{namespace-name}/resolv.conf が更新されます。
[分析プロファイル] の external_server
で構成したドメイン名、クライアント ログに記録される client_log_streaming_config
、外部健全性モニターの [スクリプト コード] に存在するドメイン名は、構成されたネームサーバを通じて解決されます。