내 서버는 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
"by anaconda"로 덮어쓰기되었으며 HOSTNAME="mail"
올바른 이름을 구성하기 위해 이 파일을 편집하려고 시도했지만 재부팅 후에 덮어쓰여졌습니다.
재부팅 후 임시 호스트 이름이 설정되지 않도록 하는 방법은 무엇입니까 mail
?
편집: /etc/sysconfig/network-scripts/ifcfg-e.....에
추가하려고 시도했지만 DHCP_HOSTNAME="my.desired.name"
성공하지 못했습니다(재부팅 후 줄이 제거되었습니다). 재부팅 시 실행 추가를
시도했지만 hostnamectl set-hostname "" --transient
(이렇게 하면 임시 호스트 이름이 정적 호스트 이름 값으로 설정됨) /etc/rc.local을 활성화할 때와 chkconfig 지원 서비스(# chkconfig: - 11 91 사용)를 활성화할 때 실패했습니다. 다른 모든 서비스 다음에 실행되어야 합니다).
추가 제안을 환영합니다.
답변1
임시 호스트 이름은 시작 시 정적 호스트 이름으로 초기화되지만 DHCP 또는 mDNS를 통해 변경할 수 있습니다.
동적 호스트 구성 프로토콜
DHCP를 사용하는 경우 네트워크 장치 구성에 잘못된 호스트 이름이 설정되어 있는지 확인해야 합니다. 실행하여 ip addr show
현재 사용 중인 네트워크 장치를 확인하세요. 그런 다음 적절한 구성 스크립트를 편집하십시오. 예를 들어, 네트워크 인터페이스가 인 경우 eth0
해당 구성 파일을 편집해야 합니다 /etc/sysconfig/network-scripts/ifcfg-eth0
.
Red Hat 문서에서ifcfg 파일을 사용하여 네트워크 인터페이스 구성, 옵션이 있습니다
DHCP 서버에 다른 호스트 이름을 보내도록 인터페이스를 구성합니다.
DHCP_HOSTNAME=hostname
mail
시스템에 이 스크립트에 구성된 호스트 이름이 없는지 확인하십시오 .
이것이 문제가 아닌 경우 로컬 DHCP 서버가 호스트 이름을 로 설정하도록 구성되어 있지 않은지 확인해야 합니다 mail
. mail
LAN에서 DNS/DHCP 에 대해 호스트를 구성한 네트워크 관리자가 있는 경우 해당 관리자에게 문의해야 합니다. 모범 사례는 역할 기반이 아닌 이름으로 호스트를 구성한 다음 DNS CNAMES를 관련 서버의 별칭으로 구성하는 것입니다.
DHCP가 문제의 원인이고 위의 제안 사항이 도움이 되지 않는 경우, 또 다른 옵션은 고정 IP 주소를 사용하도록 네트워크 인터페이스를 구성하는 것입니다.
답변2
나는 이것이 오래 전 일이라는 것을 알고 있지만 왜 이런 일이 발생하는지에 대한 답을 찾는 사람을 위해: 일부 공급자(ISP, 회사 VPN 등)는 호스트로 다시 보내고 컴퓨터를 기반으로 현재 컴퓨터의 호스트 이름으로 설정합니다. 구성
내 문제(그리고 내가 여기까지 온 이유)는 매뉴얼 페이지 localhost
에 따라 호스트 이름을 기본값으로 설정했다는 것입니다.hostnamectl
이 도구는 다양한 특수 문자를 포함할 수 있는 상위 수준의 "예쁜" 호스트 이름(예: "Lennart's Laptop")과 부팅 시 커널 호스트 이름을 초기화하는 데 사용되는 정적 호스트 이름(예: "lennarts-laptop")이라는 세 가지 호스트 이름을 구별합니다. ) 및 네트워크 구성에서 기본적으로 수신된 임시 호스트 이름입니다. 정적 호스트 이름이 설정되고 유효한 경우(localhost 제외) 임시 호스트 이름은 사용되지 않습니다.
그래서 한 가지 해결책은호스트 이름을 다음으로 설정하지 마십시오. localhost
또 다른 솔루션/etc/dhcp/dhclient.conf
속성에서 제거하여(아마도) DHCP 구성이 호스트 이름을 요청하지 않도록 만드는 것입니다.host-name
domain-name
request
답변3
마침내 나는 그것을 얻었다.
당사 호스팅 제공업체(Host Europe)는 각 서버(가상 루트 서버)에 대해 제어판에서 옵션을 제공합니다. "호스트 이름/RDNS" 페이지에는 "호스트 이름:" 입력 필드가 있습니다. 올바른 값으로 변경했는데 이제 예상대로 작동합니다.
답변4
$ 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 :)*