나는 최근에 일부 sysadmin 작업을 수행하도록 “강제”되었습니다. 그러나 이것은 제가 읽고, 실험하고, 많이 배우고있는 것이 절대적으로 좋아하는 것이 아닙니다.
서버 구성에는 기본적으로 호스트 이름 을 파악할 수 없었습니다 .
예를 들어 우분투에서는 Linode Library 에 따라 호스트 이름을 다음과 같이 설정해야합니다 .
echo "plato" > /etc/hostname
hostname -F /etc/hostname
파일 : / etc / hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 plato.example.com plato
나는 그것이 plato
임의의 이름이고 그것이 plato.example.com
FQDN 이라고 가정합니다 .
이제 내 질문은 :
- 필수입니까?
- 무슨 목적으로?
- 어디에서 필요한가?
- “localhost”를 모든 컴퓨터의 호스트 이름으로 정의 할 수없는 이유는 무엇입니까?
plato.example.com
FQDN에 대한 DNS 항목을 설정해야 합니까?plato.example.com
내 IP의 역방향 DNS 항목으로 사용해야합니까 ?
또한 호스트 이름을 선택하기위한 “모범 사례”가 있습니까? 그리스 문자, 행성 이름 및 신화적인 인물을 사용하는 사람들을 보았습니다 … 문자 / 행성이 부족하면 어떻게됩니까?
이것이 멍청한 질문이라면 죄송하지만 네트워크 구성에 너무 열중하지 않았습니다.
답변
요즘 시스템에는 여러 개의 인터페이스가있을 수 있으며 각 인터페이스에는 여러 개의 주소가 있으며 각 주소에는 여러 개의 DNS 항목이있을 수도 있습니다. “시스템 호스트 이름”은 무엇을 의미합니까?
많은 응용 프로그램은 다른 곳에서 통신 할 때 시스템 호스트 이름을 기본 식별자로 사용합니다. 예를 들어 중앙 서버에서 syslog 메시지를 수집하는 경우 메시지는 모두 원래 시스템의 호스트 이름으로 태그가 지정됩니다. 이상적인 세계에서는 아마도 클라이언트를 신뢰하고 싶지 않기 때문에 이것을 무시할 것입니다. 그러나 모든 시스템의 이름을 “localhost”로 지정하면 기본 동작으로 인해 많은 로그 메시지가 나타납니다. 특정 시스템과 연결할 수 없습니다.
다른 사람들이 지적했듯이 시스템 호스트 이름은 여러 시스템에 원격으로 액세스하는 경우 유용한 식별자입니다. “localhost”라는 시스템에 5 개의 창을 연결했다면 똑바로 유지하기가 어려울 것입니다.
비슷한 맥락에서 우리는 시스템 호스트 이름을 시스템에 대한 관리 액세스에 사용하는 호스트 이름과 일치 시키려고합니다. 이렇게하면 시스템, 이메일, 대화, 문서 등을 언급 할 때 혼동을 피할 수 있습니다.
DNS와 관련하여 :
혼동을 피하기 위해 응용 프로그램에 대해 올바른 정방향 및 역방향 DNS 항목을 원합니다. 당신이해야 할 몇 가지 편리하게 응용 프로그램에 액세스 할 수 있도록 사람들을위한 – (> IP 주소 이름) 앞으로 항목을. 역 입력 항목 일치는 여러 가지 이유로 유용합니다. 예를 들어 로그에서 해당 IP 주소를 찾은 경우 응용 프로그램을 올바르게 식별하는 데 도움이됩니다.
여기서는 특히 웹 서버에서 “시스템”이 아닌 “응용 프로그램”에 대해 이야기하고 있습니다. 왜냐하면 다른 호스트 이름 및 서비스와 관련된 시스템에 여러 개의 IP 주소를 갖는 것이 일반적이기 때문입니다.
/etc/hosts
점점 더 많은 시스템을 관리함 에 따라 파일 에서 이름 대 ip 맵핑을 유지하려는 시도가 빨리 어려워집니다. 로컬 호스트 파일이 DNS와 관련하여 동기화되지 않는 것은 매우 쉽습니다. 혼동을 일으키거나 경우에 따라 시스템에 더 이상 존재하지 않는 IP 주소에 바인드하려고하기 때문에 오작동을 일으킬 수 있습니다.
답변
모든 호스트 이름을 “localhost”로 설정할 수 있지만 alix@plato ~ $
ssh를 통해 시스템을 관리 할 때 명령 프롬프트에두면 매우 편리합니다 . 그렇지 않으면 원격으로 서버를 관리하는 것이 매우 혼란 스러울 수 있습니다.
웹 서버 또는 메일 서버를 호스트 할 때 올바른 FQDN을 갖는 것이 중요합니다. 이러한 종류의 서버 응용 프로그램은 자신이 실행중인 “누가”를 알고 싶어합니다.
좋은 이름 지정 체계를 선택하려면 이 매우 인기있는 질문 을 참조하십시오 .
FQDN은 다른 컴퓨터에 의미가있는 경우에만 유용합니다. 여기에는 세 가지 수준이 있습니다.
- 로컬 네트워크의 한 컴퓨터에는 호스트 파일에 해당 컴퓨터를 가리키는 항목이 있습니다.
- 로컬 네트워크에서 DNS 서버를 실행하고 있으며 DNS 서버로 사용하는 모든 로컬 컴퓨터는 이제 이름으로 플라톤을 알고 있습니다.
- 도메인 이름을 등록하면 이제 plato.alixaxel.com이라는 이름의 컴퓨터가 전 세계에 알려집니다.
전자 메일을 보내거나 웹 페이지를 외부 세계에 제공 할 때 세 번째는 원하는 것입니다. 대부분의 경우 로컬 DNS를 사용하거나 호스트 파일을 편집 할 수도 있습니다.
이 경우 로컬 네트워크 내에서 사용할 도메인 이름 (plato.alixnetwork가 FQDN으로 적합 할 수 있음)을 구성하면됩니다. “alixnetwork”부분 (도메인 이름)을 갖는 유일한 부가 가치는 다른 로컬 네트워크와 구별 할 때 편리하다는 것입니다.
답변
기본 개요. 호스트 이름은 포인터 일뿐입니다. 하나의 특정 이름을 시스템이 참조하는 호스트 이름으로 지정할 수 있지만 여러 이름을 가질 수 있습니다. 주목할만한 메일 및 HTTP와 같은 일부 서비스는 도메인 이름을 사용하여 서비스의 위치와 도착 방법을 알고 있습니다.
오래 전에이 모든 이름 (다시 말해 IP 주소에 대한 포인터 임)은라는 파일에서 추적되었습니다 hosts
. 시스템이 커짐에 따라 다양한 상호 연결된 네트워크에 참여하는 모든 관련 컴퓨터에서 파일 동기화를 유지할 수 없었습니다. 그래서 DNS 시스템이 발명되었습니다. 이름 조회를 수행 할 때 여전히 호스트 파일을 먼저 확인한 다음 DNS 시스템을 확인합니다. Windows는 WINS 또는 NetBIOS와 같은 다른 시스템도 확인할 수 있습니다.
hosts
파일에 항목을 넣으면 컴퓨터에 해당 항목 이 할당되지 않습니다. 컴퓨터가 사용하는 호스트 이름을 구성 파일 (* nix 시스템) 및 Windows 시스템 (Windows 시스템에도 NIC 특정 접미어가있을 수 있음)의 시스템 속성에서 지정합니다.
hosts
DNS 시스템과 같이 파일의 항목은 호스트 이름에서 IP 주소로의 매핑 일뿐입니다. 호스트 이름 ‘localhost’를 사용하려면 (특별한 것은 없으며 나머지와 마찬가지로 호스트 이름 임) 루프백 인터페이스에 매핑되어야합니다 (따라서 항상 로컬 컴퓨터를 가리 킵니다). 이것이 작동하도록 모든 컴퓨터에는 hosts
파일 에이 기본 매핑이 제공 되지만 해당 호스트 이름을 사용하지 않으려는 경우 제거 될 수 있습니다.
또한 다른 사람들이 지적했듯이 컴퓨터에 호스트 이름을 할당하는 것이 매우 유용합니다. 컴퓨터에 연결하면 로그인 할 때 또는 프롬프트 나 다른 여러 위치로 호스트 이름을 표시 할 수 있습니다. 이렇게하면 연결된 컴퓨터를 쉽게 식별 할 수 있습니다. 해당 호스트 이름을 DNS에 설정하거나 모든 hosts
파일 에 넣으면 항상 IP 주소를 알 필요없이 호스트 이름을 참조하여 컴퓨터에 연결할 수 있습니다. (주소가 변경 될 수 있으므로 컴퓨터가 DHCP를 사용하는 경우 더 유용합니다. 컴퓨터가 DNS를 업데이트하면 DNS 레코드가 새 IP 주소를 가리키게됩니다. DNS 이름을 알고 있기 때문에 새 IP 주소를 모르더라도 연결할 수 있습니다 ).
hosts
DNS와 DNS 를 모두 많이 사용 하지만이 모든 것을 읽으면 답변보다 더 많은 질문이 있다고 생각합니다.
답변
호스트에게는 의미있는 이름이 주어져야합니다. 호스트 이름은 여러 가지 목적으로 서버를 사용할 수 있습니다.
1- 현재 작업중인 것을 인식하는 데 도움이됩니다.
2- /etc/hosts
많은 IP 주소를 기억하는 것보다 DNS 레코드에 구성된 이름을 사용 하는 것이 더 쉽습니다.
3- Localhost는 현재 시스템 (주소 127.0.0.1)을 나타내는 예약 된 이름입니다.
4- DNS 레코드는 서버를 공개적으로 액세스하는 데 유용합니다.
각 서버에 적합한 이름을 선택하면 관리에 많은 도움이됩니다. 또한 클라이언트가 서버에 액세스하는 데 도움이됩니다.
답변
참고로, 적절하게 앞뒤로 DNS 확인을 진행하는 것이이 지구상 모든 IT 설치의 절대 초석입니다. 잘 유지 관리 된 DNS와 적절한 호스트 이름 확인의 필요성을 결코 과소 평가하지 마십시오!
답변
면책 조항 : 주요 질문은 Linux 시스템에 관한 것이므로 문제의 Windows 측에 관심이 없다면이 답변을 무시하십시오.
어쨌든 Windows 시스템에서는 다른 답변에서 언급 한 모든 사항을 제외하고 호스트 이름은 네트워킹 및 인증 목적으로 OS 자체에서 실제로 사용됩니다. 구체적으로 :
- 도메인 구성원이든 아니든 각 시스템 은 동일한 네트워크 (예 : 동일한 IP 서브넷) 에서 고유 한 이름을 가져야합니다 . 그렇지 않으면 이름이 충돌하고 다양한 네트워크 서비스 (주로 파일 및 인쇄 공유)가 발생하지 않습니다. 작업.
- 동일한 Active Directory 도메인의 구성원 인 모든 시스템은 네트워크 경계에 관계없이 고유 한 이름을 가져야합니다.
- 도메인 환경에서 시스템의 호스트 이름은 보안 주체 역할을하며 원격 인증에 사용될 수 있습니다 (시스템의 사용자 계정으로 생각하면됩니다). 권한과 액세스 권한을 할당 할 수 있으며 보안을 위해 그룹으로 배치 할 수 있습니다. 이는 기본 제공
LocalSystem
및NetworkService
사용자 계정을 사용하여 시스템에서 실행중인 모든 프로세스에 영향을 미치며, 실행중인 시스템의 자격 증명을 사용하여 다른 시스템을 인증 할 수 있습니다. 이를 통해NetworkService
SystemA에서 실행중인 프로세스 는 SystemA의 사용자 계정에 폴더에 대한 권한을 부여하여 SystemB의 공유 폴더에 액세스 할 수 있습니다.
답변
많은 사이트 및 / 또는 ‘관리자’는 이제 ‘호스트 이름’속성에 OS 인스턴스의 FQDN이 포함되어 있으며 ‘도메인 이름’을 추가하는 해결 방법을 ‘중단’한다고 말합니다.
호스트 이름
system1.domain1.org핑
hostname
-system1.domain1.org.domain1.org를 확인할 수 없습니다