Fri 20 Oct 2006
Using dhcpd with Old Linux Kernels dhcpd works well with the Linux 2.4 kernel. However, if your Linux system uses an outdated kernel, installing dhcpd may not be all that is required to get it running. In that case, there are a few potential problems that need to be addressed by system-specific configurations. The best way to solve these problems is to update to a new kernel. If, for some reason, you are unwilling to update your kernel, you should read this sidebar. If you provide service to Microsoft Windows DHCP clients, you may encounter problems with the limited broadcast address. If it appears that Microsoft Windows clients do not see DHCP messages from the server while other types of clients do, you need to define a specific route for the limited broadcast address on your Linux server. To do so, first add the name all-ones to the /etc/hosts table: 255.255.255.255 all-ones Then, add a route for the limited broadcast address: route add -host all-ones dev eth0 To reinstall the special route after each boot, add the route statement to the rc.local startup script. Old distributions with the versions of the kernel that require it often include the code to add the limited broadcast route in the /etc/rc.d/init.d/dhcpd script used to start dhcpd. In addition to the limited broadcast problem, there are some other problems that relate to old Linux kernels. Multiple network interfaces dhcpd cannot use multiple interfaces with Linux kernels prior to version 2.0.31. SO_ATTACH_FILTER undeclared This error may occur when compiling dhcpd under Linux 2.2. If it occurs, the symbolic link /usr/include/asm may be broken. That link should point to the Linux asm headers. Protocol not configured To run under Linux 2.1 and 2.2, dhcpd needs the CONFIG_PACKET and CONF_FILTER options configured in the kernel. If the message Set CONFIG_PACKET=y and CONFIG_FILTER=y in your kernel configuration is displayed during the dhcpd build, you need to reconfigure the kernel and enable these options. See Chapter 13, “Troubleshooting,” for information on configuring the kernel. IP BootP agent Linux 2.1 will run dhcpd only if the BootP agent is enabled. (The BootP agent is part of dhcpd.) Check to see whether /proc/sys/net/ipv4/ip_bootp_ agent exists. If it does, check to see if it contains a 1. If it doesn’t exist or contain a 1, insert the following line into a startup script to write a 1 to the ip_bootp_agent file: echo 1 > /proc/sys/net/ipv4/ip_bootp_agent Linux kernel 2.4 solves all of these problems. However, as the Linux kernel versions change and new releases of dhcpd are issued, new problems may emerge. See the README file that comes with the dhcpd distribution for the latest information. 232
Note: If you are looking for cheapest and affordable webspace to host and run your servlet application check Astra servlet hosting services