저는 친구를 위해 NextCloud 및 기타 서비스가 포함된 Docker 컨테이너를 실행할 블랙박스 NAS를 구축하고 있습니다. 블랙박스가 의미하는 바는 구성이 필요하지 않은 방식으로 설정해야 한다는 것입니다. 라우터에 연결하기만 하면 작동합니다.
모든 요청을 역방향 프록시로 리디렉션한 다음 내부적으로 올바른 서비스로 요청을 리디렉션하는 와일드카드 도메인으로 dnsmasq를 설정하고 싶습니다. 그러나 이는 DNS가 자신을 가리켜야 함을 의미하며, 이는 시스템이 DHCP를 통해 라우터에서 IP를 가져오기 때문에 문제가 됩니다.
주소=/mydomain.com/<host_ip>
현재 내 유일한 아이디어는 네트워크가 온라인 상태인 동안 systemd 서비스를 실행한 다음 호스트의 현재 IP로 conf 파일을 업데이트하는 것입니다. 그러나 이것은 해킹된 것 같습니다. dnsmasq 자체를 사용하여 이를 자동화하는 방법이 있습니까?
답변1
(내 대답은 일반적인 SOHO 환경을 반영합니다)
클라이언트 측에서 최소한의 구성(라우터도 포함하는 경우) 없이는 이 작업을 수행할 수 없습니다. 클라이언트 시스템의 요청을 NextCloud와 같은 서비스가 실행될 올바른 IP 주소로 직접 보내야 하기 때문입니다.
친구의 DHCP 서비스에는 기본적으로 ISP의 재귀 DNS 서버 중 하나에 해당하는 하나 이상의 DNS 서버 항목이 이미 있으므로 이 메커니즘을 재정의해야 합니다.
제로터치 구성을 통해 이 서비스를 구현하려는 것으로 보이지만 로컬 DNS 서버를 사용하는 경우 적어도 라우터의 DHCP 설정에서 참조되는 고정 IP 주소를 설정해야 합니다.
다음 중 하나를 수행하는 것이 좋습니다.
-로컬 재귀 DNS 서버 실행, mydomain.com 영역을 추가하고 역방향 프록시 IP 주소를 가리키는 A 레코드를 설정하고 라우터에서 이 DNS 서버를 설정합니다. (이 경우 클라이언트 측의 작은 구성을 통해 DNS 설정을 완전히 제어할 수 있지만 웹 관련 DNS 쿼리에도 응답해야 하므로 더 많은 작업과 책임이 필요합니다.
-클라이언트 컴퓨터에서 호스트 파일을 수정합니다.여기에서 각 하위 도메인에 대한 대상 IP 주소(역방향 프록시의 IP)가 포함된 항목을 추가할 수 있습니다. (소규모 환경에서는 이 접근 방식을 권장합니다.)
FTP에서 호스트 파일을 가져오는 시작 스크립트를 실행하여 도메인 매핑을 업데이트할 때 중앙 집중식 솔루션을 확보함으로써 이 접근 방식을 더욱 우아하게 만들 수 있습니다. ) 스크립트는 각 클라이언트 장치에 배치되어야 하며, 이는 모바일 장치에서는 번거로울 수 있습니다.
보시다시피 올바른 솔루션을 찾으려면 책임과 클라이언트 구성을 모두 고려해야 하지만 그 중 어느 것도 클라이언트 구성을 0% 포함하지 않습니다.