/etc/hosts에 IPv6 주소를 표시하는 올바른 방법은 무엇입니까?

/etc/hosts에 IPv6 주소를 표시하는 올바른 방법은 무엇입니까?

저는 동료들이 호스트에서 IPv6 주소를 구성하는 방법을 배울 수 있도록 IPv6에 관한 문서를 작성하는 임무를 받았습니다. 우리는 주로 RHEL6.x/7.x, ESXi 및 Ubuntu Server를 사용합니다. 이는 RHEL/Ubuntu에서만 작동합니다.

토론: 어떻게 참여해야 합니까 /etc/hosts?

나는 그것이 다음과 같이 표시되는 것을 본다 :

2001:4860:4860::1:8888 google.com
# Gateway:IPv6 Address <hostname_here>

또는

IPv4와 같은 방식으로 작성되었습니다.

답변1

호스트 파일 형식은 여러 줄로 구성됩니다. 각 줄에는 IP 주소와 공백, 하나 이상의 호스트 이름이 공백으로 구분되어 포함됩니다.

주소가 레거시 IPv4 주소가 아닌 IPv6 주소이면 아무 것도 변경되지 않습니다. 형식은 동일합니다.

예를 들어:

2001:db8:1::1 example.com www.example.com
2001:db8:2::1 mail.example.com

또한보십시오hosts(5)매뉴얼 페이지.

답변2

IPv6 주소는 128비트 주소 지정 공간을 나타내기 때문에 자체 형식 시스템을 가지고 있습니다. 이는 16옥텟으로 매우 다루기 어렵습니다. 이번에도 여기에는 0이 많이 내장되어 있으므로 쉽게 제거할 수 있습니다. 옥텟이 사용되지 않음을 나타내려면 마침표 대신 콜론을 사용하고 마찬가지로 10진수 대신 16진수를 사용하십시오.

하나IPv6 주소다음과 같습니다.

aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh[%int][/netmask]

netmask최대 128을 제외하고 IPv4와 동일하게 작동합니다.

필요한 %int것은범위 내전역 주소가 아닌 주소는 로컬 네트워크 내에서만 의미가 있으며 두 인터페이스가 동일한 주소를 가질 수 있으므로 주소를 소유하는 네트워크 인터페이스를 지정합니다.

선행 0은 생략될 수 있으며 주소에서 단일 0 문자열(관례적으로 가장 긴 것)이 가능합니다.압축사용하여 :::

2001:0db8:1523:0000:1334:0000:0000:0193
선행 0 제거: 2001:db8:1523:0:1334:0:0:193
가장 긴 0 문자열을 압축합니다.2001:db8:1523:0:1334::193

몇 가지 특별한 경우가 있습니다:

  • 완전히 0으로 시작하는 모든 주소는 으로 압축된 ::다음 0이 아닌 부분( 0:0:0:0:0:0:0:0/128::/128되고 ) 0:0:0:0:0:0:0:1/128으로 압축될 수 있습니다 ::1/128.

  • IPv4 호환 및 IPv4 매핑 IPv6 주소는 ::a.b.c.d/96::ffff:a.b.c.d/96(또는 ::ffff:aabb:ccdd/96)와 유사합니다.

사용 시 /etc/hostsIPv4와 IPv6 주소 간에는 거의 변경 사항이 없습니다. 네트워크 마스크에 대해 걱정할 필요가 없으며 범위 주소 또는 IPv4 호환 주소에 대해 걱정할 필요가 거의 없습니다. 제로 압축 규칙을 따르는 한 일반적으로 문제가 없습니다. 이중 홈 주소(IPv4와 IPv6 모두를 수신하는 호스트)가 있는 경우 IPv4 주소에 한 번, IPv6 주소에 한 번, 총 두 번 입력해야 합니다.

::1 localhost
127.0.0.1 localhost
2001:db8:123:456::78 example.com www.example.com
192.0.2.56 example.com www.example.com
fe80::12:34:56:78%eth0 printer.example.com

넷마스크와 범위에 대해서는 논의하지 않겠습니다. 그러나 표준 범위를 참조하려는 경우 RIPE는 다음을 수행합니다.그들과 함께하는 PDF빨리 알고 싶다면.

관련 정보