この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、DNSホスト名をIPアドレスに解決できるようにBash内のDNSサーバを設定する手順について説明します。
Cisco Nexus 3000および9000シリーズデバイスでは、Bash(Bourne-Again SHell)を介してNX-OSの基盤となるLinuxシステムにアクセスできます。 Bashは、Linux環境を介したシステム管理と監視を可能にします。NX-OSでのBashの詳細については、『Cisco Nexus 9000シリーズNX-OSプログラマビリティガイド』の「Bash」の章を参照してください。
Bashシェルで通常のタスクを実行する際は、わかりやすいドメイン名を数字のIPアドレスに変換する必要があります。このようなタスクには、Webサーバからリソースにアクセスするためのcurl
ユーティリティまたはwgetユーティリ
ティの使用、またはdocker pullコマンドを使用したDockerイメージのダウンロードが含ま
れます
。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
注:Bashシェルは、Cisco Nexusデバイスで有効にする必要があります。Bashシェルを有効にする手順については、『Cisco Nexus 9000シリーズNX-OSプログラマビリティガイド』のBashの章の「Bashへのアクセス」セクションを参照してください。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
BashシェルからアクセスするLinux環境では、/etc/resolv.confファイルを使用してDNS設定を保存します。これは、他のほとんどのUnixライクなオペレーティングシステムと同様です。
1. run bash sudo su -
コマンドを使用して、rootユーザーとしてBashシェルにログインし
ます
。
Nexus# run bash sudo su - root@Nexus#whoami root
2. /etc/resolv.confファイルの現在の内容を表示する。この例では、ファイルは空です。
root@Nexus#cat /etc/resolv.conf root@Nexus#
3. viテキストエディタを使用して編集用の/etc/resolv.confファイルを開き
てください。
root@Nexus#vi /etc/resolv.conf
4. iキーを押してINSERTモ
ードに入り、必要な設定を入力します。/etc/resolv.confファイル内の設定の形式の詳細については、このドキュメントの「/etc/resolv.confファイル形式」セクションを参照してください。
5.ファイルを修正した後、Escキーを押して
INSERTモードを終了し、:xと入力し
て、すべての変更をファイルに保存して閉じます。
BashシェルのDNS設定に変更を加えたら、変更がドメイン名解決に成功することを確認します。ドメイン名の解決をテストする最も簡単な方法は、ドメインのホスト名をターゲットと
してping
ユーティリティを使用することです。このドキュメントでは、test.cisco.comのテストホストと192.168.2.1および192.168.2.2のDNSサーバを使用して、有効なDNS設定を確認する方法を示します。
デフォルトでは、Bashシェルは、特に指示がない限りデフォルトのネットワーク名前空間を使用します。ネットワークの名前空間はNX-OS VRFと論理的に同じであり、コマンドip netns
は、次に示すように、Bashシェルで使用可能な名前空間のリストを表示します。
root@Nexus#ip netns EXAMPLE-VRF (id: 2) management (id: 1) default (id: 0)
テストに使用する有効なネットワーク名前空間は、/etc/resolv.confファイルで設定されたDNSネームサーバへのIP接続と、テストホストが解決するIPアドレスへのIP接続を持つ名前空間です。
ip netns exec {namespace} {desired-command}
コマンドを使用して、名前空間{namespace}のコマンド{desired-command}を実行することができます
。または、ip netns exec {namespace} bashコマンドを使用して、特定の名前空間のコンテキスト内でBashシェルを実行で
きます
。上記の例では、管理ネームスペースがtest.cisco.comホスト(192.168.2.100)と両方のDNSサーバ(192.168.2.1と192.168.2.2)が所有するIPアドレスとIP接続していることが確認されています。
root@Nexus#ip netns exec management ping 192.168.2.100 -c 5 PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data. 64 bytes from 192.168.2.100: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.100: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.100: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.100: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.100: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.100 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms root@Nexus#ip netns exec management ping 192.168.2.1 -c 5 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 64 bytes from 192.168.2.1: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.1: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.1: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.1: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.1: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms root@Nexus#ip netns exec management ping 192.168.2.2 -c 5 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.2: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.2: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.2: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.2: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms
ping
ユーティリティ
をテストホストのホスト名のターゲットとともに使用します。テストホストからICMP応答を受信し、ICMP応答内に含まれるIPアドレスがホスト名が解決すると予想されるIPアドレスである場合、DNS解決はBashシェル内で動作していることが確認されます。
次の例は、正しいDNS解決を確認するために、管理ネームスペース内でping
ユーティリティを使用する方法を示しています。test.cisco.comのドメインホスト名が192.168.2.100に解決される方法に注意してください。これは、ホスト名が解決されると予想されるIPアドレスです。
root@Nexus#ip netns exec management ping test.cisco.com -c 5 PING test.cisco.com (192.168.2.100) 56(84) bytes of data. 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=1 ttl=59 time=0.617 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=2 ttl=59 time=0.341 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=3 ttl=59 time=0.310 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=4 ttl=59 time=0.379 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=5 ttl=59 time=0.296 ms --- test.cisco.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.296/0.388/0.617/0.119 ms
DNS解決のテストに使用した名前空間がインターネットにIP接続されている場合は、cisco.comにpingを実行し、内部ドメイン名に加えて外部ドメイン名を解決できることを確認できます。これは、パブリックWebサーバに対してcurl
やwgetなどのユーティリティを使用する必要がある場合に特
に重要です。次の例は、正しい外部DNS解決を確認するためにping
ユーティリティを管理ネームスペース(インターネットへのIP接続)内でどのように使用できるかを示しています。
root@Nexus#ip netns exec management ping cisco.com -c 5 PING cisco.com (72.163.4.161) 56(84) bytes of data. 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=1 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=2 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=3 ttl=239 time=29.3 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=4 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=5 ttl=239 time=29.2 ms --- cisco.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 29.261/29.283/29.335/0.111 ms
ここでは、一般的な設定パラメータをいくつか説明します。環境に合わせて、すべての設定パラメータを必ず変更してください。
{domain-name.tld}を定義
します。/etc/resolv.confファイル内に指定できるドメイン
エントリは1つのみです。{domain-name-1.tld}
と、オプションで[domain-name-2.tld]
)を定義して、ホスト名に追加します。 注:ドメイン
と検索
エントリは相互に排他的です。同時に使用できるのは1つだけです。/etc/resolv.confファイルに両方のエントリが含まれている場合は、ファイルの最後に表示されるエントリが使用されます。
{address-1}
を定義します。複数のネームサ
ーバのエントリが1つのファイル内で許可されます(最大3個)。次の例は、環境のデフォルトドメインがcisco.comで、環境内のDNSサーバのIPアドレスが192.168.2.1および192.168.2.2である/etc/resolv.confファイルの内容を示しています。このシナリオでは、Bashシェルがホスト名fooを持つデバイスのIPIPIPアドレスアドレスをの末尾に追加しますホストの名前(FDQN)はfoo.cisco.comです。
domain cisco.com nameserver 192.168.2.1 nameserver 192.168.2.2
次の例は、DNSホスト名の解決にcisco.comドメイン名またはbar.comドメイン名を使用する/etc/resolv.confファイルの内容を示しています。環境内のDNSサーバのIPアドレスは、192.168.2.1および192.168.2.2です。このシナリオでは、Bashシェルがホスト名fooを持つデバイスのIPアドレスを解決する必要がある場合は、まずfoo.cisco.comを解決します。
search cisco.com bar.com nameserver 192.168.2.1 nameserver 192.168.2.2