Linux DHCP Using the Command Line

  1. Load the proper module(driver) for your ethernet card:
    The list of compiled ethernet card drivers that come with your system are usually located under[code lang=”bash”]/lib/modules/2.2.14-5.0/net[/code] where [code lang=”bash”]2.2.14-5.0[/code] is your kernel version. The source code for these drivers are usually located at[code lang=”bash”]/usr/src/linux-2.2.14/drivers/net [/code]again where 2.2.14 is the kernel version you are running. Sometimes the comments at the beginning of the source code file will tell you which ethernet cards the driver is for. Some distributions will find it during installation and automatically load the driver for you. To see if this is the case, view the file [code lang=”bash”]/etc/modules.conf [/code]or [code lang=”bash”]/etc/conf.modules [/code]depending on your distribution. If you see a line that looks similar to [code lang=”bash”]alias eth0 ne2k-pci [/code]then the third item on the line is the module being used for your ethernet card. In this example, ne2k-pci, the NE2000 driver is being used. To verify the module has been loaded successfully, issue the command[code lang=”bash”]/sbin/lsmod[/code]
  2. This will display all modules successfully loaded in the system. Once your module is loaded, you are ready to move to the next step. If the module is not loaded, but you know what module your network card uses, issue the following steps as root:
  3. Make sure the network is stopped by issuing
    [code lang=”bash”]/etc/rc.d/init.d/network stop[/code] Manually load the module by issuing
    [code lang=”bash”]/sbin/insmod ne2k-pci[/code]replacing ne2k-pci with whatever your module is. This module must be present in the [code lang=”bash”]/lib/modules/2.2.14-5.0/net [/code]directory for lsmod to find it.
  4. Verify it loaded successfully by issuing [code lang=”bash”]/sbin/lsmod[/code]. Activate the eth0 device by issuing [code lang=”bash”]/etc/rc.d/init.d/network start[/code]

Configure your network settings with steps 2-4. You must still be root to perform these steps.

Edit/create the file
[code lang=”bash”]/etc/sysconfig/network-scripts/ifcfg-eth0[/code]

to use DHCP.

Sample [code lang=”bash”]ifcfg-eth0 [/code]file:
[code lang=”bash”]DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=dhcp
BROADCAST=
NETWORK=
NETMASK=
IPADDR=
[/code]
Replace eth0 above with eth1 if it is the second network card in your system.

Edit/create the file
[code lang=”bash”]/etc/sysconfig/network[/code]

to use DHCP.[code lang=”bash”]
NETWORKING=yes
HOSTNAME=
FORWARD_IPV4=yes
GATEWAYDEV=
GATEWAY=
[/code]
Restart the network to probe the DHCP server for your network settings with the command
[code lang=”bash”]/etc/rc.d/init.d/network restart[/code]

Verify your network settings with the command [code lang=”bash”]/sbin/ifconfig[/code] to make sure you have received an IP address from the DHCP server.

Ping the gateway and a few other computers on the network to verify your connection.

Leave a Reply