
다음을 사용하여 자체 Zerotier 컨트롤러를 설정했습니다.ztncui훌륭하게 작동하지만 작동할 수 없는 설정 중 하나가 있는데 그것은 클라이언트가 ZeroTier 네트워크에 대해 구성한 DNS를 사용하도록 하는 것입니다. DNS는 다음과 같이 구성됩니다.
{
"domain": "",
"servers": [
"10.10.14.26"
]
}
10.10.14.26
DNS 서버의 ZeroTier IP 주소는 어디에 있습니까(로컬 라우터로 전달하는 dnsmasq를 실행하는 Linux 서버와 마찬가지로). ZeroTier 클라이언트에서 직접 DNS 서버의 응답을 테스트할 때마다 올바른 결과를 얻습니다(예: 직접 사용하도록 DNS를 구성하거나 를 사용할 때 DNS 서버를 지정 dig
). 그러나 "DNS 구성 허용"을 선택하면 클라이언트는 DNS 서버에 직접 요청할 때 확인되는 호스트 이름 확인을 여전히 거부합니다.
또한 ZeroTier IP 대신 DNS 서버의 로컬 IP 주소를 사용해 보았지만 결과는 동일했습니다(클라이언트도 로컬 IP에 액세스할 수 있도록 IP 전달이 동일한 Linux 서버에 설정되어 있습니다).
ZeroTier 클라이언트가 내가 구성한 DNS 서버를 사용하도록 하려면 어떻게 해야 합니까?
내 백업 계획은 지원해야 하는 다양한 플랫폼에 대해 다양한 스크립트를 작성하고 ZeroTier 네트워크에 각각 연결하거나 연결을 끊을 때 전역 DNS를 덮어쓰고 복원하도록 하는 것입니다. 그런데 "DNS 구성 허용" 옵션의 용도는 무엇입니까? .
Linux 클라이언트에서는 DNS 기능이 작동하지 않는다는 것을 알고 있지만 저는 유일한 Linux 클라이언트이므로 이것이 큰 문제가 되지 않습니다. 나머지 클라이언트는 Windows 또는 MacOS를 사용하며 이 기능은출근했다고 보고됨:
ZeroTier 관리형 DNS는 현재 Windows, MacOS, Android 및 iOS에서만 지원됩니다. Linux 지원은 곧 제공될 예정이지만 Debian 및 CentOS/RHEL에 있는 것과 같은 일반적인 Linux DNS 확인자 구성으로 제한될 수 있습니다.
답변1
이것이 내 질문에 대한 적절한 대답은 아니지만 내 요구 사항을 해결했습니다. 에 설명된 대로이 게시물결국 추가 iptables
명령을 통해 VPN 서버를 강제로 실행했습니다.
iptables -t nat -A PREROUTING -s vpn_network -p udp --dport 53 -j DNAT \
--to-destination your_DNS_server
iptables -t nat -A PREROUTING -s vpn_network -p tcp --dport 53 -j DNAT \
--to-destination your_DNS_server
참고: 이것을 테스트한 Windows 10 컴퓨터는 올바른 결과를 즉시 표시하지 않았지만 대부분의 실험 변경 사항을 재설정한 후에는 계속 제대로 작동했습니다. 그런 다음 깨끗한 기계에서 테스트했을 때 즉시 작동했습니다.