바인딩할 여러 IP 주소와 서브넷을 할당하는 방법은 무엇입니까?

바인딩할 여러 IP 주소와 서브넷을 할당하는 방법은 무엇입니까?

나는 홈 웹 서버, /29 IPv4 주소(게이트웨이 주소 요구 사항이 있는 라우팅된 서브넷으로 인해 현재 블록에서 할당 가능한 3개)와 내 DNS 레코드에 이미 할당된 주소 2개를 가지고 있습니다. 또한 내 DNS 레코드에 이미 두 개의 주소가 할당된 /64 IPv6 서브넷이 있습니다.

표시된 대로 IPv6 서브넷을 보조로 할당하여 시스템에서 모든 IPv4 주소를 사용할 수 있도록 sysconfig > network-scripts 파일(DHCP가 아닌 Network Manager를 통해 관리됨)을 변경했습니다. 그렇지 않은 경우 나):

IPV6ADDR=2a10:b900:10e4:1::2/64
IPV6ADDR_SECONDARIES=2a10:b900:10e4:1::/64
IPV6_DEFAULTGW=2a10:b900:10e4:1::

문제? - 추가로 사용 가능한 IP 주소와 전체 IPv6 서브넷을 모두 사용하려면 바인드 영역 파일을 수정해야 합니다. IPv4를 추가 A 레코드로 추가할 수 있을 것 같습니다(과거에 연결 문제를 일으킨 문제가 있었지만). 하지만 IPv6 서브넷에 추가하는 방법을 알려줄 수 있는 사람이 있습니까?

답변1

의견을 요약하자면 질문은 전적으로 잘못된 가정에 기초하고 있기 때문에 답이 없습니다.

[…] 그림과 같이 IPv6 서브넷이 보조 서브넷으로 할당됨

IPV6ADDR=2a10:b900:10e4:1::2/64
IPV6ADDR_SECONDARIES=2a10:b900:10e4:1::/64

이는 실제로 전체 서브넷을 할당하지 않습니다. 단일 주소(모두 0으로 구성된 IID 주소, 2a10:b900:10e4:1:0:0:0:0)를 할당하고 "서브넷 마스크"를 /64로 설정합니다. 동작은 다른 주소를 할당하는 것과 동일합니다. ...:0:0:0:0에는 특별한 처리가 없습니다. 두 경우 모두 /64는 어떤 주소가 "링크"인지를 나타냅니다(물리적 인터페이스를 통해 MAC 수준에서 도달할 수 있음).

https:// 연결은 공유할 수 없습니다. 즉, http://인 경우 동일한 IP 주소를 통해 10개의 연결을 가질 수 있지만, 자체 동일한 연결에는 https://인 경우 10개의 IP 주소가 필요합니다.

아니요, 그렇지 않습니다. 왜냐하면 기본 전송 프로토콜인 TCP에는 이미 로컬 포트 ​​+ 원격 포트의 조합인 다중화 메커니즘이 있기 때문입니다. 당신이 가지고 있다고 가정

  1. 한 클라이언트,
  2. 하나의 포트에서 수신 대기하는 하나의 서버,

(local_addr, remote_addr, local_port, remote_port)이론적으로 local_port를 변경하면 최대 65535개의 고유한 조합을 가질 수 있습니다 . 실제로 숫자는 OS가 구성한 "임시 포트" 범위에 따라 ~32k 또는 ~48k 내에 있습니다.

이 메커니즘은 상위 계층 프로토콜과 독립적이며 서버는 포트 80에서 HTTP 연결을 허용할 수 있는 만큼 포트 443에 대한 HTTPS 연결을 허용할 수 있습니다. 두 경우 모두 클라이언트와 서버의 네트워크 스택은 모든 연결의 모든 패킷을 고유하게 식별합니다. .


귀하의 이야기가 "연결" 대신 HTTP(S) "가상 호스트"에 관한 것이라면 여전히 의미가 있을 것입니다.도메인 이름동일한 IP 주소에 있습니다. 10~20년 전에는 HTTPS 서버(보다 정확하게는 SSL/TLS 서버)가 단일 IP 주소:포트를 통해 하나의 인증서만 제공할 수 있었기 때문에 단일 인증서가 제공했던 만큼의 도메인만 제공할 수 있다는 것이 사실이었습니다. 위해 발행되었습니다.

그러나 이제 모든 최신 클라이언트는 TLS 1.1+ "서버 이름 표시"를 지원합니다. 이를 통해 TLS 핸드셰이크 중에 특정 도메인 이름을 요청할 수 있으므로 서버는 애플리케이션 계층 핸드셰이크를 시작하기 전에 올바른 TLS 인증서를 선택할 수 있습니다.

결론적으로, 서버에 서브넷을 할당하는 것은 처음부터 불필요합니다.

마지막으로 기술적으로 중요한 질문은 다음과 같습니다.

따라서 나는 BIND가 필요할 경우 주소 풀에 들어갈 수 있는 솔루션을 만들려고 시도하고 있습니다.

DNS에는 이러한 기능이 없습니다. AAAA 레코드만 IPv6 주소를 가리킬 수 있으며 각 레코드는 하나의 주소만 가리킬 수 있습니다. (다른 유형도 있지만 용도가 다르며 대부분의 소프트웨어는 간단히보지 마라그들에게.)

많은 레코드로 확장할 수 있는 매크로인 BIND 기능을 사용 $GENERATE하거나 필요에 따라 무작위 AAAA 레코드로 응답을 생성하는 사용자 정의 DNS 서버를 작성해야 합니다.

관련 정보