Working with netinfo
Read chapters 3 (SetUpNet) and 10 (Large) in NS3.3 NextAdmin docu!!
Our network is as follows: 2 level network
root level (/) called "network"
second levels: called "pet/local" and "heller/local"
local is a reserved keyword
every domain must have a master property with a value of the server/domain. For all local domains this is hostname/local (can be localhost/local or heller/local):
local domains:
local@pet and local@heller
double click the "/" to see who serves them (it should be
master | localhost/local) |
Besides the local domain, on multi-level hierarchies there is a network domain (can actually have any name). Here the master property has as value the master-hostname/network:
root domain:
network
master: network@heller
clone (read only): network@pet
In our setup, heller is the master, and pet is the clone-server for network.
The master property (double click the "/") determines who is the master and who is the clone: if the hostname matches the one in master, for heller, e.g.,
master | heller/network |
then heller is the master, all others are clones (pet) if they also serve this domain. If they do not even serve it, then they are clients.
The property "serves" in the directory of a machine determines, if this machine is a netinfo server!
serves | heller/local |
or | |
serves | pet/local |
means that it will serve to itself the local netinfo database.
serves | ../network |
means that it is also a server for network.
You can open a domain either by clicking through (using CMD-o for open), or by specifying the hostname of the server and the tag-name (the file name of the databse file), using cmd-O.
In all local domains the broadcasthost must have a serves property with value ../network:
This is not quite true: it is only necessary for broadcast-binding to a netinfo parent!
If static binding is employed, then the serves-property for ../network is written with the host which serves the root domaine.
And the machines/localhost entries in all local domains must have a property serves with the value ./local:
This is not quite true: it is only necessary for broadcast-binding to a netinfo parent!
If static binding is employed, then this can be written in the serves-property for ./local for the host which serves the local domaine.
broadcast-binding is only possible in the same subnet. Then no machine records are necessary for the clients, all info is kept in the root domain. Binding is facilitated by specifying the ethernet-address (en_address) in the machine field: at boot, the client makes a broadcast and the master identifies it because of the ethernet-address (no leading 0s), then gives it its name, IP number, etc. Specify -AUTOMATIC- in /etc/hostconfig (or use HostManager.app and click on automatic for all values). Almost like DHCP. Oh yes, you can also specify a range of IP numbers, then it is really like DHCP.
If all machnies are in the same IP subnet, this is good enough. Otherwise, the serves properties of the masters in the /machine directory need to be set (see chapter 10!) => use static binding.
if you use static binding, then there must be entries in the machine directory for the master and client in the root and local netinfo-DB of the master and client.
Static Binding:
Now watch out: then entries for hosts in the local domain and in the root domain will have different entries for the serves-property:
here pet serves the ./local domain and the ../network domain (there are two dots!).
in the root domain (network), the machine entry for pet shows that it serves pet/local (not ./local) and ./network (not ../network). If we use static binding, then we must have a machine-entry in both, the local-netinfo-db and the network-netinfo-db, but with differing values for the serves-property.
Broadcast binding:
For a pure client, we use broadcast binding. In the root domain we then have:
and there is NO machine-entry for pyrania in the local-db of pyrania itself. Only localhost and broadcasthost, as explained above.
In the /etc/hostconfig file you then specify -AUTOMATIC- also for hostname, ip-number, etc., since all these values are received from the netinfo-master at boot time.
You can only restart NetInfo or make a backup of it, if you are logged in as root. Simply giving the root passwd when asked for is not enough!!! Backup can only be done if you are the master of a domain or for the local domain, not if you are a clone server for that domain!
NFS: to be able to mount NFS dirs, the remote machine must either have root privileges (not good), or we must click:
to allow unknown users as nobody. Otherwise the mount won't work (probably because root is an unknown user if not explicitly allowed).