私のサーバーはCentOS 7.1です。再起動後、ホスト名は一時的なホスト名(mail
)で上書きされ、それを回避する方法が見つかりません。多分AutoDNSとMXレコードmail
が原因ですか?
/etc/hostname
には正しい値が含まれていますhostnamectl --transient set-hostname my.desired.name
は機能していますが、次の再起動までのみですしたがって、再起動後:
hostnamectl status
は正しい静的ホスト名を示していますが、一時的なホスト名(mail
)が間違っています。hostname -s
またはhostname -f
は、誤ったホスト名を示します。ファイル/etc/sysconfig/network
は「anacondaによって」上書きされ、HOSTNAME="mail"
という行があります。このファイルを編集して正しい名前を設定しようとしましたが、再起動後に上書きされます。
再起動後に一時的なホスト名がmail
に設定されないようにするにはどうすればよいですか?
編集:
すでにDHCP_HOSTNAME="my.desired.name"
を/ etc/sysconfig/network-scripts/ifcfg-e .....に追加しようとしましたが、成功しませんでした(行は再起動後に削除されました)。
そして、再起動時にhostnamectl set-hostname "" --transient
(一時的なものを静的ホスト名の値に設定します)の実行を追加しようとしましたが、アクティブ化された/etc/rc.localおよびchkconfigを使用したサービスとして失敗しましたon(#chkconfig:-11 91を使用して、他のすべてのサービスの後に実行されるようにします)。
さらなる提案は大歓迎です。
ついにできた。
ホスティングプロバイダー(ホストヨーロッパ)には、各サーバー(仮想ルートサーバー)のコントロールパネルにオプションがあります。 「ホスト名/ RDNS」ページには、「ホスト名:」という入力フィールドがあります。正しい値に変更しましたが、期待どおりに動作します。
一時的なホスト名は、起動時に静的なホスト名に初期化されますが、DHCPまたはmDNSによって変更できます。
DHCPを使用している場合は、ネットワークデバイスの構成で間違ったホスト名が設定されていないことを確認する必要があります。 ip addr show
を実行して、使用しているネットワークデバイスを確認します。次に、適切な構成スクリプトを編集します。例えば。ネットワークインターフェイスがeth0
の場合は、構成ファイル/etc/sysconfig/network-scripts/ifcfg-eth0
を編集する必要があります。
ifcfgファイルを使用したネットワークインターフェイスの構成 に関するRed Hatのドキュメントから、次のオプションがあります。
別のホスト名をDHCPサーバーに送信するようにインターフェースを構成します。
DHCP_HOSTNAME=hostname
このスクリプトでホスト名mail
がシステムに設定されていないことを確認してください。
それが問題でない場合は、ローカルDHCPサーバーがホスト名をmail
として設定するように構成されていないことを確認する必要があります。ローカルエリアネットワークのDNS/DHCPでホストをmail
として設定しているネットワーク管理者がいる場合は、それらに相談する必要があります。ベストプラクティスは、役割に基づいていない名前でホストを構成してから、関連するサーバーのエイリアスとしてDNS CNAMESを構成することです。
DHCPが問題の原因であり、上記の提案が役に立たない場合、他のオプションは、静的IPアドレスを使用するようにネットワークインターフェイスを構成することです。
久しぶりのことですが、なぜそれが起こるのかについての答えを探している人のために:一部のプロバイダー(ISP、会社のVPNなど)は、DHCPを介してIPを要求するたびに、「一時的なホスト名」をホストに送り返します。マシンの構成に応じて、現在のマシンのホスト名として設定されます
私の問題(および私がここにたどり着いた方法)は、ホスト名をデフォルトのlocalhost
として、hostnamectl
のマニュアルページに従って設定したことです。
このツールは3つの異なるホスト名を区別します。すべての種類の特殊文字を含む可能性のある高レベルの「きれいな」ホスト名(「Lennart's Laptop」など)、ブート時にカーネルのホスト名を初期化するために使用される静的ホスト名(たとえば「lennarts-laptop」 ")、およびネットワーク構成から受信したデフォルトの一時的なホスト名。静的ホスト名が設定されていて、それが有効な場合(localhost以外)、一時的なホスト名は使用されません。
したがって、解決策はホスト名がとして設定されないようにすることですlocalhost
別の解決策 は、_/etc/dhcp/dhclient.conf
_(および_Host-name
_)をrequest
プロパティから削除して、ホスト名を要求しないように_domain-name
_のdhcp構成を作成することです
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
$ vi /etc/sysconfig/network
HOSTNAME="hostname<FQDN>"
DHCP_HOSTNAME="hostname<FQDN>"
$ vi /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
hostnamectl --transient set-hostname "hostname"
#exit vi <:wq>
$ chmod +x /etc/rc.d/rc.local <This will make the file unchanged even after reboot>
$ Reboot
*You are ready to go the Cpanel installation for CentOS7 :)*