私の会社では、構成スクリプトなどの多くがサーバー名のみを使用しています。たとえば、http://server
ではなくhttp://server.company.com
です。 GUIネットワーク接続ツールで検索ドメインを構成しました。 /etc/resolvconf/resolv.conf.d/head
でも設定しましたが、正しく機能していません。
奇妙なことは、nslookupやHostなどの特定のツールが正しいIPに解決することですが、ssh、ping、git、Webブラウザーなどの他のツールはそうではありません。 FQDNを使用すれば接続できます。 検索ドメインが正しく解決できない原因は何ですか?
以下に、いくつかのコマンドから関連する出力を見つけます。
Nslookup:
$ nslookup server
Server: 192.168.200.53
Address: 192.168.200.53#53
server.company.com canonical name = server001.company.com.
Name: server001.company.com
Address: 192.168.200.103
ホスト:
$ Host server
server.company.com is an alias for server001.company.com.
server001.company.com has address 192.168.200.103
Ping:
$ ping server
ping: unknown Host server
$ ping server.company.com
PING server001.company.com (192.168.200.103) 56(84) bytes of data.
64 bytes from server001.company.com (192.168.200.103): icmp_seq=1 ttl=64 time=4.61 ms
例としてpingを使用しますが、これは単純なためですが、使用する必要がある他のツールのほとんどはpingと同じ結果を示しています。
さらに設定ファイルや情報が必要な場合はお知らせください。
/ etc/hostsには、接続しようとしているサーバーに関連する情報がありません。
Resolvconfによって生成された/etc/resolv.confは次のとおりです。
# Add Company Nameservers and Domain
nameserver 192.168.200.53
nameserver 192.168.200.65
search company.com
nameserver 127.0.1.1
search company.com
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search hsd1.co.comcast.net
/ etc/network/interfaces:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Resolv.confファイルはめちゃくちゃです。たとえば、ファイルには最大1つのsearch
行が必要です。 resolvconf以外の何かがファイルに書き込んでいるようです。 Resolvconfは、常に次の形式でresolv.confファイルを書き込みます。
head
base + dynamic content
tail
ここで、head
、base
、およびtail
は、/ etc/resolvconf/resolv.conf.d /内のファイルです。ファイルhead
には通常、コメント# Dynamic resolv.conf(5) file... OVERWRITTEN
のみが含まれます。 search
行をファイルに追加したと言いますが、resolv.confファイルには前述のコメントの上に他のものが含まれています。
/etc/resolv.confはもはや/run/resolvconf/resolv.confへのシンボリックリンクではなく、および/または、 Ubuntuと互換性のない方法。
解決策:そのソフトウェアの使用を停止するか修正してから、Sudo dpkg-reconfigure resolvconf
を実行し、/ etc/resolv.confでシンボリックリンクを復元します。
試してみる
echo " dns-search company.com" >> /etc/network/interfaces
リブートが続きます(すべてのDNSキャッシュ、ブラウザー内、およびシステムをリセットする方法を知らない限り、ネットワークの再起動だけでは不十分です)。
私は、ping、ssh、そしておそらく他の人が/ etc/Hostファイルを使用していると確信しています。 192.168.1.100サーバーもサーバー名を定義してみてください。その後、ファイルを入手するか、ログアウトして再度ログインします。今度は、サーバーまたはssh user @ serverにpingを実行すると動作するはずです。 Webサーバーに関しては、DNSサーバーのIPアドレスにAレコードを追加する必要があります。その後、 http:// server を介してアクセスできるはずです。
編集
この設定の一部はSambaまたはwinsサーバーを使用しているか、何かを完全に誤解しましたか。