DHCP Clients exists on almost all the various Linux, HP-UX, Solaris, Irix and other UNIX platforms. This is very important in the network real world. You want to have as much as possible, all your clients on DHCP (Dynamic Host Control Protocol) so you do not have to change the address on hundreds of servers, every time you move. This page serves as a practical guide. If I have left out your particular flavor of Linux or UNIX, please send me an email with the appropriate information.
This file in /etc/resolv.conf
should be on all systems as:
cat /etc/resolv.conf
domain bikesrus.com
search bikesrus.com
nameserver 10.1.2.4
nameserver 10.1.2.5
#Madeup IP addresses and domain name, put in your own
# You may have to search more than one domain or be using multiple
# domains. Consult your network admin.
#
This would include versions B.11.23 and greater. You only need to
change one file: /etc/rc.config.d/netconf
You will see a line that says
DHCP_ENABLE[0]="0"
The zero on the right denotes off, to turn on DHCP change the zero to
one. If there are any lines denoting IP Addresses you can comment them
out with a "#" sign as the first character. You can then reboot the
machine or take the network down and back up. Note, You want your
network Admin to delete any addresses in the DNS table.
I spent at least two days on this and could find nobody that could make it work. This seems to be the consensus on the internet. You will see some kind of /usr/lbin/dhcpclient -b lan0 -p -l 8 process running but it will not update the DNS table on the name server.
You need to go to /etc/sysconfig/network-scripts
and edit the file for the appropriate card. Careful some systems may
have two cards, one going to an external network and one going to an
internal private network. Pick the right one. Let us assume it is eth0
here. Here is a sample file:
cat ifcfg-eth0
BOOTPROTO=dhcp
# Address follows made up by me
HWADDR=00:16:35:AC:D1:B1
ONBOOT=yes
TYPE=Ethernet
DHCP_HOSTNAME=MyfavoriteRedhat.networksrus.com
USERCTL=no
IPV6INIT=no
PEERDNS=yes
If you see any coded IP addresses in there comment them out with the
"#" sign as first character.
Gentoo Linux is suprisingly easy of all the Linuxes out there.
Simply edit /etc/conf.d/net
Make the config_eth0= ... line be
config_eth0="dhcp"
dhcpcd_eth0="-t 15"#Timeout after 15 seconds
Note, alot of these procedures could be done with the GUI interface, but being an administrator you probably prefer the command line so you are getting it here.
Please allow me to start with Version 10 and work my down to Version 8
which can be the most difficult.The following steps will be done in all
versions.
Here is what I did , I took something off the web to force the hostname,
but DNS server was still not getting updated.
I typed
ifconfig hme0 dhcp realease
Then
ifconfig hme0 dhcp
Then all worked, so I stuck it in a script.
pwd
/etc/init.d
# cat set_hostname
HOSTNAME=`cat /etc/nodename`
# Hey, it is kludgy , but it works.
echo "Setting hostname to $HOSTNAME... \c"
uname -S $HOSTNAME
# now take DHCP up and down to get rid of the 224.0.0.0 route
echo "Cleaning up DHCP, take a deep breath and relax! "
/usr/sbin/ifconfig hme0 dhcp release
/usr/sbin/ifconfig hme0 dhcp
echo "Done Om, Shanti ......"
**** here is the symbolic link *******
pwd
/etc/rc2.d
# ls -al ./S70set_hostname
lrwxrwxrwx 1 root other 24 Feb 21 08:51
./S70set_hostname
-> /etc/init.d/set_hostname
# uname -a
SunOS javabox 5.6 Generic_105181-33 sun4u sparc SUNW,Ultra-5_10 #
exit
These machines were top quality in their prime 20 years ago. I found it is easiest here to use the GUI interface. You will be installing the proclaim dhcp client. Even after doing everything right, that is setting up the gateway, subnet mask etc. you may find proclaim is listed as a process but still has not updated the DNS nameserver. Just follow the same solution as in Solaris 8. Have the network admin use the hardware address of the card to reserve a DHCP lease and update the DNS nameserver appropriately.
Use the command line/GUI interface of smitty and select
dhcp and enter the hostname You will type something like:
smitty tcpip
Sorry, IBM does not let you do config files easily so this is one time,
you have to use the GUI. Do a
netstat -rn
to check and it should look more or less like the Solaris One above.
If you are using Multinet 5.1 or greater you can do the
following to set up the dhcpclient
multinet con/net
Type the previous at the dollar prompt. You can then choose to
modify the network interface
Enable the dhcp client and type ctrl-z to exit the menu.
Save the network config when it asks you. Note, you will
also have to edit using the VAX EDT editor the dhclient.conf
file you can see all the details
here It also here as a
text file.
If you have Multinet, lower than this, i.e. verison 4.0 just use
the same menu but type in your static IP address and your gateway
under global parameters. You can launch this by typing
multinet configure /menu
Note , there is no dhcp client choice here.
You may have problems getting the machine to reboot
This is because old VAX hosts like version 7.1 also come up in
an EFI-Shell like HP-UX boxes. To fix this as the box comes
up type help you should see be able to then show
device
Select the appropriate device, there may be several starting with
diaX where X is a number. If it was dia5 you wanted
you would type boot dia5
If you try all the dia devices one of them will probably work.
This is the TCPIP that comes built into the old VAX hosts of about
20 years ago VMS Version 7.x. Here is how to do it:
You can go through the menu using
@tcpip$config
The key is to select "routing" under interfaces.
Also make sure you enable the dhcp client for only one card, usually the
first one. It will say primary.
You want to ENABLE GATED and DISABLE ROUTED.
You have to do this in two steps. When you enable gated, it will
tell you to rename a file to
SYS$SYSDEVICE:[TCPIP$GATED]TCPIP$GATED.CONF
Here is the
file, you need to put in the gateway and uncomment
the "static clause". You have to use the EDT editor.
You may get an error message about log full with a warning
This is important to clear once in a while. Upon rebooting:
Select "efi-shell"
type
errdump clear
type
exit
to get back to boot machine.
"clearlogs"
may also work.
Sometimes the system may just sit there and not boot up
This is because you must first select the device and tell it
which system to boot. i.e.:
type fsx: where x is your bootdisk (0, 1, 2...)
type hpux to start hpux bootloader.
I hope this was useful to somebody out there.