RHEL6.4 vmにApacheサーバーをセットアップしようとしていますが、dnsmasq
が何らかの理由でホスト名を認識できないため、セットアップできません。
nslookup rhel64.example.com
Server: xxx.xxx.xx.1
Address: xxx.xxx.xx.1#53
server can't find rhel64.exmple.com: NXDOMAIN
/etc/hosts
:
xxx.x.x.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/resolv.conf
:
; generated by /sbin/dhclient-script
search novalocal example.com
nameserver xxx.xxx.xx.1
私の問題を解決するために見なければならないことがあれば、私に知らせてください。別のDNSサーバーを使用できません。
DNSサーバーを変更せずにdnsmasq
でホスト名を解決する方法を探しています。
サーバーのIPアドレスは修正されると思います。 /etc/hosts
には
127.0.0.1 localhost
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.x.x.1 rhel64.example.com rhel64
localhost
は、127.0.0.1または:: 1以外のアドレスを指すことはできません。必要に応じて、固定アドレスのホストを/etc/hosts
に追加します。
動的アドレスの場合、/etc/dnsmasq.conf
に正しいドメインが設定されていることを確認し、リクエストでホスト名が送信されていることを確認してください。 dnsmasq.leases
ディレクトリにある/var/lib
ファイルを確認して確認してください。ドメインはこのように指定する必要があります。
domain=example.com
または、dnsmasq.conf
ファイルまたは/etc/ethers
で固定アドレスを指定できます。このような行は、MACアドレスaa.bb.cc.dd.ee.ff
を192.0.2.1
にマッピングします。上記のように、DNS名は/etc/hosts
で指定されます。
aa.bb.cc.dd.ee.ff 192.0.2.1
編集:私が使用する診断はincludeです。
ホストでgetentを実行し、dnsmasqを実行します。
getent hosts rhel64
これにより、hostsファイルに入力した値、またはDNSによって返された値が返されます。それが機能する場合は、Host
コマンドを使用してアドレスを検索してください。ホストが利用できない場合は、nslookup
を使用します。これらのコマンドを試してください。 (dnsmasq
サーバーとApache
サーバーが同じホスト上にあるようです。
hosts rhel64.
hosts rhel64.example.com.
hosts rhel64. localhost
hosts rhel64.example.com. localhost
hosts rhel64. rhel64.
hosts rhel64.example.com. rhel64.
hosts rhel64. rhel64.example.com.
hosts rhel64.example.com. rhel64.example.com.
どのコマンドが失敗し、どのように失敗するかが問題の判別に役立つはずです。また、dnsmasqがすべてのIPアドレスをリッスンしていることを確認することもできます。
問題を診断する場合:rhel64.
のリクエストはドメインで修飾されていないホスト名に対するものであり、rhel64.example.com.
に対するリクエストは完全修飾名に対するものです。名前の最後のドットは、リゾルバーに検索リストのドメインを試行しないように指示します。 2番目のホスト名が指定されている場合、/etc/resolv.conf
にリストされているネームサーバーをオーバーライドします。この場合、/etc/resolv.conf
のサーバー、ローカルホストアドレス(127.0.0.1または:: 1)、DNSから検索されたホスト名のアドレス、および検索された完全修飾名のアドレスを使用しました名前からサーバー。名前の最初の検索が失敗した場合、最後の2つのサーバーは機能しません。
netstat -an | grep :53
編集:あなたの投稿をもう一度読んで、DHCPからあなたのアドレスを取得していることに気づきました、固定IPアドレスを設定することに関するメモはUnixスタイルのDHCPサーバーに適用されます。これらは、おそらくxxx.x.x.1のルーターであるdchp-serverに適用する必要があります。これはサーバーのアドレスではありません。コマンドifconfig
または新しいコマンドip addr
を使用して、現在のIPアドレスを取得できるはずです。これは、/ etc/hostsファイルのホスト名と一致する必要があるアドレスです。
ルーターにアクセスできない場合は、DHCPを取得してDNSサービスを更新することができます。 DHCP構成ファイルに次のエントリを追加します。option fqdn.fqdn rhel64.example.com;またはオプションfqdn.fqdn rhel64;
エントリを追加したら、dhclient
プロセスを再起動する必要があります。コマンドを試してください
Sudo dhclient -r
Sudo dhclient
それ以外の場合は、インターフェースまたはネットワーク設定全体を再起動する必要があります。