Debian8 DHCP服务器配置

Installation

As usual, installation is very simple with apt. As root simply run

root# apt-get install isc-dhcp-server
or

root# aptitude install isc-dhcp-server

Configuration

First you should edit or create the file /etc/default/isc-dhcp-server with root permissions, either by running dpkg-reconfigure isc-dhcp-server or enter something like this into the file /etc/default/isc-dhcp-server:

INTERFACES="eth0"
The main configuration file for a dhcp-server is /etc/dhcp/dhcpd.conf. Remember to make a backup copy of it before you edit the file.

Basic configuration

For a basic configuration, you have to add/edit the following lines in /etc/dhcp/dhcpd.conf. I would leave all other lines as they are.

option domain-name "spices.org";
This entry provides the name of the domain, spices.org in this case (I am not sure whether and for what this is necessary. I guess it is needed if you want to refer to computers in the LAN by name without domain name, i.e. if you want to refer to computer pepper.spices.org just with pepper.).

option domain-name-servers 213.191.92.86, 213.191.74.18;
This entry provides the IP-addresses of two domain name servers (DNS), but one would be sufficient, too. You have to list here the DNS that work for your internet provider, the addresses given here will most likely not work for you.

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.10;
option routers pepper.spices.org;
}
This entry defines the LAN and the router of the LAN. The IP-addresses 192.168.1.1 to 192.168.1.255 are typical for an intranet. Here only the range 192.168.1.1 to 192.168.1.10 are permitted. pepper.spices.org is in this case the server connected to the internet that serves as a router.

To make your changes effective you have to restart the dhcp-demon. Run as root

root# /etc/init.d/isc-dhcp-server restart # new version
root# /etc/init.d/dhcp3-server restart # old version

Advanced configuration

Assign fixed addresses
To assign a fixed address, e.g. 192.168.1.5, to a particular machine, e.g. cinnamon, add a statement like the following to the configuration file.

host cinnamon {
hardware ethernet 00:0D:87:B3:AE:A6;
fixed-address 192.168.1.5;
}
The cryptic number 00:0D:87:B3:AE:A6 is the hardware address of the interface of cinnamon. It identifies the client to the server. You can get it by running the ifconfig command on the client if the interface is up.

The name (cinnamon) given here is pretty arbitrary at this point and not used for anything yet, as far as I can tell.

More information
Consult the man pages for advanced options.

user> man dhcpd.conf
Starting the DHCP server
You can test your DHCP server without rebooting:

sudo service isc-dhcp-server stop
sudo service isc-dhcp-server start
sudo ifdown eth0
sudo ifup eth0
To see your DHCP server error messages, or see when a device has grabbed an IP from this DHCP server:

sudo tail /var/log/syslog
To see if your DHCP server daemon is running:

ps ax | grep dhcpd
Example of a simple DHCP server
If you want your computer to be the DHCP server of an ethernet network, using the IP address 192.168.1.100 for your computer and 192.168.1.101 or higher for the other computers, you can use these configuration settings:

Contents of "/etc/network/interfaces":

The loopback network interface (always required)

auto lo
iface lo inet loopback

Assign a static IP for this DHCP server through eth0:

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
Contents of "/etc/resolv.conf":

Use Google public DNS server:

nameserver 8.8.8.8
nameserver 8.8.4.4

(or use faster values that your internet provider gave you!)

Contents of "/etc/dhcp/dhcpd.conf:

option domain-name "mydebian";

Use Google public DNS server (or use faster values that your internet provider gave you!):

option domain-name-servers 8.8.8.8, 8.8.4.4;

Set up our desired subnet:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.101 192.168.1.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.100;
option domain-name-servers home;
}
default-lease-time 600;
max-lease-time 7200;

Show that we want to be the only DHCP server in this network:

authoritative;
After running the DHCP server (as mentioned above, or by rebooting), you should be able to attach your other devices to the network and they should automatically be assigned DHCP addresses. To make sure a computer is configured to get its IP address using DHCP, put this into "/etc/network/interfaces":

The loopback network interface (always required)

auto lo
iface lo inet loopback

Get our IP address from any DHCP server

auto eth0
iface eth0 inet dhcp
(Or do the equivalent using Network Manager or whatever that device is using to configure its network)

发表评论

电子邮件地址不会被公开。 必填项已用*标注