Aren’t statistics wonderful. I was looking through some referrer traffic and it appears that McKesson Star and DHCP are often googled and this blog comes up as #1 with that query. So I figured I had better write a post on how to set up McKesson Star and DHCP to all play well together.
Which leads to a funny story. When I first came to my present employer all PCs that accessed Star had static IP addresses. Well to be fair not all of them, but the default-lease-time was literally set for one year and IP addresses were used in the ports table. At the time we had ~1,500 PCs and 1,000 of them were static IP addresses. Woe unto you if you had a laptop and tried to access Star.
I guess the previous administrator was thinking he would only have to change an IP address in the ports table if the PC was turned off, or once annually _if_ it got a new address upon a renewal request. My day was filled with changing DNS entries and fixing that was high on my list of priorities.
We use ISC BIND and DHCP so let me give you an example of my DHCP configuration. I have another post on DHCP here.
# /etc/dhcpd.conf # This dhcpd server is the _real_ deal. authoritative; # Update using DDNS # Tells the client where to send the forward update. ddns-domainname "sub.chainringcircus.org"; ddns-update-style interim; ddns-updates on; # Leases default-lease-time 345600; # 4 days max-lease-time 604800; # 7 days
/etc/tcpd.conf
McKesson wrote their own telnet daemon. The reason is because the view you get in Star as well as your default printer is set according to a DNS lookup done by their daemon. The McKesson telnet daemon options are set in /etc/tcpd.conf. Let’s discuss this next because how you define name lookups also makes a big difference. As a side note, our tcpd.conf did not change when we moved from AIX to Linux.
From /etc/dhcpd.conf:
## EXAMPLES: ## GETNAME=NONE Do not try to get the callers name. ## GETNAME=SIMPLE Try to get the callers simple name. ## GETNAME=FULL Try to get the callers full name. ## ## ## Lines beginning with MAPNAME= are used to determine if the callers ## name gotten from getname should be mapped to lower or upper case. ## ## FORMAT: ## MAPNAME=VALUE ## ## VALUE ......... NONE, the callers name is unchanged. This ## is the default if the parameter is ## not in the configuration file. ## ## LOWER, the callers name will be mapped to ## lower case. ## ## UPPER, the callers name will be mapped to ## upper case. ## ## EXAMPLES: ## MAPNAME=NONE Do not remap callers name. ## MAPNAME=LOWER Map callers name to lower case. ## MAPNAME=UPPER Map callers name to upper case. ## PURGETIME=3h GETNAME=SIMPLE MAPNAME=LOWER
What does all of this mean? Keep in mind that UNIX is case sensitive and so is Star. What this means is that defining a computer name in Star as well as on the PC, it is important to make sure that they all match. That is why it’s easier to use an IP address. Because the default file does not specify MAPNAME and therefore whether a PC technician uses HumpBack or ALLCAPS, or lowercase makes a difference in how a host name is defined in the Star tables.
GETNAME
The GETNAME option defines whether or not the server does a query for host.chainringcircus.org or just host. If you decide to do a SIMPLE lookup make sure you have all of the possible domains listed in /etc/resolv.conf.
cat /etc/resolv.conf nameserver 192.168.1.1 nameserver 192.168.1.2 domain chainringcircus.org search chainringcircus.org sub.chainringcircus.org chainringcircus.com chainringcircus.net
We use simple because a host is defined as host in the Star table and returns the correct information from an nslookup command.
[root@StarCluster ~]# nslookup host1 Server: 192.168.1.1 Address: 192.168.1.1#53 Name: host1.chainringcircus.org Address: 192.168.1.22
MAPNAME
If you don’t set MAPNAME you will have to make sure that the PC name, DNS name and Star table name all match case. We decided to stay with all lowercase PC names. This is very important so let me explain this again, differently. Go to a windows PC and look at it’s PC name.
Click:
My Computer
–> Properties
–> Computer Name
If it is DoctorPC521 then it will register in DNS as DoctorPC521. It will return from an nslookup as DoctorPC521 and so it had better be in the Star table as DoctorPC521 or it will not get the correct view and printer.
I hope this helps other administrators trying to figure what was the deal with McKesson Star and their DHCP problems.