
ドメイン 'example.net' のメールを処理するために、ホスト名 'letters' の Postfix メール サーバーを設定しています。nis を使用して letters のドメイン名を example.net に設定しようとしましたが、hostname -f ('letters.stuff.comcast.net') と domainname ('example.net') の出力が一致しません。hostname -f コマンドで 'example.net' がレポートされるようにドメイン名を設定するにはどうすればよいでしょうか。Postfix が適切に機能するために、これはどの程度重要ですか。
ホスト letters は Ubuntu を実行しており、OpenWrt ルーターを介して Comcast のケーブル モデムでインターネットに接続します。ドメイン example.net のネーム サーバーはリモートの Debian コンピューター上にあり、letters のホストまたはエイリアスを作成するようにはまだ構成されていません。
ホスト名出力のドメイン名は、ボックスの DHCP クライアントによって comcast サーバーから取得されたドメイン名を反映し、ボックスがそのネットワーク上のクライアントであるという考えを反映していると思います。解決策は、example.net のネーム サーバーに 'letters' ホストを作成することですか? さらに、letters の resolv.conf ファイルにリストされているネーム サーバーにそのネーム サーバーを追加する必要がありますか?
答え1
/etc/hosts
自分の(または NIS の)エントリが正しいことを確認してください。
説明しようとしましたが、man ページのほうがわかりやすく説明されています。
THE FQDN
You can't change the FQDN (as returned by hostname --fqdn) or the DNS
domain name (as returned by dnsdomainname) with this command. The FQDN
of the system is the name that the resolver(3) returns for the host
name.
[..]
Therefore it depends on the configuration (usually in /etc/host.conf)
how you can change it. Usually (if the hosts file is parsed before DNS
or NIS) you can change it in /etc/hosts.
答え2
昨日、誰かが始めたサーバーの更新作業中にこの問題に遭遇しました... hostname -f 出力に正しい終了ドメインがありませんでした (.org がありません)。
# hostname foobar.example.org
# hostname -f
foobar.example
#
# cat /etc/hosts
10.20.11.244 foobar.example foobar
ソリューション:
hostname -f のドメイン部分は、そのホストの /etc/hosts エントリから取得されたようです。/etc/hosts でホスト名を修正した後、hostname -f は正しいドメインを返すようになりました。
# hostname foobar
# hostname
foobar
# hostname -f
foobar.example.org
人によって違います。
答え3
IP が静的でない場合は、この方法は/etc/hosts
機能しません (または、新しい IP を取得するまで一時的にしか機能しません)。これが機能するかどうかはわかりませんが、試してみる方法は次のとおりです。
- DHCP サーバーからドメイン名を要求しないように DHCP クライアントを設定します。または、resolv.conf にまったく触れないように指示します。カスタム ネーム サーバーがある場合は、既に実行されている可能性があります。
- ドメイン名をexample.netに設定する
/etc/resolv.conf
- ネームサーバーが解決できることを確認してください
letters.example.net
。このソリューションは非静的 IP 用であるため、何らかの動的 DNS サービスを使用する必要があると思います。
つまり、あなたの質問に対する私の答えは単に「はい」であるということです。
答え4
これは、「ドメイン名」に関してよく誤解される問題です。以下は私の Mac OS X システムのマニュアル ページの先頭ですが、皆さんのシステムでも似たような内容になるはずです。
DOMAINNAME(1) BSD General Commands Manual DOMAINNAME(1)
NAME
domainname -- set or print the name of the current NIS domain
このコマンドは DNS 構成には使用されません。