Reassigning IP-adress to boot clients

Win Treese treese at crl.dec.com
Wed Aug 8 04:29:21 AEST 1990


In article <1990Aug7.111645.25785 at diku.dk> harbo at diku.dk (Klaus Harbo) writes:

   At our site we have several DEC3100s which all boot from a central server
   (also a DEC3100). We have a central administration of our LAN, and they want
   us to assign different IP-addresses to some our machines (all of them 
   boot-clients).

   Unfortunately it is unclear to me how this is done. Actually we don't even
   know where the machine gets its own IP-address. I think I know that it gets
   it through ARP from the boot server, but where does *it* get it? -- There
   must be a file somewhere that contains information about which clients get 
   which addresses. (Surely it can't be /etc/hosts ? -- I have tried that, and
   doesn't seem to work).

Unless you've made lots of local modifications, the easiest thing to do
might be to simply delete and re-install the clients.

Assuming that's not what you want to do, here's a method (assuming you
boot with MOP):

- shut down all the clients
- update /etc/hosts, BIND, and YP as appropriate
- make sure the server has its new address (usually obtained from /etc/hosts)
- reboot the server
- For each client, look in its etc directory on the server.  This is usually
	a path of the form /dlclient0/hostname.root/etc.
- There is a file there called netblk.c.  It is a data structure definition
	defined in <sas/mop.h>.  You'll need to put the 32-bit integer
	representation of the host address for the server in the second
	field, the client address in the 4th field, and the new broadcast
	address and netmask in the fifth and sixth fields.
	(you can write a quick program to do the dotted-quad to number
	conversion using the inet_addr() library routine.
- When you're done editing, execute "cc -c netblk.c" to regenerate the .o
	file, which is used in the boot sequence.
- Boot the client.
- Enjoy.

I think I've covered everything here, but you should go through it carefully
(and for one client to check it).  This is, of course, a completely
*unsupported* procedure.  I've done this before, so it seems to work.

Good luck, and happy hacking.

Win Treese						Cambridge Research Lab
treese at crl.dec.com					Digital Equipment Corp.



More information about the Comp.unix.ultrix mailing list