소개하다
나는 로컬 DNS를 제공하는 BIND를 사용하여 Linux 상자를 설정했습니다.
기본적으로 RPZ를 활용하여 특정 호스트를 제한할 수 있으며, DNSCRYPT를 사용하면 DNS 결과를 위해 모든 것을 OpenDNS로 전달합니다.
이것은 꽤 잘 작동합니다 ..
내 안에/etc/bind/named.conf.options나는 가지고있다:
forwarders {
127.0.0.1 port 5353; };
5353의 데몬은 기본적으로 내 요청을 OpenDNS로 전달하는 DNSCRYPT 수신기입니다.
문제는
그러나 애니캐스트 IP 주소를 사용하거나 위치 정보를 활용하여 기능 속도를 높이는 CDN/서버에는 몇 가지 큰 문제가 있는 것 같습니다.
일부 목록:
- wetransfer (최근 Amazon AWS 사용)
- 윤야오
- 아마존AWS
이러한 모든 서비스(storage.googleapis.com 제외)는 컴퓨터를 광섬유 모뎀에 직접 연결할 때보다 대역폭 측면에서 훨씬 느립니다.
내 생각엔
나는 이 문제의 원인이 궁극적으로 요청을 하는 OpenDNS가 다른 곳에 있고 우리가 애니캐스트를 요청하면 내 위치를 존중하기 때문이라고 믿기 시작했습니다.
Amazon AWS S3 스토리지(예: Wetransfer)를 사용하는 서비스는 계속 작동하지만 결국 일반 피어링 범위를 벗어난 서버를 사용하게 될 것이며 미국에 있는 경우 EU 또는 아시아 서버를 사용하는 경향이 있습니다. , 미국 서버 등을 사용하는 경향이 있습니다.
이렇게 하면 핑이 증가하지만 더 긴 경로를 사용하고 더 낮은 대역폭을 부여하게 됩니다.
내 경우에는 테스트를 해봤다.s3-us-west-1.amazonaws.comOpenDNS 검사 도구를 사용하세요. 보시다시피, 다른 서버를 가리키는 DNS는 사용자의 위치에 따라 매우 다르게 작동합니다.
어떻게 해결될 수 있을 것 같나요?
공급자의 광섬유 모뎀에는 내부 DNS 서버가 있고 s3-us-west-1.amazonaws.com과 같은 cname을 확인하여 지리적 거리에 따른 대역폭을 기반으로 최상의 서버를 선택하므로 모든 *.amazonaws.com 쿼리 192.168을 전달하고 싶습니다. DNSCRYPT 대신 .0.1.
사용하고 싶은 다른 모든 도메인에 대해:
forwarders {
127.0.0.1 port 5353; };
그러나 도메인이 *.amazonaws.com, *.cloudflare.com, *.wetransfer.com.. 내에 있는 경우 대신 다음을 사용하세요.
forwarders {
192.168.0.1 port 53; };
질문은 다음과 같습니다.
RPZ 파일에서 어떻게든 지정할 수 있나요? 어떻게?
감사해요!
편집: 어쩌면 Reddit 스레드에서 해결책을 찾았을 수도 있습니다. 나중에 확인하기 위해 여기에 넣었습니다.
options {
// ... lots of other stuffs
// forward all queries to google dns
forward only;
forwarders {
8.8.8.8; // google-public-dns-a.google.com.
8.8.4.4; // google-public-dns-b.google.com.
};
// ... lots of other stuffs
};
zone "akamai.com" IN {
type forward;
forward only;
forwarders {
75.75.75.75; // comcast ISP DNS
};
};