hostname, domainname設定のメモ(CentOS7)
ホスト名やドメイン名の設定はディストリビューションやバージョンによって推奨が異なっており、ややこしい。 設定ファイルの動作を確認したのでメモしておく。
TL; DR
- postfixにてexample.comのドメイン名からメールが送信されるように設定したい
- FQDNを/etc/hostnameに記載
- ドメイン名は/etc/hostnameのFQDNから自動取得される(NetworkManagerの再起動が必要)
- domainnameコマンドはNISドメイン名の関係であり、DNS的なドメイン名を確認するdnsdomainnameとは別物
環境
$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
$ cat /etc/postfix/main.cf myorigin = $mydomain 以下略
設定
- ホスト名:hoge
- ドメイン名:example.com
とする。
# echo hoge.example.com > /etc/hostname # systemctl restart NetworkManager
/etc/hostsに設定も入れた方がいいのかは不明。入れている記事が多いが、動作したので気にしないことにする。
ドメイン名を/etc/sysconfig/network-scripts/ifcfg-eth0や/etc/resolve.conf に記載する記事もあるが、古い作法のようである。
確認
$ hostname hoge.example.com $ hostname -f hoge.example.com $ dnsdomainname example.com $ cat /etc/resolv.conf # Generated by NetworkManager search example.com nameserver 192.0.2.1
失敗例
上記に加え、/etc/hostsに以下を設定
127.0.0.1 localhost localhost.localdomain hoge.example.com
結果
$ hostname hoge.example.com $ hostname -f localhost $ dnsdomainname example.com
127.0.0.1 hoge.example.com localhost
が正しいようである。
その他
ホスト名の設定前はメールの送信元が
user@localdomain.localdomain
となっていた。