Article Title : changing IP addresses Creation Date : 11/21/96 Message ID : RGDNLQ Last Update : 11/21/96 Expiration Rules : unknown Location : NCD-Articles/NCD_X_Terminals ================================================================= Here's how to reconfigure the NCD terminals so they use a new IP address for themselves, and a new IP address for their boot host: ------------------------------------------------------------------ Case 1: Determining Addresses from Network Are the terminals using /etc/bootptab to determine their IP addresses? They are if they say when booting: "Searching for IP address...". If so, you need to edit /etc/bootptab to change the NCD's ip (IP address) and sa (server address) entries, and probably gw (gateway) and sm (subnet mask) entries too. Next, check to see if you're using secure tftp: run the command: grep tftpd /etc/inetd.conf and look for '-s dirname'. If present, check the directory $dirname/usr/lib/X11/ncd/configs If not present, look in /usr/lib/X11/ncd/configs. Here you should see a configuration file named ncd_std, that should be read by all NCDs. Check and make sure it does not have any mention of: boot-tcpip-desired-server = Also, to make sure the terminals continue to use /etc/bootptab, make sure there is a line in either or both config files that says: ip-use-address-discovery = true You should also see files named after the HEX version of the terminal's IP address, one per terminal. These config files contain info that is specific to a particular terminal. Copy each one from old_address_name to new_address_name. Later on you can remove the old_address_name files. You'll probably be doing quite a bit of decimal-to-hex conversion here. I suggest you run 'bc' which returns no prompt, then type 'obase=16' and enter the decimal address to convert, one byte at a time, to get the hex equivalent, one byte at a time. Check each one to make sure it does not mention: ip-address-at-next-boot = as that info comes from /etc/bootptab. Now when the terminals reboot, they'll search and get their new IPaddresses and new boothost IP, load the server file, then read the new configuration files. ------------------------------------------------------------------------ Case 2: Using Addresses Stored in NVRAM If you don't see "Searching for IP addresses..." then the terminals are getting their IP address and boot host IP info from their internal Non- Volatile RAM. Here's how to change that remotely: First, check to see if you're using secure tftp: run the command: grep tftpd /etc/inetd.conf and look for '-s dirname'. If present, check the directory $dirname/usr/lib/X11/ncd/configs If not present, look in /usr/lib/X11/ncd/configs. Here you should see a configuration file named ncd_std, that should be read by all NCDs. Change it, or put in it: boot-tcpip-desired-server = ip-use-address-discovery = false You should also see files named after the HEX version of the terminal's old IP address, one per terminal. These configfiles contain info that is specific to a particular terminal. Edit these old configfiles: # vi Insert or change the following lines in the hex-ip file: ip-address-at-next-boot = read ncd_std apply You then need to create new ones that are named after the new NCD IPaddresses. Here's how: # vi Insert the following lines in the hex-ip file: ip-address-at-next-boot = read ncd_std apply Now when the terminals reboot, they'll still have their old IP addresses and read their old config files, which will change the boothost IP and the NCD IP address in the terminal's memory. Reboot the terminals a *second time* and they should use the new host address and the new NCD address. ------------------------------------------------------------------------ You can see Case2 takes an extra reboot. Using /etc/bootptab at large sites simplifies this sort of administration.