Q:

external resolve dns linux bind9

I'm 3 days trying to fix my nameservers to a .tk domain, just for testing because I'm going to not go to .com.  I wanted to understand how I could solve my DNS even outside and not just on a private network.  Repeat the server configuration:
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; };
};

named.conf.local
    //
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "fresky.tk" IN {
        type master;
        file "/etc/bind/zones/db.fresky.tk";
};

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

ZONE fresky.tk
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns1.fresky.tk.  admin.fresky.tk. ( 
                     2006020201 ; Serial
                         604800 ; Refresh
                          86400 ; Retry
                        2419200 ; Expire
                         604800); Negative Cache TTL
;

;
; NS Records
;

fresky.tk.       IN      NS      ns1.fresky.tk. 
fresky.tk.       IN      NS      ns2.fresky.tk. 

;
; A Records (Only Nameservers)
;

ns1     IN      A       176.31.163.33
ns2     IN      A       176.31.163.33

;
; A Records (General)
;
fresky.tk.       IN      A       176.31.163.33
www.fresky.tk.   IN      A       176.31.163.33
ftp.fresky.tk.   IN      A       176.31.163.33

ZONE Reverse 33.163.31.173.in-addr.arpa
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     fresky.tk.  admin.fresky.tk. (  
                     2006020201 ; Serial
                         604800 ; Refresh
                          86400 ; Retry
                        2419200 ; Expire
                         604800); Negative Cache TTL
;

;
; NS Records
;
        IN      NS      ns1.fresky.tk. 
        IN      NS      ns2.fresky.tk. 
;
; PTR Records (Only NameSever)
;
33.163.31.176.in-addr.arpa.      IN      PTR     ns1.fresky.tk. 
33.163.31.176.in-addr.arpa.      IN      PTR     ns2.fresky.tk. 

;
; PTR Records (General)
;
33.163.31.176.in-addr.arpa.      IN      PTR     ftp.fresky.tk. 
33.163.31.176.in-addr.arpa.      IN      PTR     www.fresky.tk. 

/etc/hosts && /etc/resolv.con
# Your system has configured 'manage_etc_hosts' as True. 
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
176.31.163.33 fresky.tk fresky
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

search fresky.tk
nameserver 127.0.0.1

A:

You need to register glue records at https://my.freenom.com 
(My Domains / Manage Domain / Management tools / Register glue records)
Add 176.31.163.33 as IP address for ns1.fresky.tk and ns2.fresky.tk

