CentOS 7 호스트 이름은 변경되지 않습니다.

CentOS 7 호스트 이름은 변경되지 않습니다.

virtualbox에서 두 개의 CentOS 7 가상 머신을 실행하고 있습니다. 각 컴퓨터에 호스트 이름과 고정 IP 주소를 설정하고 싶습니다. VM1이 잘 작동하고 있습니다. VM2는 그렇지 않습니다. 두 서버 모두에서 동일한 작업을 수행했는데 왜 VM2에 문제가 있는지 잘 모르겠습니다. localhost.localdomain으로 표시되는데 올바른 새 호스트 이름을 읽을 수 없습니다. 내가 한 일은 다음과 같습니다.

/etc/sysconfic/network 파일을 다음과 같이 수정합니다:

NETWORKING=yes
HOSTNAME=newhost.newdomain

/etc/resolv.conf 파일을 다음과 같이 수정합니다.

nameserver 8.8.8.8

/etc/sysconfig/network-scripts/ifcfg-enp0s3 파일을 다음과 같이 수정합니다.

HWADDR=#
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=enp0s3
UUID=#
ONBOOT=yes
IPADDR=192.168.10.1
NETMASK=255.255.255.0
NM_CONTROLLER=no
GATEWAY=192.168.10.100

인터페이스가 제대로 작동하고 IP가 지정된 대로 할당되었습니다. 작동하지 않는 유일한 것은 호스트 이름입니다. "hostname {newname}" 명령을 사용하여 일시적으로 변경할 수 있지만 재부팅 시 복구되므로 이는 임시 수정일 뿐입니다. 이들 모두는 VM1과 동일하며(할당된 IP 주소 제외) VM1은 정상적으로 작동합니다. 나는 이름 확인에 대해 걱정하지 않기 때문에 지금은 호스트 파일에 관심이 없습니다. 단지 호스트 이름만 걱정할 뿐입니다.

어떤 아이디어나 제안이 있나요?

답변1

호스트 이름 설정:

hostnamectl set-hostname host.domain

답변2

호스트 이름을 다음으로 설정해 보세요./etc/hostname

내 CentOS 7 시스템의 호스트 이름 매뉴얼 페이지에서:

호스트 이름은 일반적으로 시스템 시작 시 한 번 설정됩니다(대개 /etc/hostname과 같이 호스트 이름이 포함된 파일의 내용을 읽어서).

답변3

좋아요, 그래서 작동하게 하는 방법을 찾았습니다. 비록 실제로 문제를 해결하기 위해 무슨 일이 일어났는지는 모르겠지만요. 내가 한 일은 "hostnamectl {newname}"을 실행한 것입니다. 이렇게 하면 호스트 이름이 새 값으로 설정되고 재부팅할 수 있으며 설정이 유지됩니다. 이로 인해 무엇이 변경되었는지 궁금해서 앞서 나열한 3개의 구성 파일을 다시 살펴보았는데, 변경된 것은 "resolv.conf" 파일뿐이었습니다. 내 네임서버 값이 제거되고 "{localdomain} 검색"이라는 새 줄이 추가되었습니다.

호기심에 새 줄을 제거하고 네임서버 값을 다시 넣고 재부팅하기로 결정했습니다. 다시 시작한 후에도 모든 것이 여전히 괜찮아 보입니다. 그래서 이 명령으로 문제가 해결된 것 같지만, 실제로 해결하기 위해 어떤 일을 했는지는 알 수 없습니다.

이 시점에서는 VM을 지우고 처음부터 다시 시작하여 문제를 다시 재현할 수 있는지 확인하고 ChrisV가 언급한 호스트 이름 파일을 살펴보겠습니다. 어쩌면 상황이 바뀌었을 수도 있습니다. 하지만 이로 인해 여전히 큰 질문이 남습니다. 왜 VM1은 제대로 작동하고 VM2는 실패하며 정확히 동시에 동일한 방식으로 설정되었는지(더 정확하게 만드는 유일한 방법은 VM1을 복제하는 것입니다)입니다. 아마도 몇 번 지우고 다시 설치한 후에 문제의 원인을 나타내는 무언가를 발견하게 될 것입니다.

관련 정보