Linux network dhcp server

Linux DHCP Server Configuration

This tutorial covers the configuration and set-up of a Linux DHCP server. It is a prerequisite that the network interface be configured. the server also be configured.

For Linux DHCP client configuration and general Linux (Red Hat, Fedora, CentOS) network configuration, see the YoLinux Networking Tutorial

Related YoLinux Tutorials:

Dynamic Host Configuration Protocol (DHCP) automatically assigns IP addresses and other network configuration information (subnetmask, broadcast address, etc) to computers on a network. A client configured for DHCP will send out a broadcast request to the DHCP server requesting an address. The DHCP server will then issue a «lease» and assign it to that client. The time period of a valid lease can be specified on the server. DHCP reduces the amount of time required to configure clients and allows one to move a computer to various networks and be configured with the appropriate IP address, gateway and subnet mask. For ISP’s it conserves the limited number of IP addresses it may use. DHCP servers may assign a «static» IP address to specified hardware. Microsoft NetBios information is often included in the network information sent by the DHCP server.

  1. Lease Request: Client broadcasts request to DHCP server with a source address of 0.0.0.0 and a destination address of 255.255.255.255. The request includes the MAC address which is used to direct the reply.
  2. IP lease offer: DHCP server replies with an IP address, subnet mask, network gateway, name of the domain, name servers, duration of the lease and the IP address of the DHCP server.
  3. Lease Selection: Client recieves offer and broadcasts to al DHCP servers that will accept given offer so that other DHCP server need not make an offer.
  4. The DHCP server then sends an ack to the client. The client is configured to use TCP/IP.
  5. Lease Renewal: When half of the lease time has expired, the client will issue a new request to the DHCP server.
  • Red Hat/CentOS/Fedora: rpm -ivh dhcp-x.xxx.elx.i386.rpm
  • Ubuntu/Debian 8: apt-get install dhcp3-server
    ( Later releases of Ubuntu (11.04) used the busybox release known as udhcpd and the configuration is NOT shown here)
  • Red Hat/CentOS/Fedora: service dhcpd start
    (or /etc/rc.d/init.d/dhcpd start for Red Hat, Fedora and CentOS Linux distributions)
  • Ubuntu/Debian: /etc/init.d/networking restart
  • Red Hat/CentOS/Fedora: /etc/dhcpd.conf
    (See /usr/share/doc/dhcp-3.X/dhcp.conf.sample)
    [Potential Pitfall] : Its /etc/dhcpd.conf NOT /etc/dhcp.conf !!
  • Ubuntu/Debian: /etc/default/dhcp3-server
ddns-update-style interim; # Required for dhcp 3.0+ / Red Hat 8.0+ ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 < range 192.168.1.128 192.168.1.254; # Range of IP addresses to be issued to DHCP clients option subnet-mask 255.255.255.0; # Default subnet mask to be used by DHCP clients option broadcast-address 192.168.1.255; # Default broadcastaddress to be used by DHCP clients option routers 192.168.1.1; # Default gateway to be used by DHCP clients option domain-name "your-domain.org"; option domain-name-servers 40.175.42.254, 40.175.42.253; # Default DNS to be used by DHCP clients option netbios-name-servers 192.168.1.100; # Specify a WINS server for MS/Windows clients. # (Optional. Specify if used on your network) # DHCP requests are not forwarded. Applies when there is more than one ethernet device and forwarding is configured. # option ipforwarding off; default-lease-time 21600; # Amount of time in seconds that a client may keep the IP address max-lease-time 43200; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # Default NTP server to be used by DHCP clients # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless you understand Netbios very well # option netbios-node-type 2; # We want the nameserver "ns2" to appear at a fixed address. # Name server with this specified MAC address will recieve this IP. host ns2 < next-server ns2.your-domain.com; hardware ethernet 00:02:c3:d0:e5:83; fixed-address 40.175.42.254; ># Laser printer obtains IP address via DHCP. This assures that the # printer with this MAC address will get this IP address every time. host laser-printer-lex1 < hardware ethernet 08:00:2b:4c:a3:82; fixed-address 192.168.1.120; >>

Test configuration file for errors with the following command: /etc/rc.d/init.d/dhcpd configtest
(Other distributions may use: /usr/sbin/dhcpd -f)

Читайте также:  Linux systems administration tools

Note: The MAC addresses for the static address name server (ns2.your-domain.com), can be obtained with either of the two commands:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:02:c3:d0:e5:83 brd ff:ff:ff:ff:ff:ff inet 192.168.42.214/24 brd 192.168.42.255 scope global dynamic eth0 valid_lft 82646sec preferred_lft 82646sec inet6 f080::477:3e0e:d5fd:803a/64 scope link valid_lft forever preferred_lft forever
eth0 Link encap:Ethernet HWaddr 00:02:C3:D0:E5:83 inet addr:192.168.42.214 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::202:b3ff:fef0:e484/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4070 errors:0 dropped:0 overruns:0 frame:0 TX packets:3878 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3406445 (3.2 MiB) TX bytes:439612 (429.3 KiB)

When dhcpd is running it will generate entries in the file: /var/lib/dhcp/dhcpd.leases

lease 192.168.1.128 starts 2 2004/12/01 20:07:05; 
ends 3 2004/12/02 08:07:05;
hardware ethernet 00:00:e8:4a:2c:5c;
uid 01:00:00:e8:4c:5d:31;
client-hostname "Node1";
>
  • ddns-update-style:
    • interim: allows your DHCP server to update a DNS server whenever it hands out a lease. Allows your DNS server to know which IP addresses are associated with which computers in your network. Requires that your DNS server support DDNS (Dynamic DNS).
    • none: to disable dynamic DNS updates or DNS is not supporting DDNS.
    • ad-hoc: been deprecated and shouldn’t be used

    LANs separated by routers: In order to have your DHCP broadcast pass through a router on the the next network, one must configure the router to allow DHCP relay. (Cisco: ip-helper address, Juniper: dhcp-relay) The local lan subnet configuration must come before the configuration directives of the remote LANs.

    Look for errors in /var/log/messages

    See dhcp-options man page below.

    • Client: dhclient: DHCP client daemon (replaces dhcpcd)
      • dhclient.conf: DHCP client configuration file (/etc/dhcp/dhcpd.conf)
      • dhclient.leases: DHCP client lease database (/var/lib/dhcpd/dhcpd.leases)
      • dhclient-script: DHCP client network configuration script
      • dhcpd.conf: dhcpd configuration file
      • dhcpd.leases: dhcpd DHCP client lease database
      • dhcp-options: dhcpd Dynamic Host Configuration Protocol options

      DHCP RFC's: RFC2131, RFC1541 (obsolete), RFC2132

      Note: DHCP client will overwrite your /etc/resolv.conf file with new information recieved from the DHCP server.

      Источник

      Установка и базовая настройка DHCP сервера на Ubuntu

      Обновлено и опубликовано

      Опубликовано: 12.03.2023

      Установка и настройка

      Сервер DHCP в Ubuntu может быть реализован с помощью пакета isc-dhcp-server. Его можно установить из стандартных репозиториев системы. Выполняем обновления кэша пакетов и установку:

      subnet 192.168.0.0 netmask 255.255.255.0 <
      range 192.168.0.100 192.168.0.200;
      option domain-name-servers 192.168.0.10, 192.168.0.11;
      option domain-name "dmosk.local";
      option routers 192.168.0.1;
      option broadcast-address 192.168.0.255;
      default-lease-time 600;
      max-lease-time 7200;
      >

      • subnet — сеть, для которой будет работать данная группа настроек.
      • range — диапазон, из которого будут браться IP-адреса.
      • option domain-name-servers — через запятую перечисленные DNS-сервера.
      • option domain-name — суффикс доменного имени.
      • option routers — шлюз по умолчанию.
      • option broadcast-address — адрес сети для широковещательных запросов.
      • default-lease-time и max-lease-time — время и максимальное время в секундах, на которое клиент получит адрес, по его истечению будет выполнено продление срока.

      Проверить корректность конфигурационного файла можно командой:

      dhcpd -t -cf /etc/dhcp/dhcpd.conf

      Разрешаем автозапуск сервиса:

      systemctl enable isc-dhcp-server

      systemctl restart isc-dhcp-server

      Добавляем правило в firewall:

      iptables -I INPUT -p udp --dport 67 -j ACCEPT

      Возможные проблемы

      Not configured to listen on any interfaces!

      Сервис dhcp не запускается, а в логе можно увидеть ошибки, на подобие:

      No subnet declaration for ens18 (192.168.1.10).
      .
      ** Ignoring requests on ens18. If this is not what
      you want, please write a subnet declaration
      in your dhcpd.conf file for the network segment
      to which interface ens18 is attached. **
      .
      Not configured to listen on any interfaces

      Причина: в конфигурационном файле описана подсеть, которая не настроена ни на одном из сетевых интерфейсов сервера.

      Решение: конфигурация subnet должна включать только те подсети, в которых настроен сам сервер DHCP. Посмотреть сетевые настройки можно командой:

      После чего необходимо проверить настройки в конфигурационном файле сервера dhcp.

      Читайте также

      Другие инструкции, связанные с DHCP:

      Источник

      About Dynamic Host Configuration Protocol (DHCP)

      The Dynamic Host Configuration Protocol (DHCP) is a network service that enables host computers to be automatically assigned settings from a server as opposed to manually configuring each network host. Computers configured to be DHCP clients have no control over the settings they receive from the DHCP server, and the configuration is transparent to the computer’s user.

      The most common settings provided by a DHCP server to DHCP clients include:

      • IP address and netmask
      • IP address of the default-gateway to use
      • IP addresses of the DNS servers to use

      However, a DHCP server can also supply configuration properties such as:

      The advantage of using DHCP is that any changes to the network, such as a change in the DNS server address, only need to be changed at the DHCP server, and all network hosts will be reconfigured the next time their DHCP clients poll the DHCP server. As an added advantage, it is also easier to integrate new computers into the network, as there is no need to check for the availability of an IP address. Conflicts in IP address allocation are also reduced.

      DHCP configuration

      A DHCP server can provide configuration settings using the following methods:

      Manual allocation (MAC address)

      This method uses DHCP to identify the unique hardware address of each network card connected to the network, and then supplies a static configuration each time the DHCP client makes a request to the DHCP server using that network device. This ensures that a particular address is assigned automatically to that network card, based on its MAC address.

      Dynamic allocation (address pool)

      In this method, the DHCP server assigns an IP address from a pool of addresses (sometimes also called a range or scope) for a period of time (known as a lease) configured on the server, or until the client informs the server that it doesn’t need the address anymore. This way, the clients receive their configuration properties dynamically and on a “first come, first served” basis. When a DHCP client is no longer on the network for a specified period, the configuration is expired and released back to the address pool for use by other DHCP clients. After the lease period expires, the client must renegotiate the lease with the server to maintain use of the same address.

      Automatic allocation

      Using this method, the DHCP automatically assigns an IP address permanently to a device, selecting it from a pool of available addresses. Usually, DHCP is used to assign a temporary address to a client, but a DHCP server can allow an infinite lease time.

      The last two methods can be considered “automatic” because in each case the DHCP server assigns an address with no extra intervention needed. The only difference between them is in how long the IP address is leased; in other words, whether a client’s address varies over time.

      Available servers

      Ubuntu makes two DHCP servers available:

      • isc-dhcp-server :
        This server installs dhcpd , the dynamic host configuration protocol daemon. Although Ubuntu still supports isc-dhcp-server , this software is no longer supported by its vendor. Find out how to install and configure isc-dhcp-server .
      • isc-kea :
        Kea was created by ISC to replace isc-dhcp-server – It is supported in Ubuntu releases from 23.04 onwards. Find out how to install and configure isc-kea .

      References

      • The isc-dhcp-server Ubuntu Wiki page has more information.
      • For more /etc/dhcp/dhcpd.conf options see the dhcpd.conf man page.
      • ISC dhcp-server
      • ISC Kea Documentation

      Источник

Оцените статью
Adblock
detector