• 締切済み

【初心者】linuxの名前解決について

nby1215tkdの回答

回答No.1

参照先のDNSサーバが、プライベートIP空間の逆引きを適切に処理するように設定できていないことが 根本的な原因だと思います。 正確に言うとちょっと違う部分もあるのですが、 簡単に言えば、参照先として設定しているDNSサーバの設定に問題があり 1.クライアントは、192.168.1.1をDNSサーバに問い合わせ 2.DNSサーバは、ゾーン持っていないので、ルートDNSサーバ、あるいは、fowarder指定先に   問い合わせに聞く 3.最終的にそんな情報は。どこにもないのでタイムアウト(時間が掛かる) 4.二回目からは、キャッシュされて、すぐ返すということはありません。 「情報がないことがキャッシュ」されては、情報が作られても 「情報がない」ことを返してしまうため、情報がないときであっても 二回目以降も問い合わせに行き、タイムアウトになります。 となっているためだと思います。不正アクセス対策的な意味もあります。 DNSサーバは自分が持っていない情報を上位に聞きにいきますので、プライベートIP 空間のゾーンを適切に設定していないと上のようなことが起きます。 例えば、DNSサーバがプライベート空間のゾーンをダミーとして意図的に持たせるなどの 考慮が必要です。 DNS管理が適切でなく、【プライベートIP空間だし、逆引きの登録はなしでいいや」などと 管理者が間違った設定をしてしまうと、DNSサーバは見つからないゾーンを上位に問い合わせ にいくため、かえって時間が掛かってしまうことになります。 根本的には、DNSサーバ側の問題なのですが、クライアント側としての回避方法としては、 DNSより、/etc/hostsのほうを優先させれる方法があります。その際、 /etc/nsswitch.conf の hosts: で優先順位を指定   files と dns の位置を確認してください。 /etc/host.confで「order hosts,bind」とする 等が必要になります。 ただし、これは、/etc/hosts に全ての通信の可能性があるIPを書いておく 必要があるため、一時的な回避策として、DNSサーバ側に対策を考えた方が 良いと思います。 例えば、ホスト自身をDNSキャッシュサーバに設定して、168.192.in-addr.arpa. 等のプライベート空間の逆引きゾーンを空のゾーン(SOAだけのゾーン)として持たせ、 それ以外は、本来のDNSサーバへforwardさせるようにDNSサーバを設定することで、 プライベートIP空間の結果は自身がすぐ返し、それ以外は、本来のDNSサーバに 問い合わせるようにできます。 OSプラットフォームによっては、あらかじめ、DNSサーバの設定に、この設定が されている、あるいは、簡単にゾーン生成できるスクリプトがついていることもあります。

HYSTER
質問者

補足

私の場合、特にDNS関連のインストール・設定は行っていないので、 とりあえず現在の状況を確認してみました。 # cat /etc/resolv.conf nameserver 127.0.0.1 #cat /etc/nsswitch.conf hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 #cat /etc/host.conf order hosts,bind multi on # ip route show 192.168.1.1 dev eth1 proto static scope link これはDNSよりhostsを優先する設定になっている、という事でしょうか? だとするとhostsで192.168.1.1が逆引き解決できれば良し。という事だと思うので #vim /etc/hosts 192.168.1.1 inetgw を追記して再度arp -aを実行してみました。 #arp -a inetgw (192.168.1.1) at <不完全> on eth1 この結果は、192.168.1.1を逆引きでinetgwだと認識できたが、「<不完全>」と表示される、という状況なのでしょうか? ちなみに、192.168.1.1が何者なのか解っていないのですが、恐らくポケットWi-Fiでは無いかと思っています。 そこで名前は何を付けてよいか解らないので、適当に「inetgw」としています。 尚、こんな記事(http://blog.livedoor.jp/techbiz/archives/503983.html)を見つけたので 試して見ましたがやはり状況は変わりませんでした。 linux超初心者なので、間違った事を書いているかもしれませんが、 ご指摘のほどよろしくお願いします。

関連するQ&A

  • DiCEがグローバルIPを自動検出できません?

    Ubuntu server 12.04TLSを使っています。DiCEのセットアップでIP自動検出をすると127.0.0.1を検出します。本来、グローバルIPを検出するはずなのですが、どうしてか困っております。 ちなみに、CentOS6.2ではDiCEのセットアップでIP自動検出をすると、正常にグローバルIPアドレスを検出します。 少し気になったことはApache2をreload すると「apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName」という、エラー表示が出ます。ウエブサーバとしては正常に機能しています。 このエラーに関して調べたところ、原因はetc/hostsが関連しているとの情報がありました。hostsの内容は以下の通りです。 127.0.0.1 localhost 127.0.1.1 hogehoge # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters このhostsを以下の通り、変更しました。 127.0.0.1 localhost 127.0.1.1 hogehoge.dip.jp # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters その後で、apache2をreloadすると、下記エラー表示に変わりました。 * Reloading web server config apache2 apache2: apr_sockaddr_info_get() failed for hogehoge apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 一応、interfaces の設定は以下の通りです。 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.3 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.3 よろしくお願いします。

  • 接続リンクが不安定

    インターネット  | サーバA  | サーバB  | 内部セグメント サーバAとサーバBのリンクが偶に不安定になります。 リンクが不安定になった時にarpでServerBで実行すると、incompleteになっています。 [root@ServerB ~]# arp Address HWtype HWaddress Flags Mask Iface 192.168.15.254 (incomplete) eth0 ←ServerAとの接続ポート 172.16.1.11 ether bc:ce:c5:74:2f:ff C eth2 サーバAを再起動すると、復旧することがあります。再起動後、SeverBでarpを再度実行すると 結果が返ってきます。 [root@ServerB ~]# arp Address HWtype HWaddress Flags Mask Iface 192.168.15.254 ether 01:1b:23:90:f2:bc C eth0 ←ServerAとの接続ポート 172.16.1.11 ether bc:ce:c5:74:2f:ff C eth2 質問 サーバA、サーバBは、CentOS6.3を使用しており、FW機器として使用しております。 サーバA、サーバBのどちらに原因があるのか調べたいのですが、 /var/log/messages以外にヒントはないでしょうか? ご教示お願いします。

  • linuxについて

    linuxを使って外部サイトへpingを実行して返事が帰ってこないのですが 原因はなんでしょうか? eth0ネットワーク設定は下記の通りです [root@centos ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" HWADDR="xx:xx:xx:xx:xx:xx" TYPE=Ethernet NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO=static IPADDR=192.168.1.30 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1 実はこの時、ONBOOTから下は参考サイトをただコピーしただけです 本来ここには自分のIPアドレス等を入れるべきなのでしょうか? また、そうだとしたらどうやってIPアドレス等を調べたらいいですか?

  • ネットワーク疎通不具合 oui Unknown

    ネットワーク疎通不具合 oui Unknown CentOS:5.4 server1:eth0 192.168.0.1       eth1 10.10.10.1 server2:eth0 192.168.0.2       eth1 10.10.10.2 上記環境で、server2から192.168.0.0のネットワークへの通信が行えない状態です。 ifconfig ethtoolで確認しても問題は無いようです。 server2より、ping 192.168.0.1 として両サーバーでtcpdumpで確認すると server1側では arp who-has server2 tell server1 と表示され server2側では IP server2 > server1: ICMP echo request, .... と表示されるのですが 何行かに1回、arp reply server1 is-at xx:xx:xx:xx:xx:xx (oui Unknown)と表示されます。 このxx:xx:xx:xx:xx:xxは、server1のeth1のMACアドレスです。 なぜこのような現象は発生するのかや 解決方法をご存知の方、コメントいただけますでしょうか。 よろしくお願いします

  • アドレス サブネットマスク デフォルトゲートウェイアドレスがわからない。

    よく、本で、アドレスなどが、192.168.1.xx とか192.168.0.xxとかかかれています。 しかし、ifconfigでしらべたところ、 [root@yuyu ~]# ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:221.104.16.79 Bcast:221.104.19.255 Mask:255.255.252.0 inet6 addr: fe80::200:e2ff:fe78:e84e/64 Scope:Link [root@yuyu ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 221.104.16.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 221.104.19.254 0.0.0.0 UG 0 0 0 eth0 このように、192.168ではじまらないのです。すごく不審です。 わたしは、今自動でIPを割り当てられるようになっています。 固定のIPアドレスを設定したいので、ルーターのIPアドレスを知りたいのですが、上記のものがIPアドレスであってるんでしょうか? 勉強不足ですが、どなたかなにか知ってることがあれば教えて下さい。

  • FTPサーバーにつながりません

     ftpがつながらなくて困っています。 サーバーOS:CentOS55 FTPデーモン:vsftpd クライアントOS:Windows7 64bit FTPクライアント:ffftp、コマンドラインftp  以下がサーバー側のtcpdumpの出力です。 > listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes > 16:07:04.889394 arp reply ftpserver1 is-at xx:xx:xx:xx:xx:xx (oui Unknown) > 16:07:08.062745 IP ftpserver1 > client1: ICMP host ftpserver1 unreachable - admin prohibited, length 60 > 16:07:11.062984 IP ftpserver1 > client1: ICMP host ftpserver1 unreachable - admin prohibited, length 60 > 16:07:13.936708 arp who-has client1 tell ftpserver1 > 16:07:17.063159 IP ftpserver1 > client1: ICMP host ftpserver1 unreachable - admin prohibited, length 56 > 16:08:01.045901 IP ftpserver1.ssh > client1.57231: . ack 621500864 win 65 > 16:08:05.888126 arp reply ftpserver1 is-at xx:xx:xx:xx:xx:xx (oui Unknown) (xx:xx:xx:xx:xx:xxとなっているのは、FTPサーバーのMACアドレスです)  この「ICMP host ftpserver1 unreachable - admin prohibited」というのが怪しいというところまでは解りますが、どこがどうマズいのかがわかりません。どうしたらいいでしょうか? 以下補足です。 ・パッシブ、アクティブ、ともにつながりません。 ・お互いpingは通ります。 ・クライアントのWindowsファイアウォールはoffにして試しています。 ・sshはつながりますので、ネットワーク全般の問題ではないようです ・サーバー上のFTPクライアントから自分自身にはつながるので、デーモンが死んでいるということはないようです。 ・関係あるかどうかわかりませんが、実際にはサーバーはVmWare Player上で動作しています。接続はホストオンリー接続です。 よろしくお願いいたします。

  • CentOSのルーター化について

    ADSLモデム --->ブロードバンドルーター(192.168.1.1)の構成で各クライアントPCがWAN側に出れる状態です。 現在CentOS6.5の入ったサーバー(192.168.1.10)をブロードバンドに接続しています。WAN側にも問題なく出れる状態です。サーバーにNICを1枚追加しました。元々使用していたNICはeth0(192.168.1.10)で追加のNICはeth1(192.168.2.1)です。詳細は以下のとおりです。 eth0の設定 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255 HWADDR=xx:xx:xx:xx:xx:xx IPADDR=192.168.1.10 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes GATEWAY=192.168.1.1 DNS1=192.168.1.1 eth1の設定 DEVICE=eth1 BOOTPROTO=static BROADCAST=192.168.2.255 HWADDR=xx:xx:xx:xx:xx:xx IPADDR=192.168.2.1 NETMASK=255.255.255.0 NETWORK=192.168.2.0 ONBOOT=yes /etc/sysconfig/network の設定 NETWORKING=yes HOSTNAME=localhost.localdomain FORWARD_IPV4=yes GATEWAY=192.168.1.1 sysctl -w net.ipv4.ip_forward=1 というコマンドを実行 /etc/sysctl.conf 内の下記内容変更 net.ipv4.ip_forward = 1 ※0から1に変更 /etc/rc.d/init.d/network restart を実行。追加したNIC(eth1)に直接、クライアントPCを固定IP(192.168.2.2 MASK 255.255.255.0 Gateway 192.168.2.1 DNS 192.168.2.1)に設定しました。 クライアントPCから追加したNIC(192.168.2.1)及び元々あるNIC(192.168.1.10)にpingは通ります。しかし、クライアントPCから192.168.1.1(ルーター)にpingが通りません。又、サーバーからクライアントPC(192.168.2.2)にpingが通りません。 192.168.2.0のネットワークからWAN側に出れるようにしたいのですが、何が足りないのでしょうか。サーバーのiptables及びselinuxは停止してあります。 routeコマンドの結果です。 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.1 * 255.255.255.255 U 0 0 0 eth1 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.255.0 U 1002 0 0 eth1 link-local * 255.255.255.0 U 1003 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 よろしくお願いします。

  • 特定文字+αまで照会・重複を避けた個数のカウントについて

    以下のようなリストがあり、「-」から右に2文字までの数字、 (左から数えていって、-xxまで。)を抽出して、重複がないような ファイルを作り、その数をカウントしたいと考えています。 ネットワーク機器の数を数えたいのですが、数字以降のインタフェース 情報は、機器の台数に不要なため、無視したいのです。 ファイル名:hosts SAPPOROrouter-01Ether1/1 SENDAIrouter-01FastEther2/1 SENDAIrouter-01FastEther2/2 SENDAIrouter-01LoopBack SAPPOROrouter-01ether2/1 TOKYOrouter-03LoopBack TOKYOswitch-01GigaEther1/0 SENDAIswitch-01FastEther2/1 ・・・ 上の例で行くと、 router SAPPOROrouter-01 SENDAIrouter-01 TOKYOrouter-03 switch TOKYOswitch-01 SENDAIswitch-01 なので、 router・・・3台 switch・・・2台 というのが望む出力です。 数字は必ず2桁で、機器名称には必ず「-」がはいるので、それを利用できたらと 考えております。 なにか良い方法、ありませんでしょうか。

    • ベストアンサー
    • Perl
  • vmwareから、ホストマシンのIPへのpingがunreachbleに・・・

    自宅PCでvmwareにLINUXを入れ、ネットワークがつながらず、延々となやんでいます。どなたか、ご指導いただけないでしょうか>< 症状はvmwareから、hostのIPへのpingがunreachbleに・・・ 環境は下記です。 ★HOST WINXPの設定 サービス「VMwareDHCPServer」無効 C:>ipconfig Ethernet adapter ワイヤレス ネットワーク接続: Connection-specific DNS Suffix . : IP Address :192.168.0.4 Subnet Mask:255.255.255.0 Default Gateway:192.168.0.1 Ethernet adapter VMware Network Adapter VMnet8: Connection-specific DNS Suffix . : IP Address:192.168.1.253 Subnet Mask:255.255.255.0 Default Gateway : ★VMware workstation 5.0 仮想ネットワークエディタ  VMnet8のサブネット   IP:192.168.1.0   サブネット:255.255.255.0  VMnet8のNAT   GATEWAY:192.168.1.254  DHCP   すべて削除   ★Miracle linuxの設定(Asanux 2.0 kernel2.6 x86)  評価版 #ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255:255:255:0 inet6 addr: xxxx::xxx:xxxx:xxxx:5512/64 Scope:Link ............... /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 /etc/sysconfig/network NETWORKING=yes HOSTNAME=console.jp.oracle.com GATEWAY=192.168.1.254 /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.100 console.jp.oracle.com console /etc/resolv.conf nameserver 192.168.1.1

  • ネット詐欺(ファーミング)の可能性がありますという

    PCを立あげるとこのような表示が出るようになりました。 「hostsファイルは変更されました。 URL情報(hostsファイル)は変更されました。 ネット詐欺(ファーミング)の可能性があります。 許可かブロックのどちらかを選べといわれ、許可を選択していますが、ずっとでるので でなくなる方法を教えてください。 Windows VISTA servicepack2 32bit で、ウィルスセキュリティーゼロを使っています。 hostの中は # Copyright (c) 1993-2006 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost ::1 localhost 127.0.0.1 an.cmertv.com 0.0.0.1 mssplus.mcafee.com このような表示です。 よろしくお願いします。 あまり詳しくないのでわかりやすくご教示いただければと思います。