?
Solved

NIS client and "no such map in server's domain"

Posted on 2004-11-19
14
Medium Priority
?
1,554 Views
Last Modified: 2013-12-27
Hey Folks,

I have installed a new server and set it up to be an NIS client.  Everything appeared to go normally, however when I try to use the client, it fails.  If I do a "ypcat -k hosts" (for example) it comes back with the error "no such map in server's domain".  Basic steps are as follows ...

1. Server1 received from SUN with Sol9 pre-installed.
2. Connected server1 to subnet A (I.E. 100.100.100.26).  Machine "domaincontroller" lives on subnet B (200.200.200.37).
3. Configured server1's routing tables to point to the 200.200.200.0 subnet.
  3.a. server1 CAN ping, telnet and rlogin into machine "domaincontroller" ( 200.200.200.37).
  3.b. Machine "domaincontroller" CAN ping, telnet and rlogin into server1.
4. on server1 domainname "TheDomain"
5. on server1 domainname > /etc/defaultdomain
  5.a. "echo /etc/defaultdomain" returns correct.
6. On server1, command "ypinit -c".
  6.a. enter "domaincontroller" as only server.
  6.b. everything seems to go as normal.
7. cp -p nsswitch.conf nsswitch.conf.orig
8. cp -p nsswitch.nis nsswitch.conf
9. reboot
10.  After reboot, NIS starts.
  10.a. command "ypwhich" returns correctly with "domaincontroller"

-HOWEVER, all commands such as "ypcat -k hosts", "ypcat -d TheDomain -t hosts.byname" return error, "no such map in server's domain"
-Command "su - domainuser" fails with "su: Unknown id: domainuser"
-the "/var/yp" dir appears correct (when compared to working machines) including a correct "/var/yp/TheDomain" dir, and the "aliases" and "nicknames" files.

Any ideas?

Thanks!
M


0
Comment
Question by:Mike R.
  • 7
  • 4
  • 3
14 Comments
 
LVL 51

Expert Comment

by:ahoffmann
ID: 12628704
what is the NIS domain now?
TheDomain or domaincontroller
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12628742
"TheDomain" is the domain name.  domaincontroller is the name of the server running as the domaincontroller.  Does that makes sense?
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 12628864
names are just names ...
but for NIS they must agree on the NIS-domain, means both: server and client, must report the same name for
   ypwhich
(which is what you have written to /etc/defaultdomain, usually)
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 3

Author Comment

by:Mike R.
ID: 12629331
OK...I understand what you are asking.  They all appear to report correctly.  Here is the output...

on machine domainserver (200.200.200.37)
#domainname
TheDomain
#ypwhich
domainserver
#ypcat -k hosts
(lots of hosts)
#su - domainuser
(succesfull su to user named domainuser)

on server1 (100.100.100.26)
#domainname
TheDomain
#ypwhich
domainserver
#ypcat -k hosts
no such map in server's domain
#su - domainuser
su: Unknown id: domainuser

on server2 (a different working domain client IP 200.200.200.190)
#domainname
TheDomain
#ypwhich
domainserver
#ypcat -k hosts
(lots of hosts)
#su - domainuser
(succesfull su to user named domainuser)

Does that clarify better?

Thanks again!
M
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12629360
P.S.  I am wondering if the issue lises inthe fact that the domainserver and the domain client are on different subnets...even though the are successfully routed to each other...?
0
 
LVL 38

Expert Comment

by:wesly_chen
ID: 12629538
Hi,

  Check the /var/yp/nicknames file. If you don't have it or there is not "hosts  hosts.byname" or "passwd  passwd.byname",
then copy from server2.

Regards,

Wesly
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12629595
Thanks for the input Wesley.  Actually, I do have both the aliases file and the nicknames file setup, and they look correct.
What else might I check?
Thanks!
M
0
 
LVL 38

Accepted Solution

by:
wesly_chen earned 1050 total points
ID: 12629811
>  domainserver and the domain client are on different subnets
It should be ok since they can ping each other.
The only thing will affect is the broadcast. But it is between the NIS master server and slave server.

Two more things to check:
1. netmask on server1
2. any firewall or packet filter or VLAN setting between server1 and nis server?

Wesly
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12629961
I believe the netmask is correct (I have verified this against other machines on the net), however I believe it is going through a VLAN.  There is no firewall, and should be no packet filter happenning, however.
0
 
LVL 38

Expert Comment

by:wesly_chen
ID: 12632245
Hi,

   Does it have NIS server in /etc/hosts of server1?
   Besides, please check /var/yp/binding/<TheDoman>/ypservers to see if your NIS server in this file.

Wesly
0
 
LVL 51

Assisted Solution

by:ahoffmann
ahoffmann earned 450 total points
ID: 12637362
>  domainserver and the domain client are on different subnets
is there a firewall inbetween?
if so, did you allow rpc traffic?
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12640152
Hey Guys,

Well...I knida cheated for expediency.  The servers were on different subnets and, although I was assured there should be no packet filtering and rpc traffic should be allowed, I created a slave NIS server on the same subnet as the non-working client (using a multihomed machine between bth subnets) and the client started working.

I don't know why the client was not working across the subnet, and will probably have to revisit it again in the future...but for now, working is working.

I will divide up the points.  Wesly gets the king's portion, since he is the one who first go me looking at the vlan...but I appreciate everyone's help!

M
0
 
LVL 38

Expert Comment

by:wesly_chen
ID: 12641267
> created a slave NIS server on the same subnet as the non-working client
In the server 1 "/usr/lib/netsvc/yp/ypstart" script, if you have "-broadcast" option for the ypbind, then server1 will use
broadcast to find the NIS server. In this case, different subnet will cause problem becasue the broadcast packets can not
pass the subnet boundary (or VLAN).
So I ask you 2 questions on the last post:
< Does it have NIS server in /etc/hosts of server1?
< Besides, please check /var/yp/binding/<TheDoman>/ypservers to see if your NIS server in this file.
This should allow server1 to locate the NIS server without using broadcast.

Anyway, setup NIS slave on each subnet is good way since the "-broadcast" is default option for ypbind in ypstart script.

Regards,

Wesly
0
 
LVL 3

Author Comment

by:Mike R.
ID: 12647029
< Does it have NIS server in /etc/hosts of server1?
It does.

< Besides, please check /var/yp/binding/<TheDoman>/ypservers to see if your NIS server in this file.
The NIS server is in the ypservers.

Basically, everytyhing appears to be setup correctly to allow the client to see the server across the subnets...but it isn't.  i suspect, since I don't have direct control over the subnets, that there is some packet filtering turned on, even though I have been assured it is not.

Thanks for the continued help though :-)
M
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Installing FreeBSD… FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and packag…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question