Linux DNS(네이밍) 서비스

Linux DNS(네이밍) 서비스

일부 글로벌 웹사이트(google.com, Facebook.com)를 로컬 IP 주소(예: 192.168.0.1)로 확인하는 방법. 누구든지 나를 도와줄 수 있나요?

; Authoritative data for facebook.com zone
;
$TTL 1D
@   IN SOA  epc.facebook.com   root.epc.facebook.com. (
                                       2017031301      ; serial
                                       1D              ; refresh
                                       1H              ; retry
                                       1W              ; expire
                                       3H )            ; minimum

$ORIGIN         facebook.com.
epc                     IN      A       127.0.0.1
facebook.com            IN      A       192.168.0.1

그러나 채굴 결과는 다음과 같습니다.

; <<>> DiG 9.10.3-P4-Raspbian <<>> facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21851
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;facebook.com.                  IN      A

;; ANSWER SECTION:
facebook.com.           3441    IN      A       185.60.216.35

;; Query time: 1 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Tue Jan 30 16:51:44 UTC 2018
;; MSG SIZE  rcvd: 57

구성 파일 구문 분석

# Generated by resolvconf
nameserver 192.168.0.1

이름:

   cat named.conf.default-zones
        // prime the server with knowledge of the root servers
        zone "." {
                type hint;
                file "/etc/bind/db.root";
        };

        // be authoritative for the localhost forward and reverse zones, and for
        // broadcast zones as per RFC 1912

        zone "localhost" {
                type master;
                file "/etc/bind/db.local";
        };

        zone "127.in-addr.arpa" {
                type master;
                file "/etc/bind/db.127";
        };

        zone "0.in-addr.arpa" {
                type master;
                file "/etc/bind/db.0";
        };

        zone "255.in-addr.arpa" {
                type master;
                file "/etc/bind/db.255";
        };

        zone "com.farizHost.arpa" {
                type master ;
                file "/etc/bind/fariz.zone.db" ;
        };

그리고..

root@raspberrypi:/etc/bind# cat named.conf.options
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

답변1

도메인 이름 facebook.com을 확인하려면 다음 지시문을 추가해야 합니다.

    zone "facebook.com" {
            type master;
            file "/etc/bind/facebook.db";
    };

여기서 facebook.db는 질문 시작 부분에 있는 파일입니다.

SOA도 수정되어야 합니다.

IN SOA  epc.facebook.com. root.epc.facebook.com. (

그런데 SOA 도메인이 facebook.com일 필요는 없습니다.

답변2

이는 RPZ 기능을 바인딩하는 작업입니다. 다음을 참조하세요.https://dnsrpz.info/

DNS RPZ(도메인 이름 서비스 응답 정책 영역)는 이름 서버 관리자가 전역 DNS 위에 사용자 지정 정보를 오버레이하여 쿼리에 대한 대체 응답을 제공할 수 있는 방법입니다. 현재 ISC BIND 이름 서버(9.8 이상)에 구현되어 있습니다. DNS RPZ 기능의 또 다른 일반적인 이름은 "DNS 방화벽"입니다.

문서에 명시된 대로 다음이 필요합니다.

response-policy { zone "badlist"; };
zone "badlist" {type master; file "master/badlist"; allow-query {none;}; };

구성 및 "영역" 파일에서는 master/badlist다음과 같습니다.

$TTL 1H
@ SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
  NS LOCALHOST.
www.google.com     A 192.168.0.1
www.facebook.com   A 192.168.0.1

관련 정보