/etc/hostname에 myname
.
/etc/hosts에는 다음이 있습니다.
127.0.0.1 localhost.localdomain localhost myname
::1 localhost.localdomain localhost myname
호스트 이름이 실제로 무엇을 의미하고 어떤 용도로 사용되는지 막연하게 알고 있습니다.
다음과 같은 보다 정확한 질문은 제가 그것을 더 잘 이해하는 데 도움이 됩니다.
위 예에서 내 호스트 이름은 정확히 무엇입니까?
myname
아니면 다른 것입니까?myname.domain.com
에서 변경하는 경우/etc/hostname
내 실제 호스트 이름은 무엇입니까?예제에서는 command
hostname
returnmyname
과 commandhostname -f
return 을 반환합니다localhost.localdomain
. 제 생각엔/etc/hosts
이름과 IP 주소 사이의 매핑일 뿐이라고 생각합니다. 여기에는 또 다른 기능이 있는 것 같습니다. FQDN이란 무엇이며 어떤 용도로 사용됩니까? 검색하는 방법? 왜localhost.localdomain
?myname.domain.com
내가 들어가면 다시/etc/hostname
돌아올hostname -f
것이다myname.domain.com
. 왜?이 파일의 fqdn이 점으로 끝나지 않는 이유는 무엇입니까?
hostname -d
과 동등합니까dnsmydomain
?어떤 상황에서 내 호스트 이름( )을 사용할 수 있으며
myname
언제 내 FQDN(localhost.localdomain
)을 사용해야 합니까?
답변1
/etc/hostname
로컬로 실행되는 애플리케이션에 알려진 시스템 이름을 포함합니다./etc/hosts
DNS는 이름을 IP 주소와 연결합니다.myname
컴퓨터가 액세스할 수 있는 모든 IP 주소에 매핑할 수 있지만 매핑하는 것은127.0.0.1
보기에 좋지 않습니다.- 아니요
/etc/hosts
, 하지만/bin/hostname
다른 기능이 있습니다-f
. - 왜냐하면
/etc/hosts
상식을 초월할 수 있다. 신중하게 편집하고 임시 패치 및 실험 후에 쓰레기를 버리지 마십시오. - 두 가지 스타일(⋯
.
최상위 도메인.
그리고….
최상위 도메인)이것은 허용됩니다. 전자는 명시적이지만 후자는 보편적이다. - 그것이 무엇인지는 확실하지 않지만
dnsmydomain
그럴 가능성은 없습니다. 기술적으로 말하면, DNS에서 무언가를 찾는/etc/hosts
것은 "DNS"가 아닙니다 . - 1. 호스트 이름 – 로컬로 실행되는 응용 프로그램에 적용되며 SMB(Samba)와 같은 특수 네트워크 프로토콜에도 적용됩니다. FQDN(가짜 또는 같은 자리 표시자가 아닌 경우
localhost.localdomain
) - 외부에서 시스템에 액세스하는 데 사용됩니다. FQDN은 사용되는 위치에서 확인할 수 있어야 합니다.
답변2
/etc/호스트 이름그리고/etc/호스트아주 간단하지만 그렇게 간단하지는 않습니다...
/etc/hostname
데비안 을 빠르게 설정하는 방법/etc/hosts
1)편집하다/etc/호스트 이름.
이를 설정하는 유효한 방법에는 두 가지가 있습니다.
다음 중 하나를 수행하십시오.
machine
, 프로세서에 대한 간단한 한 단어 이름입니다.
예를 들어, "joe
"는 선택한 시스템 이름일 수 있습니다.
아래 설명과 같이 /etc/hosts에 별칭이 필요합니다.
또는
machine.domain.net
, 이는 FQDN(정규화된 도메인 이름)입니다.
예를 들어, 'joe.xyz.com
'.
(joe.xyz.com에서 joe라는 이름의 컴퓨터에 joe의 IP 주소를 가리키는 DNS 호스트 "A" 레코드가 있다고 가정합니다. 일반적으로 도메인 이름을 구입한 곳에 이 레코드를 설정합니다. 자세한 내용은 순간을 참조하세요.)
한 번/etc/호스트 이름설정이 완료되면 다음 단계는 명령을 받는 것입니다.hostname --all-fqdn
그리고dnsdomainname
제대로 작동하려면 순서는 다음과 같습니다.
2)편집하다/etc/호스트.
호스트를 위한 줄이 있습니다정규화된 도메인 이름, 예를 들어 "machine.domain.net"과 같이 로컬 IP 주소(동적 IP 주소 서버의 주소일 수 있음)가 접두어로 붙습니다.
# IP FQDN (CANONICAL_HOSTNAME) ALIASES
#-------------- --------------------------- ------------------------
192.168.1.14 Joe.xyz.com joe
먼저 주의사항대문자, 소문자는 중요하지 않습니다.여기. 힌트:그러나 일부 제한을 설정하면 다음 단계에서 상황이 어디에서 오는지 알 수 있습니다. 그래서 대문자로 썼어요제이아.
또한 참고하시기 바랍니다간단하게
hostname
(예: /etc/hostname = 'machine') FQDN을 올바르게 생성하려면별명/etc/hosts에 "machine"이라는 파일이 있어야 합니다. 그렇기 때문에 별칭은조당신은 가지고 있습니까? (그런데 이 별칭을 사용하지 않더라도 사용할 수 있습니다.) 그렇지 않으면 별칭이 필요하지 않거나 사용되지 않습니다.또한 "domain.net"은 확인 가능해야 합니다. 즉, 해당 A 레코드가 DNS에 있어야 합니다. 이것은 ... 불리운다'분석 가능한'(즉, DNS 확인자를 통해).
3) 이제 다음 명령을 실행하여 /etc/hostname 및 /etc/hosts의 새 설정을 커널에 설치합니다.
$ /etc/init.d/hostname.sh # Or by rebooting
4) 테스트 호스트 이름
$ hostname # Reports the hostname previously read from in /etc/hostname.
joe
또는
$ hostname
joe.xyz.com
팁:
이는 /etc/hostname의 현재 내용(지금 다시 편집하는 것처럼)이 아니라 /etc/init.d/hostname.sh 스크립트가 이전에 읽은 내용(아마도 재부팅의 결과)이라는 점에 유의하십시오.
또한 "j"는 소문자이므로 /etc/hosts가 아닌 /etc/hostname에서 온 것임을 나타냅니다.
5) FQDN 테스트
$ hostname --all-fqdn #reports the FQDN(s) matched in /etc/hosts.
Joe.xyz.com # It searches /etc/hosts for the joe in /etc/hostname.
# Notice that the 'J' is uppercase.
# This suggest it came from /etc/hosts.
6) DNS 도메인 이름 테스트
$ dnsdomainname #reports the computed DNS doman name
xyz.com # (i.e. the right most part of the FQDN;
# the part to the right of the first, left most, dot)
# This is coming from Joe.xyz.com in /hosts,
# after 'Joe.' is removed.
이제 네트워크와 이메일 서버 설정이 훨씬 쉬워졌습니다.
답변3
나는 매뉴얼을 읽으라는 말을 듣는 것을 정말 싫어하지만 이 경우 호스트 이름의 매뉴얼 페이지를 확인하고 전부는 아니더라도 대부분의 질문에 답해야 합니다. 제가 설명할 수 있는 것보다 훨씬 더 잘 쓰여졌습니다.
도움을 드리기 위해 귀하의 질문과 관련된 일부 발췌문을 제공합니다. - 호스트 이름은 /etc/hosts에 표시되는 이름입니다. - 반환된 FQDN은 확인자가 반환하는 내용을 기반으로 하므로 확인자가 먼저 호스트 파일을 확인한 다음 필요한 DNS 쿼리를 수행하므로 반환된 /etc/hosts의 값을 볼 수 있습니다.
나는 호스트 이름 매뉴얼 페이지에 언급된 문제 중 하나가(맨 페이지를 직접 다시 읽은 것에 기초하여) 파일의 항목이 점으로 끝나지 않는다는 것이라고 생각하지 않습니다.
이 규칙은 DNS 레코드를 처리하는 데 사용됩니다. 호스트 이름과 호스트 파일은 실제로 DNS 레코드가 아닙니다. DNS 조회를 해결하기 위해 바인드에서 이러한 항목을 구성하는 경우 점을 사용할 수 있습니다(이 훌륭한 리소스를 확인하세요:http://www.zytrax.com/books/dns/apa/dot.html).
또한 이러한 값 중 어느 것도 시스템에서 브로드캐스트되지 않는다는 점을 명심하세요. 따라서 FQDN을 기반으로 다른 시스템에 액세스할 수 있도록 하려는 경우 해당 시스템의 호스트 파일을 기반으로 하거나 외부 시스템이 FQDN에서 수행하는 DNS 조회를 기반으로 누락된 호스트 항목이 있습니다. 시스템으로 다시 해결하십시오.
답변4
답변으로
내 IP가 동적(DHCP)이고 수시로 변경되면 어떻게 되나요? /etc/hosts에서 내 이름으로 어떤 주소를 사용해야 합니까?
먼저, /etc/hosts는 설치된 호스트에 대한 이름-주소 매핑의 정적 정의이며 해당 호스트에서만 이름을 IP 주소로 변환하는 데 사용된다는 점을 지적해야 합니다.
따라서 고려해야 할 두 가지 관점이 있습니다. 호스트 "내 이름"과 다른 사람입니다.
이 'myhost' 호스트의 경우 'localhost'를 사용하여 현재 호스트(/etc/hosts에 127.0.0.1로 정의됨)를 참조하거나 localhost를 정의하는 /etc/hosts 행에 'myname'을 추가하여 'myname'을 추가할 수 있습니다. ' 항상 localhost에 매핑됩니다. 이와 같이:
127.0.0.1 localhostmyname
그러면 인터페이스에 어떤 IP 주소가 제공되든 항상 주소를 사용할 수 있습니다("myname"에서 "myname"으로 대화하기 위해 하드웨어를 클릭할 필요가 없다는 추가 보너스도 있음).
이제 동적 IP 주소가 있는 경우 다른 호스트가 "myhost"를 찾을 수 있도록 하려면 DNS를 사용해야 하며 해당 DNS 서버는 DHCP 할당 매핑을 처리해야 합니다. (흠, 알겠습니다. 제가 생각할 수 있는 다른 솔루션이 있지만 IMHO 제가 생각하는 모든 솔루션은 "멍청한" 범주에 속합니다. 호스트에 뭔가를 하여 IT가 DNS에 위치를 알려 주도록 할 수는 있지만 그게 전부입니다. 여기서는 완전히 다른 질문/답변 스트림이 필요한 질문입니다. IMHO)