IPv4와 IPv6 모두 사용

IPv4와 IPv6 모두 사용

내 웹 서버(Ubuntu, Nginx)에는 호스트에서 할당한 IPv4 및 IPv6 주소가 모두 있습니다. 내 웹사이트를 IPv6 주소에만 바인딩해야 합니까? 표준 권장 방식인가요? 아니면 IPv4와 IPv6 주소를 모두 사용해야 합니까?

답변1

IPv4와 IPv6 모두 사용

IPv4 및 IPv6 주소를 모두 사용해야 합니다.

현재 인터넷상의 거의 모든 사람이 IPv4 주소를 가지고 있거나 일종의 NAT 뒤에 있으며 IPv4 리소스에 액세스할 수 있습니다.

그러나 글을 쓰는 시점에는0.7% 2.3% 3.8% 6.5% 9% 12% 19% 22% 26% 32% 37% 43%의 인터넷만이 IPv6를 지원합니다.하지만 IPv6가 전 세계적으로 출시되기 시작하면서 그 숫자는 꾸준히 증가하고 있습니다.

극소수의 장소에서 ISP는 다음을 제공하고 있습니다.주로IPv6 또는오직주거용 고객에게는 IPv6를 제공하고 IPv4 연결을 위해 대규모 NAT, NAT64 또는 기타 솔루션을 사용합니다. IPv4 주소 공간이 최종적으로 고갈됨에 따라 이 숫자는 증가할 것으로 예상됩니다. 이러한 사용자는 일반적으로 IPv6보다 성능이 더 좋습니다.

ISP가 IPv4 고갈을 해결하기 위해 대규모 NAT를 배포한 경우, 이로 인해 고착된 사용자는 대규모 NAT 게이트웨이에 내재된 연결 제한으로 인해 모든 인터넷 연결의 신뢰성이 저하됩니다. 예를 들어 웹페이지는리소스 전체가 아닌 일부만 로드, 이미지가 있어야 할 곳에 깨진 아이콘 남기기, 스타일과 스크립트 누락 등. 이는 홈 라우터의 연결 제한 소진과 유사하지만 ISP의 모든 사용자에게 간헐적으로 무작위로 영향을 미칩니다. 이러한 사용자가 사이트를 신뢰할 수 있게 하려면 IPv6을 통해 서비스를 제공해야 합니다(ISP는 IPv6를 배포해야 합니다).

IPv6는 인터넷이 가는 곳이므로 이제 웹 사이트 IPv6을 활성화하면 게임에서 앞서 나갈 수 있으며 문제가 심각해지기 오래 전에 해결할 수 있습니다.

nginx 구성

기본적으로 Linux 및 nginx에서는 다음을 통해 IPv4와 IPv6에 동시에 바인딩할 수 있습니다.listen지시문 변경에게:

listen [::]:80;
listen 80;

또는 SSL 사이트의 경우:

listen [::]:443 ssl;
listen 443 ssl;

답변2

둘 다 묶으세요!

클라이언트가 사용한 DNS 이름을 사용하여 코드가 자체적으로 내부 참조를 수행하는 IIS 웹 사이트가 있었습니다. 이 프로세스는 항상 실패합니다.

또 다른 증상은 서버에서 로컬로 실행되는 브라우저가 서버 이름으로는 웹 사이트를 찾을 수 없고 IPv4 주소로만 찾을 수 있다는 것입니다. 즉, http://192.168.55.139작동하지만 http://myhost실패합니다. 기본적으로 would를 사용하면 ping myhostIPv6 주소가 반환됩니다( ping myhost -4IPv4 주소가 반환됨).

해결 방법은 IIS를 열고 웹 사이트의 바인딩을 변경하여 IPv6 주소와 IPv4 주소에 바인딩하는 것이었습니다.

여기에 이미지 설명을 입력하세요

관련 정보