この日記は https://yapud.hatenablog.com/ に引っ越し中
2015-06-05
_ [Software] Windows2008/2012 で自身のホスト名で名前解決したときに出てくるIPアドレス
Windows2008/2012 などで自身のホスト名で名前解決したとき、hostsファイルの優先順位が結構低い。
自身のホスト名が server1 だとしよう。ローカルのコマンドプロンプトから ping を打ってみると。
ping server1
server1 [::1]に ping を送信しています 32 バイトのデータ:
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
まずはネットワークアダプタのプロパティ画面で IPv6 を外していてもなぜか IPv6 の機能は生きていて、そのせいで “::1” と返してくる。IPv6 を無効に設定しておくと、次はようやく IPv4 のNICに割り振られたIPアドレスで返事をしてくれる。
しかしここで困ったことになる場合がある。複数のNICを付けている場合、希望のNICのIP アドレスで応答してくれないことがある。hostsファイルに書いておいても無視される。
たとえばホスト名 server1 で、NIC1 に 192.168.0.11 を設定し、NIC2 に 192.168.1.22 を設定したとしよう。
Hosts ファイルには 192.168.0.11 server1 と書いておいたとしよう。
この状態でローカルのコマンドプロンプトから ping server1 したとき、 192.168.1.22 と帰ってきてしまう場合がある。いやいやそっちのNICの優先順位は(俺の気持ちとしては)低いからさ。なんて思っても機械には通じない。機械には明確に指示を出さないとイカンのだ。
IPv4の設定画面内、メトリック値が自動割り振りとなっているのだけど、ここを自動ではなく手動で割り振り、優先的に応答して欲しいNICの方を小さい値にしておけば良い。メトリック値が小さい方が応答することになる。
Windows2000 や 2003 では、hosts に書いておいたのがサクッと採用されたものだけど、2008以降はそう簡単にはいかないよと。
前 | 2015年 6月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |