SHA256
1
0
forked from pool/dhcp

- Initially switched to use systemd service files under systemd

and enabled Restart=on-abort (fate#315133).
- Update to ISC dhcp-4.2.6 release. See RELNOTES file for the
  complete list of changes -- digest of fixes not in dhcp-4.2.5:
  - Tidy up receive packet processing.
    Thanks to Brad Plank of GTA for reporting the issue and
    suggesting a possible patch. [ISC-Bugs #34447]
  - Fix the socket handling for DHCPv6 clients to allow multiple
    instances of a client on a single machine to work properly.
    Previously only one client would receive the packets.
    Thanks to Jiri Popelka at Red Hat for the bug report and a
    potential patch. [ISC-Bugs #34784]
  - Added support for gentle shutdown after signal is received.
    [ISC-Bugs #32692] [ISC-Bugs 34945]
  - Enhance the DHCPv6 server logging to include the addresses
    that are assigned to the clients.  This can be enabled by
    defining LOG_V6_ADDRESSES in site.h. [ISC-Bugs #26377]
  - Fix an operation in the DDNS code to be a bitwise instead
    of logical or. [ISC-Bugs #35138]
- Merged patches for dhcp-4.2.6 version to apply without fuzzy,
  prepended patch number prefixes to match spec file patch nr,
  added patch markup tags / bug numbers to the spec file.
- Applied contrib-lease-path pach to contrib.tar.gz
  [- contrib-lease-path.diff]
- Changed to require automake and use its config.sub and guess
  files instead of maintaining a patch.
  [- config-guess-sub-update.patch]
- Enabled to log DHCPv6 addresses assigned by server to clients
  [+ 0016-server-log-DHCPv6-addresses-assigned-to-clients.patch]
- Cleaned up documentation, rpmlint adjustments.

OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=121
This commit is contained in:
2014-02-10 18:14:12 +00:00
committed by Git OBS Bridge
parent f1f840f0e7
commit d059c507b7
44 changed files with 3627 additions and 4360 deletions

View File

@@ -1,55 +1,21 @@
/* README.SuSE for the ISC DHCP server */
/* README.SUSE for the ISC DHCP server */
Before you can run dhcpd, you have to configure it via
- /etc/sysconfig/dhcpd (general settings)
and
- /etc/dhcpd.conf (configuration file)
- /etc/dhcpd.conf (DHCPv4 configuration file)
- /etc/dhcpd6.conf (DHCPv6 configuration file)
See /usr/share/doc/packages/dhcp-server for example configurations.
Note on packet filtering
========================
This dhcp package contains an additional dhcpd binary (/usr/sbin/dhcpd.bsd)
which is compiled using BSD sockets instead of LPF (linux packet filter).
Option 119 (domain-search) vs. option 15 (domain-name)
======================================================
Using that binary, the network traffic handled by dhcpd can be filtered by the
packet filter of the Linux kernel, while the raw sockets used normally would
bypass any filtering. However, there is a tiny number of setups where this can
result in incompatibilities with certain DHCP clients, or with DHCP relay
agents in between. More information and a discussion of side effects was
discussed here:
See http://marc.theaimsgroup.com/?l=dhcp-server&m=108791973729847&w=2
It is possible to choose the binary by adjusting DHCPD_BINARY in
/etc/sysconfig/dhcpd.
Option 119 (Searchlist)
=======================
For this relatively new option (DHCP Option 119, RFC3397) the server does not
have a dedicated configuration option yet. It must be declared as free option,
after compressing the search string with DNS compression (see below), and put
into the configuration like this:
option searchlist code 119 = string;
option searchlist "\x07domain1\x07example\x03com\x00\x07domain2\xc0\x08";
The first line is always used globally; the second one could be placed in a
subnet block.
The compressed string can be generated with the program
/usr/share/doc/packages/dhcp-server/dnscompr.py as shown here (example):
# python /usr/share/doc/packages/dhcp-server/dnscompr.py domain1.example.com domain2.example.com
'\x07domain1\x07example\x03com\x00\x07domain2\xc0\x08'
dnscompr.py needs the python-dnspython package installed, which is shipping
since 10.0. For older SUSE Linux versions the python-module can be found at
http://ftp.suse.com/pub/people/poeml/python-dnspython/
The compression is described in RFC 3397, and (with more detail) in RFC1035.
The domain-name option supports only one, signgle domain (default domain).
The domain-search option supports a list of domain names. Please do not
abuse the domain-name option to provide a list -- it may be discarded by
dhcp clients.
Chroot Jail
@@ -66,11 +32,10 @@ which, in this combination, is the safest possible way of running dhcpd.
In order to be found by dhcpd in the chroot jail, the configuration file
will automatically copied to /var/lib/dhcp/etc/ when the server is started.
Further conf files (include files) can be listed in DHCPD_CONF_INCLUDE_FILES
in /etc/sysconfig/dhcpd.
To enable dhcpd to continue logging from the chroot environment even after
syslogd has been restarted, "-a /var/lib/dhcp/dev/log" is automatically added to the syslog configuration in /etc/sysconfig/syslog.
or DHCPD6_CONF_INCLUDE_FILES in /etc/sysconfig/dhcpd.
The /var/lib/dhcp/dev/log syslog socked is automatically provided in the
chroot environment as soon as it is initially set up.
NOTE:
In the chroot jail, dhcpd can't resolve hostnames unless it can find
@@ -82,6 +47,7 @@ the following files:
/lib/libresolv.so.2
/lib/libnss_dns.so.2
/lib/libnss_dns6.so.2
....
Thererore, these files (about 100 kB) will automatically copied to the chroot
jail when the server is started. (You might have to keep these current if
they are modified dynamically by other programs (e.g./etc/ppp/ip-up) while
@@ -89,14 +55,8 @@ dhcpd is running.) This is not a problem at all when you use IP addresses
instead of host names in the config file.
In case of trouble, you can also disable the chroot feature by setting
DHCPD_RUN_CHROOTED in /etc/sysconfig/dhcpd to "no".
See
<http://www.isc.org/ml-archives/dhcp-server/2000/04/msg00097.html>
and
<http://www.securityportal.com/closet/closet20001129.html>
for more information.
DHCPD_RUN_CHROOTED/DHCPD6_RUN_CHROOTED in /etc/sysconfig/dhcpd to "no".
Have a lot of fun!
Your SuSE Team
Your SUSE Linux Team