Online Book Reader

Home Category

Managing NFS and NIS, 2nd Edition - Mike Eisler [272]

By Root 458 0
network numbers are likely to not fall in discrete 8-bit widths. Thus in a classless environment, it would be more precise to say that if the destination is a remote network, the last N bits of the address will be zeroes to indicate that the first 32 - N bits of the address are a network number.

Static routing

In an IPv4 network, hosts can dynamically discover the presence of routers by using the ICMP router discovery protocol. Router hosts can run in.rdisc in order to advertise themselves through the ICMP router discovery protocol. When a host invokes in.rdisc at boot time, it listens on the 224.0.0.1 (ALL_HOSTS) multicast address for router advertisement messages from routers on the network. In turn, router hosts send out advertisement messages to the 224.0.0.1 multicast address advertising all of their IP addresses. Multiple initial advertisement messages are sent out during the first few seconds after the router boots, backing off to transmit advertisement messages approximately once every ten minutes. Optionally, a host can avoid waiting for routers to announce themselves by sending out a few router solicitation messages to the 224.0.0.2 (ALL_ROUTERS) multicast address where routers listen for requests.

If the host does not find a default router, it may choose to start in.routed in quiet mode to listen for Router Information Protocol (RIP) advertisements broadcast by router hosts. Router hosts invoke in.routed at boot time in order to publish their routing tables using RIP. The route information is broadcast every 30 seconds.

In a small IPv4 network, or one in which there is only one router connecting it to other networks, static routing is preferable to the previously described dynamic routing requiring rdisc or routed. In a single-outlet network, every route goes through the solitary router, so the entire routing table can be compressed into a default route entry:

route add default 131.40.52.14 1

The destination is given as default, and the gateway address is the IP address or hostname of the router. In Solaris, you can effectively define static routes at boot time by simply creating the /etc/defaultrouter file on each machine, and putting the name of the default router in this file. If this file exists, the /etc/init.d/inetinit boot script will read the router name from this file and set up a default route. Furthermore, if a default route has been established, the /etc/init.d/inetinit script skips the invocation of routed and rdisc. You can specify either the IP address or the hostname of the router in /etc/defaultrouter. If you use the hostname, make sure to also include its IP address mapping in the /etc/hosts or /etc/inet/ipnodes file, because no name services are running at the time that the boot script is run.

Note that the IPv6 protocol is designed to be dynamic in nature, therefore IPv6 heavily relies on router discovery. For Solaris hosts, in.ndpd is the only mechanism available to discover IPv6 routers. in.ndpd sends router solicitation messages and uses the router advertisement messages it receives to autoconfigure the IPv6 host. Although nothing in the IPv6 protocol precludes static routes from being defined, Solaris has chosen not to implement a mechanism to define static routes for IPv6.

Appendix B. NFS Problem Diagnosis

Throughout this book, we've used the output of nfsstat on both NFS clients and servers to locate performance bottlenecks or inefficient NFS architectures. The first two sections in this appendix summarize symptoms of problems identified from the output of nfsstat. The last list contains typical values for the error variable errno that may be returned by file operations on NFS-mounted filesystems.

NFS server problems

Check the output of nfsstat -s for the following problems:

badcalls > 0

RPC requests are being rejected out of hand by the NFS server. This could indicate authentication problems caused by having a user in too many groups, attempts to access exported filesystems as root, or an improper Secure RPC configuration.

badlen > 0 or xdrcall > 0

This indicates

Return Main Page Previous Page Next Page

®Online Book Reader