Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!decwrl!bacchus.pa.dec.com!deccrl!treese From: treese@crl.dec.com (Win Treese) Newsgroups: comp.unix.ultrix Subject: Re: Reassigning IP-adress to boot clients Message-ID: Date: 7 Aug 90 18:29:21 GMT References: <1990Aug7.111645.25785@diku.dk> Sender: news@crl.dec.com (USENET News System) Distribution: comp Organization: DEC Cambridge Research Lab Lines: 46 In-Reply-To: harbo@diku.dk's message of 7 Aug 90 11:16:45 GMT In article <1990Aug7.111645.25785@diku.dk> harbo@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 . 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@crl.dec.com Digital Equipment Corp.