SuSE GmbH

SuSE Support Database

Title: Client configuration of DHCP (6.0 6.1)

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

Client configuration of DHCP (6.0 6.1)

Applies to

SuSE Linux: Version 6.0, 6.1

Symptom:

You are trying to configure your Linux computer as a DHCP client on your local network but it is not working as you expected.

Reason:

There can be many reasons why the DHCP client is not working. It is most important that the DHCP server is directly accessable. For simple local network configurations, this means that the client and server should be on the same physical network (ie no routers inbetween the client and server) as well as on the same logical network (ie both on the same class C subnet). More advanced networks will have DHCP relay agents, so the above described restrictions will not apply (ie @home cable access in the US). It is also possible that the DHCP server is sending incomplete information when it sends the DHCP_OFFER to the client. Please note that the DHCP server and the DHCP client shouel NOT be on the same machine!!

Solution:

  1. The DHCP server is working...right? The best way to verify this with another client. NOTE: The DHCP server and the DHCP client should not be on the same machine!! If you are using your SuSE Linux as the DHCP server, make sure that you have installed the package "dhcp" which is located in the Series "n" ( Network-Support (TCP/IP, UUCP, Mail, News)). The main configuration file is /etc/dhcpd.conf and it must be modified accordingly (ie available IP address range, DNS servers, gateways etc...). The config file contains well documented examples, and there are also man pages for dhcpd and dhcpd.conf. You need to start the service with the script:
    /sbin/init.d/dhcp start 
    
    This service can also be automatically started on bootup, by modifying the /etc/rc.config file and setting the variables as necessary:
     
    START_DHCPD="yes"
    DHCPD_INTERFACE="eth0"
    
    It is recommended that these variables are set from YaST -> System Administration -> Change Configuration file, as this will automatically run SuSEConfig.
  2. Make sure that you have installed the DHCP client package "dhclient" which is located in the Series "n" ( Network-Support (TCP/IP, UUCP, Mail, News)). Once the package is installed, you need to configure the interface to be a DHCP interface. This can easily be done from YaST -> System Administration -> Network Configuration -> DHCP client.
  3. Use the utility traceroute to see if the DHCP server is on the same subnet and reachable, or if there is a host in between. If you are testing from the DHCP client, you will obviously need to temporarily configure it with a static address. If the DHCP server is on the other side of a router, you will either have to change your network topology or install and configure a DHCP relay agent.
  4. The DHCP client does not recieve enough information. You may need to modify the DHCP client configuration file /etc/dhclient.conf so that the clients request to the server will indicate that it requires additional information, for example subnetmask and DNS. In the configuration /etc/dhclient.conf file, remove the comment from the front of the line:
    require subnet-mask, domain-name-servers;
    

    The other preferable option is to change the configuration of the DHCP server so that it automatically offers this information.

  5. Does the DHCP_REQUEST packet even make it to the server? You can verify this by having a look in the /var/log/messages file on the server. In this file you can see the entire DHCP transaction taking palce.
  6. If you have two network interfaces and one of them needs to be a dhcp interface, proceed as follows: Configure both interfaces in YaST for the appropritate driver. For example, use YaST -> System Administration -> Integrate hardware into system -> Configure networking device, to select the correct driver for each network interface. The DHCP interface must be eth0, this is hard coded into the dhclient script. Then set the DHCP client to start on bootup from YaST -> System administration -> Network configuration -> DHCP Client. After you reboot your system you should notice that the eth0 interface is up. You can verify this with the command ifconfig. You need to manually bring up the eth1 interface. For example: ifconfig eth1 192.168.1.4 broadcast 192.168.1.255 netmask 255.255.255.0 up In this example the eth1 interface has an IP address of 192.168.1.4 and is on a class C subnet.

----------

Keywords: DHCP, CLIENT, BOOTP

----------

Categories: DHCP

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

SDB-dhcp_client, Copyright SuSE GmbH, Nuremberg, Germany - Version: 11. Jun 1999
SuSE GmbH - Last generated: 31. Jan 2000 03:56:09 by jmigliac with sdb_gen 1.00.0