openwrt:FQDN以外のホスト名を解決するためにDNSサーバー設定を変更することはできません。

openwrt:FQDN以外のホスト名を解決するためにDNSサーバー設定を変更することはできません。

マイサーバー(バージョン10.03.1-RC6)にSSHで接続すると、openwrtDNSサーバーに問題があることが示されます。

root@OpenWrt:~# nslookup starkill
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost.

nslookup: can't resolve 'starkill': Name or service not known

しかし、

root@OpenWrt:~# nslookup starkill.skails.home
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost.

Name:      starkill.skails.home
Address 1: 192.168.112.138 starkill.skails.home

ご覧のとおり、openwrtのローカルDNSサーバー(dnsmasq)はFQDN以外のホスト名を解決できません。私のイントラネットドメインを接続すると問題は解決しますが、私には機能しません。

私のイントラネットでDNSサーバーが稼働しているので、少なくともopenwrtのdnsmasqが私のプライマリDNSサーバーに連絡するようにしたいと思います。

そのため、ネットワーク構成を継続的に確認しましたが、何が間違っているか見つからないかを判断できませんでした。それからファイル/etc/config/networkも確認しました。手動

ファイルは最初に次のようになります。

[...]
config 'interface' 'lan'
        option 'type' 'bridge'
        option 'ifname' 'eth0.0'
        option '_orig_ifname' 'eth0.0 wl0'
        option '_orig_bridge' 'true'
        option 'proto' 'static'
        option 'ipaddr' '192.168.112.253'
        option 'netmask' '255.255.255.0'
        option 'gateway' '192.168.112.112'
        option 'broadcast' '192.168.112.255'
        option 'stp' '1'
        list 'dns' '192.168.112.112'
[...]

ネットワーク構成によって挿入された「list dns」がありますが、私が期待していた一般的な「オプション」と同じではありません。だから私は努力しました

    option 'dns' '192.168.112.112'

また、すべての可能な方法で「dns-search」オプションを試しました。

   option 'dns-search' 'skails.home'
   list 'dns-search' 'skails.home.'

再起動ネットワークを使用するたびに/etc/init.d/network reload。 dns-search句を確認できないため、削除する必要があります。

上記の「lan」インターフェース項目を示したことがわかります。その理由は、WRT54Gのみがアクセスポイントとして使用されるためです。 WANインターフェイスを使用する代わりに、4つのLANイーサネットインターフェイス(残りのイントラネットに接続され、インターネットゲートウェイがある場所)の1つを使用し、デフォルトでマイデバイスのアンテナを使用してインバウンドネットワーキングとインターネットアクセスワイヤレスネットワークデバイスを提供します。

とにかく、/etc/config/networkを変更しようとしても期待した結果が出ておらず、まだFQDNではないホスト名を解決できません。

/etc/resolv.confさらに、明示的または直接ネームサーバーを提案するときは、次のことを解決することもできませんnslookup

root@OpenWrt:~# nslookup starkill 192.168.112.112
Server:    192.168.112.112
Address 1: 192.168.112.112 stargaze.skails.home

nslookup: can't resolve 'starkill': Name or service not known

この時点で私は迷子になった。私がここで何を見逃しているのでしょうか?

答え1

dnsmasqは現在私の障壁遮断器ではわずかに信頼できず、その結果

nslookup: can't resolve 'starkill': Name or service not known

名前は通常問題なく解析できますが、ここでも同様です。

まず試してみてください

killall -HUP dnsmasq

dnsmasq が実際に要求を正しく処理していることを確認するには、再起動することもできます。

第二に、dnsmasqにはFQDNを自動補完するオプションがあります。ここでは、次の設定(/etc/config/dhcp)を使用してこれを行います。

config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'
    option filterwin2k '1'
    list addnhosts '/var/adblock/block.hosts'

Expandhostsは/etc/hostsでのみ動作するため、ほとんどは設定には適用されませんが、ローカルとドメインが役に立つと思います。

私の/etc/config/network

option dns '192.168.200.1'

ネットワークリロードが実際にディレクティブを適用するには、クライアントがトリガーする必要があるdhcpリースを再バインドする方法でdnsmasqも再ロードするかどうかは今は不明です。

nslookupを使用してDNSサーバーに直接クエリするときに、DNSサーバーでtcpdumpingを試しましたか?リクエストが届きましたか?これは問題が実際にopenwrtボックスにあることを確認するための最初の指示です。

dnsmasqが一貫してサービス要求を実行する方法を見つけたら、教えてください。これにより状況が非常に不安定になります。

/etc/dnsmasq.confをまったく編集できるかどうかはわかりませんが、自由に使用できるオプションがたくさんあります。私はLinux Boxen全体で何度もdnsmasqを使いましたが、いつも私のニーズに合わせて設定できましたが、openwrtでは次のように少し違うようです。

以下の該当するセクションも確認してください(セカンダリDNS)。 http://wiki.openwrt.org/doc/howto/dhcp.dnsmasq#add_a_secondary_dns

答え2

下線付きのオプションが正しいです。

option dns_search 'my.local.domain'

関連情報