DNS


My lovely DNS page!. I just compiled and installed our new DNS software on 3 linux boxes. On slackware 3.3 - 3.5. You can download source code at ftp://ftp.linuxrox.com/pub/linux/bind/src or at its master ftp site ftp://ftp.isc.org/isc/bind/src.

If you have trouble compiling bind 8.1.2 and get an error or internal compiler errors, UPGRADE/REPLACE your GCC NOW!!.. Enter the following the command "gcc -v". If you see i486 in the path for the specs file and you're running on a pentium upgrade!! The precompiled gcc-2.7.2.3.bin.tar.gz works great!! Compiling your own gcc is even better!!

Bind 8.1.2 DOES NOT USE /etc/named.boot anymore!!! it uses a new file call /etc/named.conf. THE SYNTAX BETWEEN THE TWO ARE NOT COMPATIBLE. If you are upgrading your bind/named, bind-8.1.2-src.tar.gz comes with a nice little perl program, called named-bootconf.pl, to convert to the new format. Enter this at your command line to do the conversion:

# named-bootconf.pl /etc/named.boot > /etc/named.conf

That'll create the correct format you need if you are upgrading. Slackware has updated bind in its installation to 8.1.2. For those installing bind for the first time here is my named.conf, for syntax reference:
 


// use double slashes for comments // 
/* Or regular C type comments */
options { 
        directory "/etc/named"; 
        listen-on { 
                  127.0.0.1;        /* Listen on lo */ 
                  207.201.8.101;    /* Listen on eth0. If listen-on is not defined, bind will listen */ 
                  };                /* on every ip alias. We run about 250 IP on single linux box */ 
                                    /* Its kinda of a waste */ 
        forwarders { 
                   207.113.220.2; 
                   }; 
};
zone "." { 
        type hint; 
        file "named.cache"; 
};
zone "0.0.127.IN-ADDR.ARPA" { 
        type master; 
        file "named.local"; 
};
zone "evilpeople.com" { 
        type master; 
        file "named.hosts.evilpeople"; 
};
zone "evilstuff.com" { 
        type master; 
        file "named.hosts.evilstuff"; 
};
zone "linuxrox.com" { 
        type master; 
        file "named.hosts.linuxrox"; 
};

Its more like a C syntax format.. I suggest also downloading the docs for bind 8.x.x so you get and install the man pages. Make sure you take a look at the Makefile so it'll the man in the correct places!! For my slackware box I set CATEXT to $$N, DESTDIR to /usr/man and MANDIR to man. Also the bind-docs.tar.gz has nice little html pages with an explanation of the new options.



How do I set up BIND to do MX / mail queuing??.

@               IN    SOA    ns1.infinex.com. root.sanfran.infinex.com. (
                                        1998013000 ; serial num incremented
                                        3600       ; refresh 1 hours
                                        900        ; retry 15 minutes
                                        604800     ; expire 7 days
                                        1800       ; minimum ttl 30 minutes
                                      )
                IN      NS      ns1.infinex.com.                   ; 1st DNS
                IN      NS      ns2.infinex.com.                   ; 2nd DNS
                IN      NS      news.infinex.com.                  ; 2nd DNS
                IN      A       10.0.2.15                          ; IP of domain if any
                IN      MX      10 money.mgissen.com.              ; mail
                IN      MX      20 smtp.infinex.com.               ; mail
;
localhost       IN      A       127.0.0.1                          ; local host
;
mg              IN      A       10.0.2.16                          ; IP of 1st server
                IN      HINFO   INTEL-586 UNIX-PC                  ; host info
;
ftp             IN      CNAME   mg.mgissen.com.
pop3            IN      CNAME   mg.mgissen.com.
smtp            IN      CNAME   mg.mgissen.com.
www             IN      CNAME   mg.mgissen.com.
 

Notice the red and blue lines. The red line should be the host that incoming/queued mail should try to goto (ie customer's mail server) first.  The blue line should be the host that the mail will to go if the red host is down. THIS IS IMPORTANT TO DO MAIL queuing! Note that if you do mail queuing for a domain, you can not any email aliasing. You should not have any entries in /etc/sendmail.cf referring to the domain or subdomain you are queuing for.



How do I setup the client side to pick up queue mail??

NT: Get Exchange 5.5
Win95: no idea yet
Unix/Linux: sendmail
Win31: HAHAH
Mac: no idea yet