IPv6 Git 클론이 discourse-setup에서 실패하지만, 해당 머신에서는 작동하나요?!?

Ubuntu 22.04 VPS에서 discourse-setup이 실패하며 다음 오류가 발생합니다:

fatal: unable to access https://github.com/discourse/discourse.git/: Could not resolve host: github.com

제 VPS에는 IPv6 주소만 있지만 Dan Win의 GitHub IPv6 프록시를 사용하고 있습니다. github.com에 ping이 가능하고 discourse_docker.git는 성공적으로 클론했으며, 동일한 VPS에서 명령줄을 통해 동일한 discourse.git를 클론할 수도 있습니다. 하지만 동일한 명령을 discourse-setup이 실행하면 github.com을 해석하지 못하고 실패합니다.

이전 게시물에서 docker.service 파일에 mtu=1400을 설정하라고 권장하여 그렇게 했지만, 아무런 변화가 없었습니다.

처음에는 이것이 IPv6 문제라고 생각했지만, VPS가 GitHub에 접근하고 패키지를 클론할 수 있다는 사실 때문에 혼란스럽습니다… discourse-setup이 다른 작업을 수행하는지 모르겠습니다. discourse-setup에 github.git가 이미 서버에 있음을 알리거나, 작동했던 서버의 기본 설정을 그대로 사용하게 하는 방법이 있으면 좋겠습니다.

docker가 IPv6로 설정되어 있지 않은 것 같습니다.

과거에 IPv6 전용 시스템에서 Docker를 사용할 때 NAT가 없는 것과 관련된 문제를 경험한 적이 있습니다. Docker는 호스트에서만 접근 가능한 IP 주소를 사용하는 경우가 많고, IPv6의 경우 Docker가 자동으로 NAT를 구성하지 않기 때문입니다.

이 저장소의 README에 해당 문제에 대해 더 자세히 설명되어 있습니다: GitHub - robbertkl/docker-ipv6nat: Extend Docker with IPv6 NAT, similar to IPv4 · GitHub

네, 잘 짚어내셨네요. Docker가 IPv6을 지원하지 않기 때문에 실제로 IPv6 문제였어요. VPS에 IPv4 주소를 추가하니 모든 것이 정상적으로 작동했습니다.

감사합니다

대형 Discourse 호스팅 회사가 인프라에서 IPv6을 광범위하게 사용한다는 이야기를 들었습니다.

하지만 NAT가 문제일 가능성이 높아 보입니다. 다음에 IPv6을 다룰 때 이 점을 염두에 두겠습니다.