# DNS with BIND 9

## masseya

I've been trying to setup DNS on my network with BIND 9 and I don't really know a whole lot about BIND regardless of the version.  I've been told that you have to be pretty careful what references you look at because it's changed a good bit between versions.  Unfortunately, I haven't been able to find a good (free) reference for setting up BIND 9 on a small network.  Any suggestions would be greatly appreciated.

Thanks!

----------

## Nitro

I can help you, if you share with us what you already have, and what you want to do.  Your best friend for this 'man named.conf'.  Goodluck.

----------

## Hellfire

In addition: Bind9 ARM

-h

----------

## masseya

Thanks for the quick responses!  I'm always amazed by how fast people are able to provide accurate information on this BB.    :Very Happy: 

For some background information, I'm setting up a small home network with less than 10 computers.  I'm a college student and I have a lot of friends with laptops who have wireless NICs.  (Purdue University has a wireless network on campus.)  My goals are to understand the basics of networking and be able to provide some simple services for my own network such as DNS, external ssh, and a basic firewall.  I have a wireless router that would work to achieve my goals under most circumstances, but my ISP (Nomet) doesn't like to do things in a 'normal' way.    :Evil or Very Mad: 

Nomet uses a modified, rate-limited DHCP setup where you log on to their network and they give you a DHCP'd IP address that lasts only 30 seconds.  Then they analyze who you are via MAC address and give you a bandwidth appropriate to what you need (in their opinion).  Basically, this means that if you are surfing the net you'll have a lot of bandwidth, but if you are downloading anything they don't give you much at all.  The idea is to prevent the network from being deluged by people downloading thousands of MP3's, but the result is that people who have ligitimate computing needs are screwed.    :Confused: 

Regardless, I have been totally unable to configure my wireless router to function properly on this network, even though it's capable of MAC address spoofing.  I am >< this close to getting basic things (like DNS) working via my gentoo box.  What I really need is a simple DNS configuration for a small network where all IP's are basically just assigned (no DHCP).  I think I'm going to try and figure it out this weekend and see what questions I have.  I'm almost glad that my ISP sucks because it's been quite fun to dig in and learn some of this stuff on my own.

As an aside, I was completely shocked that I was able to install Gentoo on a computer via this network.  I even called Nomet to attempt to figure out why I succeeded, but they seemed to have a windows-only support group that wouldn't connect me with someone who knew anything about networking.  To be honest, the entire breadth of my knowledge of their network is based on things that my roommate and I have pieced together from experimentation.  The reason that I thought gentoo wouldn't succeed is that any period of idleness on the client's part of the network would result in being disconnected.  I thought that while gentoo was compiling something, it would be disconnected from the network.  Does gentoo download something while it compiles something else?  Would that possibly improve the speed of installing things on a network where bandwidth was severly limited for large downloads?

Just food for thought...

----------

## masseya

What package has the man page for named.conf?  I've tried 

```
emerge sys-apps/man-pages
```

but that didn't turn the trick.  Any suggestions?

----------

## Nitro

It is probably in the bind package, try:  

```
emerge bind
```

 *Tristam29 wrote:*   

>  The reason that I thought gentoo wouldn't succeed is that any period of idleness on the client's part of the network would result in being disconnected. I thought that while gentoo was compiling something, it would be disconnected from the network. Does gentoo download something while it compiles something else? Would that possibly improve the speed of installing things on a network where bandwidth was severly limited for large downloads? 

 

Also, you can download a package and all its dependencies at once, then build later with:

```
emerge -f <package>
```

----------

## kabau

Hi, I wouldn't recommend BIND for this application if I understand it correctly.  It sounds like you need djbdns as it's a much lighter implementation and has lots fewer features than BIND.  BIND is extremely powerful, and serving DNS for a small LAN will hardly scratch that feature-set.  Also, BIND can be quite daunting to configure for those new to setting up DNS and the like.  I've not used djbdns myself, but it has been recommended for light applications like yours by people whose opinions I respect.

Also, it sounds like you really need to setup a DHCP server so you don't have to assign IPs to people.  They can just attach to the network and have the Gentoo server give them an IP.  That's what I do on my home network with a wireless bridge.  Makes it easy for people when they come over, and when I take my laptop around.  You also don't have to tell people about changes if you make them.  Their box will just pick up the changes from the DHCP server.

So, I'd emerge net-misc/djbdns and net-misc/dhcp.

My $0.50,

kabau

----------

## masseya

Well, I just tried 

```
emerge bind
```

and I still don't have the man page.  I'm going to try 

```
emerge sys-apps/man
```

and see if that allows me to access it.  If not I think I'll look at djbdns.    :Very Happy: 

----------

## roman

As we were talking in #gentoo, there is probably a bug, there is no

named.conf man file in bind package now...

Roman.

P.S.: I'm also looking for this "masked" man page  :Smile: 

----------

## Nitro

 *roman wrote:*   

> As we were talking in #gentoo, there is probably a bug, there is no named.conf man file in bind package now...
> 
> P.S.: I'm also looking for this "masked" man page 

 

You are right! Uh oh.  Oh well.  I guess you will just have to emerge the new version.  :Smile:   I just committed bind-9.2.1-r1.ebuild.  It includes the named.conf manpage, turns out it isn't in the source tarball.  I also added a couple other goodies and fixes... alot of fixes.

----------

## masseya

Well...  I am going to give djbdns a try, but I can't access the man pages for that even though I have successfully emerge'd djbdns-man.  Then I tried emerging the fixed BIND 9 package and still couldn't access my man pages.  Is there something that I might have wrong with my man.conf file?  I'm pretty sure this is I'm using the standard man.conf file, but here's a copy just in case:

```
#

# Generated automatically from man.conf.in by the

# configure script.

#

# man.conf from man-1.5i1

#

# For more information about this file, see the man pages man(1)

# and man.conf(5).

#

# This file is read by man to configure the default manpath (also used

# when MANPATH contains an empty substring), to find out where the cat

# pages corresponding to given man pages should be stored,

# and to map each PATH element to a manpath element.

# It may also record the pathname of the man binary. [This is unused.]

# The format is:

#

# MANBIN                pathname

# MANPATH               manpath_element [corresponding_catdir]

# MANPATH_MAP           path_element    manpath_element

#

# If no catdir is given, it is assumed to be equal to the mandir

# (so that this dir has both man1 etc. and cat1 etc. subdirs).

# This is the traditional Unix setup.

# Certain versions of the FSSTND recommend putting formatted versions

# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x.

# The keyword FSSTND will cause this behaviour.

# Certain versions of the FHS recommend putting formatted versions of

# /usr/.../share/man/[locale/]manx/page.x into

# /var/cache/man/.../[locale/]catx/page.x.

# The keyword FHS will cause this behaviour (and overrides FSSTND).

# Explicitly given catdirs override.

#

# FSSTND

FHS

#

# This file is also read by man in order to find how to call nroff, less, etc.,

# and to determine the correspondence between extensions and decompressors.

#

# MANBIN                /usr/local/bin/man

#

# Every automatically generated MANPATH includes these fields

#

MANPATH /usr/man

MANPATH /usr/share/man

MANPATH /usr/local/man

MANPATH /usr/X11R6/man

MANPATH /usr/lib/perl5/man

#

# Set up PATH to MANPATH mapping

#

# (these mappings are superfluous when the right hand side is

# in the mandatory manpath already, but will keep man from statting

# lots of other nearby files and directories)

#

MANPATH_MAP     /bin                    /usr/man

MANPATH_MAP     /sbin                   /usr/man

MANPATH_MAP     /usr/bin                /usr/man

MANPATH_MAP     /usr/sbin               /usr/man

MANPATH_MAP     /usr/local/bin          /usr/local/man

MANPATH_MAP     /usr/local/sbin         /usr/local/man

MANPATH_MAP     /usr/X11R6/bin          /usr/X11R6/man

MANPATH_MAP     /usr/bin/X11            /usr/X11R6/man

MANPATH_MAP     /usr/bin/mh             /usr/man

#

# NOAUTOPATH keeps man from automatically adding directories that look like

# manual page directories to the path.

#NOAUTOPATH

#

# Useful paths - note that COL should not be defined when

# NROFF is defined as "groff -Tascii" or "groff -Tlatin1";

# not only is it superfluous, but it actually damages the output.

#

TROFF           /usr/bin/groff -Tps -mandoc

NROFF           /usr/bin/nroff -mandoc

EQN             /usr/bin/geqn -Tps

NEQN            /usr/bin/geqn -Tlatin1

TBL             /usr/bin/gtbl

# COL           /usr/bin/col

REFER           /usr/bin/refer

PIC             /usr/bin/pic

VGRIND

GRAP

PAGER           /usr/bin/less -is

CAT             /usr/bin/cat

#

# The command "man -a xyzzy" will show all man pages for xyzzy.

# When CMP is defined man will try to avoid showing the same

# text twice. (But compressed pages compare unequal.)

#

CMP             /usr/bin/cmp -s

#

# Compress cat pages

#

COMPRESS        /bin/gzip

COMPRESS_EXT    .gz

#

# Default manual sections (and order) to search if -S is not specified

# and the MANSECT environment variable is not set.

#

MANSECT         1:8:2:3:4:5:6:7:9:tcl:n:l:p:o

#

# Default options to use when man is invoked without options

# This is mainly for the benefit of those that think -a should be the default

# Note that some systems have /usr/man/allman, causing pages to be shown twice.

#

# @noall@MANDEFOPTIONS  -a

#

# Decompress with given decompressor when input file has given extension

# The command given must act as a filter.

#

.gz             /bin/gunzip -c

.bz2            /bin/bzip2 -c -d

.z

.Z              /bin/zcat

.F

.Y

```

Thanks for all the help!

----------

