tag:crieit.net,2005:https://crieit.net/tags/dns/feed 「dns」の記事 - Crieit Crieitでタグ「dns」に投稿された最近の記事 2022-05-30T23:58:04+09:00 https://crieit.net/tags/dns/feed tag:crieit.net,2005:PublicArticle/18202 2022-05-30T23:58:04+09:00 2022-05-30T23:58:04+09:00 https://crieit.net/posts/docker-container-refer-hostmachine-hosts-20220530 Dockerコンテナ 上の名前解決とホストマシンの Windows の hosts <p>とある試験で Dockerコンテナ からのみ特別に名前解決したい、というケースが生じました。</p> <p>そこでホストマシンの Windows の hosts が使えないか検証したのでメモ。</p> <h2 id="検証"><a href="#%E6%A4%9C%E8%A8%BC">検証</a></h2> <pre><code class="bash"># yum install -y bind-utils </code></pre> <p>まず今回検証したい Dockerコンテナ はデフォルトだと <code>nslookup</code> コマンドが入っていないのでインストール (<code>bind-utils</code> の中に含まれている)。</p> <pre><code>#192.0.2.1 hoge.example1.jp </code></pre> <p>続いてホストマシンの Windows の <code>hosts</code> を上述のように記述。あえてコメントアウトしてあります。</p> <p>なお、 <code>hoge.example1.jp</code> は公開 DNSサーバ にはレコードが存在しないドメインだとします。</p> <pre><code class="bash"># nslookup > hoge.example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 ** server can't find hoge.example1.jp: NXDOMAIN </code></pre> <p>この状態で Dockerコンテナ 上から <code>nslookup</code> 。上述の通り DNSサーバ にレコードが存在しない前提なので、名前解決できません。</p> <pre><code># nslookup > example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 Non-authoritative answer: Name: example1.jp Address: 192.0.2.11 </code></pre> <p>逆に、 DNSサーバ にレコードが存在する <code>example1.jp</code> は名前解決できます。想定通りですね。</p> <pre><code>192.0.2.1 hoge.example1.jp </code></pre> <p>続いてホストマシンの Windows の <code>hosts</code> に記述をした場合です。</p> <pre><code class="bash"># nslookup > hoge.example1.jp Server: 127.0.0.11 Address: 127.0.0.11#53 Non-authoritative answer: Name: hoge.example1.jp Address: 192.0.2.1 </code></pre> <p>名前解決できました。このことから、 Dockerコンテナ はホストマシンの <code>hosts</code> を参照することが分かりました。</p> <p>これで検証が進められます。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/nkojima/items/083eed7f835547b0b0f7">使えないコマンドがある時の対応方法 - Qiita</a></li> </ul> arm-band tag:crieit.net,2005:PublicArticle/18162 2022-04-10T21:17:50+09:00 2022-04-10T21:17:50+09:00 https://crieit.net/posts/google-sites-assign-thirdparty-domain-20220411 Google Sites でサードパーティドメインを使用して独自ドメインのサブドメインを割り当てる <p>Google Sites でサードパーティドメインを使用して独自ドメインのサブドメインを割り当てる方法を調査したのでメモ。</p> <h2 id="Google Sites から設定 (1)"><a href="#Google+Sites+%E3%81%8B%E3%82%89%E8%A8%AD%E5%AE%9A+%281%29">Google Sites から設定 (1)</a></h2> <p><a href="https://crieit.now.sh/upload_images/da8336d111ad4d98c6fc07479dd1b2496252c5f7c7874.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/da8336d111ad4d98c6fc07479dd1b2496252c5f7c7874.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-1.jpg" /></a></p> <p>まずは Google Sites の⚙(歯車)アイコンから設定、「カスタムドメイン」→「設定を開始」と進みます。</p> <p><a href="https://crieit.now.sh/upload_images/fcb74bbcd386850c6991ea4e7122da9e6252c6297b8fc.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fcb74bbcd386850c6991ea4e7122da9e6252c6297b8fc.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-2.jpg" /></a></p> <p>「サードパーティのドメインを使用」を選択して「次へ」。</p> <p><a href="https://crieit.now.sh/upload_images/e70f7a98fb572461ea8985ad7b4e6af96252c67d05e16.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e70f7a98fb572461ea8985ad7b4e6af96252c67d05e16.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-3.jpg" /></a></p> <p>独自ドメイン(例: <code>example.jp</code>)のサブドメイン(<code>sub.example.jp</code>)を割り当てようとすると「このドメインは所有権の証明が澄んでいません。所有権を証明してください。」と表示されるので「所有権を証明」の文字列のリンクから先に進みます。</p> <h2 id="ウェブマスターセントラルでの所有権の証明・TXTレコード追記"><a href="#%E3%82%A6%E3%82%A7%E3%83%96%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%88%E3%83%A9%E3%83%AB%E3%81%A7%E3%81%AE%E6%89%80%E6%9C%89%E6%A8%A9%E3%81%AE%E8%A8%BC%E6%98%8E%E3%83%BBTXT%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E8%A8%98">ウェブマスターセントラルでの所有権の証明・TXTレコード追記</a></h2> <p><a href="https://crieit.now.sh/upload_images/5f8894b02b3685718dce13a44dcd2ad96252c6ff5eca0.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5f8894b02b3685718dce13a44dcd2ad96252c6ff5eca0.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-4.jpg" /></a></p> <p>ウェブマスターセントラルへ遷移するので指示通りDNSにTXTレコードを設定します。今回はドメイン管理が一覧で該当しなかったので「その他」です。</p> <pre><code>sub.example.jp IN TXT google-site-verification=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </code></pre> <p>イメージ的にはこのようなTXTレコードを追加します。DNSサーバはGUIだったりCUIだったりケースバイケースだと思いますが、やるべきことはこのTXTレコードを追加すること。対象はドメインではなくサブドメインで。</p> <p><a href="https://crieit.now.sh/upload_images/88227c6f2af19c2aaf62d0bb039f659b6252c77d8bdb4.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/88227c6f2af19c2aaf62d0bb039f659b6252c77d8bdb4.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-6.jpg" /></a></p> <p>DNSサーバの設定がリゾルバからキャッシュサーバまで反映されると「確認」ボタンで認証が通るようになります。ひとまずはこれでOK。</p> <h2 id="Google Sites から設定 (2)"><a href="#Google+Sites+%E3%81%8B%E3%82%89%E8%A8%AD%E5%AE%9A+%282%29">Google Sites から設定 (2)</a></h2> <p><a href="https://crieit.now.sh/upload_images/c0dccb0b8d9a6233cdb78b32a671dea66252c7f23d0ef.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c0dccb0b8d9a6233cdb78b32a671dea66252c7f23d0ef.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-7.jpg" /></a></p> <p>所有権の証明が済んだので、再度 Google Sites のサードパーティのドメインの設定で入力を進めると今度は次へ進むことができます。「次へ」。</p> <p><a href="https://crieit.now.sh/upload_images/a1e00252d9c3e5092c4226279721ba426252c8391b37c.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a1e00252d9c3e5092c4226279721ba426252c8391b37c.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-8.jpg" /></a></p> <p>今度はCNAMEレコードの追加を求められます。</p> <h2 id="CNAMEレコード追記"><a href="#CNAME%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E8%A8%98">CNAMEレコード追記</a></h2> <p>そこで指示通りにCNAMEレコードを追加します。</p> <p>ただし次の2点に注意。</p> <ol> <li>CNAMEレコードは他のレコードが存在していると追記できない <ul> <li>CNAMEレコードは他のレコードが存在している場合追記できません。これはAレコードでも<strong>TXTレコードでも該当する</strong>ので、<strong>先程所有権の証明に使ったTXTレコードをそのままにしておくと引っかかります</strong>。所有権の証明が済んだならば潔く先程追加したTXTレコードを削除してからCNAMEレコードを追加します。</li> </ul></li> <li>DNSサーバの仕様に注意 <ul> <li>DNSサーバによっては末尾の「.」を補完してくれる場合があります。CUIならば忘れないようにしないといけませんが、レンタルサーバのDNSレコードを追加する機能等では末尾の「.」なしで <code>ghs.googlehosted.com</code> を追加しないと先に進めないかもしれません。</li> </ul></li> </ol> <pre><code>sub.example.jp IN CNAME ghs.googlehosted.com. </code></pre> <p>イメージとしてはこのようなCNAMEレコードを追記します。</p> <pre><code>;sub.example.jp IN TXT google-site-verification=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </code></pre> <p>TXTレコードはコメントアウトなり削除するなりして、ですね。</p> <h2 id="Google Sites から設定 (3)"><a href="#Google+Sites+%E3%81%8B%E3%82%89%E8%A8%AD%E5%AE%9A+%283%29">Google Sites から設定 (3)</a></h2> <p><a href="https://crieit.now.sh/upload_images/50ecc8cc7712d1256f9148026f57acb46252c9f044ca4.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/50ecc8cc7712d1256f9148026f57acb46252c9f044ca4.jpg?mw=700" alt="20220410-google-sites-thirdparty-domain-11.jpg" /></a></p> <p>これでようやくサブドメインを追加することができました。</p> <p>結構手順が煩雑なので迷わないようにしたいですね。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <h3 id="公式ドキュメント"><a href="#%E5%85%AC%E5%BC%8F%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88">公式ドキュメント</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://support.google.com/domains/answer/3290309?hl=ja&ref_topic=9018335">ドメイン ネームサーバーの管理 - Google Domains ヘルプ</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://support.google.com/sites/answer/9068867?hl=ja#zippy=%2Cgoogle-domains-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%2C%E5%88%A5%E3%81%AE%E7%99%BB%E9%8C%B2%E4%BA%8B%E6%A5%AD%E8%80%85%E3%81%A7%E7%99%BB%E9%8C%B2%E3%81%97%E3%81%A6%E8%87%AA%E5%88%86%E3%81%8C%E6%89%80%E6%9C%89%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B">サイトにカスタム ドメインを使用する - サイト ヘルプ</a></li> </ul> <h3 id="記事"><a href="#%E8%A8%98%E4%BA%8B">記事</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://n10shop.com/post-98564/">Googleサイトにムームーの独自ドメイン設定&格安メールアドレス取得方法まで解説! - いまどきのネットショップ開業講座</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.dontokoiapps.com/howto/new-google-site-own-domain-ssl">新しいGoogleサイトで独自ドメインを使う方法(SSLも無料でついてくるヨ!)|どんとこい!Google Workspace</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.k-yamaken.com/hiro/assigning-googlesite-urls-to-my-own-domain/">GoogleサイトのURLを独自ドメインに割り付けても、まるでリダイレクトのような挙動でした。(2022年1月11日追記) | 練馬のリフォーム 山口建設</a></li> </ul> <h3 id="TXTレコード"><a href="#TXT%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89">TXTレコード</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.ucom.ne.jp/enterprise/dnsmanual/p4_4_1_6.html">DNS設定ツールマニュアルWEB</a></li> </ul> <h3 id="CNAMEレコード"><a href="#CNAME%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89">CNAMEレコード</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://futuremix.org/2010/03/bind-named-checkconf-error-check-command">named-checkconf コマンドで BIND の設定をチェック</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://teratail.com/questions/311837">Zoneファイルの更新でエラーの解決が出来ない</a></li> </ul> arm-band tag:crieit.net,2005:PublicArticle/17625 2021-08-29T20:31:13+09:00 2021-08-29T20:33:47+09:00 https://crieit.net/posts/vercel-setting-subdmain-20210829 Vercel のサイトに独自ドメインのサブドメインを割り当てる <p><a href="https://crieit.net/posts/gatsby-vercel-microcms-cooprate-20210829-2">Gatsby.js + Vercel + microCMS の JAMStack 環境のサイト</a>の仕上げとして、独自ドメインのサブドメインを割り当てます。</p> <h2 id="Vercel の設定"><a href="#Vercel+%E3%81%AE%E8%A8%AD%E5%AE%9A">Vercel の設定</a></h2> <p><a href="https://crieit.now.sh/upload_images/6c8fefbc8da18037c3d877db75358c4f612b6f437ef97.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6c8fefbc8da18037c3d877db75358c4f612b6f437ef97.jpg?mw=700" alt="Vercel のプロジェクトで「Settings」→「Domains」" /></a></p> <p>Vercel のプロジェクトで「Settings」→「Domains」と進みます。</p> <p>ここで割り当てたいドメインを入力して「Add」。</p> <p><a href="https://crieit.now.sh/upload_images/ca03daca645df58ed6024033974b91a2612b6f5218cf6.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/ca03daca645df58ed6024033974b91a2612b6f5218cf6.jpg?mw=700" alt="Invalid Configuration" /></a></p> <p>いったん Invalid Configuration と怒られますがひとまず保留。</p> <h2 id="ドメイン管理側サービスの設定"><a href="#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E7%AE%A1%E7%90%86%E5%81%B4%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E8%A8%AD%E5%AE%9A">ドメイン管理側サービスの設定</a></h2> <p>詳細部に書かれている <code>cname.vercel-dns.com</code> を CNAMEレコード として設定します。</p> <p><a href="https://crieit.now.sh/upload_images/074794efb552d4b7a428f7507a00f060612b6f5be2f85.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/074794efb552d4b7a428f7507a00f060612b6f5be2f85.jpg?mw=700" alt="ドメイン管理側のサービスで指示通りの CNAMEレコード を設定" /></a></p> <p>ドメイン管理側のサービスで指示通りの CNAMEレコード を設定します。これで DNS権威サーバ の設定が書き変わります。</p> <h2 id="DNSキャッシュサーバ への設定反映を確認"><a href="#DNS%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%82%B5%E3%83%BC%E3%83%90+%E3%81%B8%E3%81%AE%E8%A8%AD%E5%AE%9A%E5%8F%8D%E6%98%A0%E3%82%92%E7%A2%BA%E8%AA%8D">DNSキャッシュサーバ への設定反映を確認</a></h2> <p>これで30分くらい待ち、 DNSキャッシュサーバ 権威サーバの設定が反映されるのを確かめます。</p> <pre><code class="bash">> nslookup ## 略 > server 8.8.8.8 ## 略 > hogehoge.exmaple.jp サーバー: dns.google Address: 8.8.8.8 権限のない回答: 名前: hogehoge.exmaple.jp Address: 192.0.2.1 </code></pre> <p>まだですね……。</p> <pre><code class="bash">> hogehoge.exmaple.jp サーバー: dns.google Address: 8.8.8.8 権限のない回答: 名前: cname.vercel-dns.com Address: 76.76.21.21 Aliases: hogehoge.exmaple.jp </code></pre> <p>お、来ました。</p> <p><a href="https://crieit.now.sh/upload_images/c62ed7cbbbf12c4277c84f0a50ae0443612b6f654d637.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c62ed7cbbbf12c4277c84f0a50ae0443612b6f654d637.jpg?mw=700" alt="Vercel の設定画面もクリア" /></a></p> <p>Vercel の設定画面でもクリアになりました。</p> <p>これで指定したサブドメインにアクセスすると、確かにデフォルトの <code>vercel.app</code> と同じサイトにアクセスできることが確認できました。</p> <p>割り当て成功です。</p> <p>ちなみに、今回はドメイン管理側のサービスで <code>*.exmaple.jp IN A 192.0.2.1</code> という感じのサブドメインのワイルドカード指定の Aレコード が存在していたのでそれが邪魔しないか気がかりでしたが、大丈夫のようです。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://dev.classmethod.jp/articles/vercel-custom-domain-route53/">VercelでホスティングしているサイトにRoute53で取得したドメインをサブドメインとして設定する | DevelopersIO</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/takaken/items/530d19a549a730c15fcd">VercelのサイトにVercel以外のDNSで管理しているドメインのサブドメインを設定する - Qiita</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/BlackMagician/items/48923a766f101425a677">Next.jsアプリをVercelで公開して、独自ドメインに反映する - Qiita</a></li> </ul> arm-band tag:crieit.net,2005:PublicArticle/17148 2021-05-17T15:00:05+09:00 2021-05-17T15:00:05+09:00 https://crieit.net/posts/server-dns-name DNSサーバで、名前解決ができるように前方参照ゾーンとAレコードの作成を行ったのに、クライアントのPCでnslookupによる動作確認をしたが、名前解決できない場合 <h2 id="Windows 2012 R2 にインストールしたDNSサーバで、名前解決ができるように前方参照ゾーンとAレコードの作成を行ったのに、クライアントのPCでnslookupによる動作確認をしたが、名前解決できない場合。"><a href="#Windows+2012+R2+%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9FDNS%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7%E3%80%81%E5%90%8D%E5%89%8D%E8%A7%A3%E6%B1%BA%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E5%89%8D%E6%96%B9%E5%8F%82%E7%85%A7%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%A8A%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E4%BD%9C%E6%88%90%E3%82%92%E8%A1%8C%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%AB%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AEPC%E3%81%A7nslookup%E3%81%AB%E3%82%88%E3%82%8B%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D%E3%82%92%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E5%90%8D%E5%89%8D%E8%A7%A3%E6%B1%BA%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%82">Windows 2012 R2 にインストールしたDNSサーバで、名前解決ができるように前方参照ゾーンとAレコードの作成を行ったのに、クライアントのPCでnslookupによる動作確認をしたが、名前解決できない場合。</a></h2> <p>優先DNSサーバーのアドレスが設定されていない可能性があります。</p> <p>コマンドプロンプトで、</p> <pre><code>ipconfig /all </code></pre> <p>を行うと、DNSサーバのアドレスを確認できます。</p> <p>優先DNSサーバには、自身がDNSサーバなので、<strong>127.0.0.1</strong>というアドレスを設定しておきます。</p> <p>クライアントのPCでは、自分で構築を行ったDNSサーバを優先DNS<br /> DNSサーバに登録させます</p> <p>そのあと、nslookupコマンドでAレコードに設定したIPアドレスが返答されれば終了</p> skyms