multi-interfaced NFS server, what interface clients are using?

multi-interfaced NFS server, what interface clients are using?

Post by Michael Wa » Sat, 11 Jul 1998 04:00:00



I have a multi-interfaced NFS server,
how can I tell what clients are using interface le0
and what clients are using interface le1?
 
 
 

multi-interfaced NFS server, what interface clients are using?

Post by Richard L. Hamilt » Sun, 12 Jul 1998 04:00:00


Snoop the various interfaces (-v option, and to a capture file, and then
replay the capture file offline with another snoop command), and
look for MOUNT.  The requests to mount a directory show the name of the
directory.  Earlier in the same packet are the source and destination
addresses.  Match the destination address up with your interfaces, and
you've got it.

Or get a source license and modify rpc.mountd to log the source *and*
destination address of accepted mount requests.

NFS is stateless on the server (at least as far as the kernel is
concerned), so there's probably nothing you can dig out of the kernel
there.  It is possible to dig out of the *client's* kernel the address
currently being used (dynamic in 2.6 with fallback mounts) for a given
mount point.  I wrote a program that does that for SunOS 4.1.x through
Solaris 2.6 clients, but I'm not really prepared to release it (yet,
anyway).  Basically, it looks up the entry in /etc/mnttab (or /etc/mtab),
gets the device number, digs the vfs structures for each mount point out of
the kernel, and compares the device number.  When they match (and the type
indicates an NFS mount), it's on the right track.  There's a filesystem
type private structure accessed via the mntinfo field hung off of each vfs
structure that for NFS has the address of the server in it, except on 2.6
there's yet another level, describing each server (fallback mounts,
remember?).  Among the info describing the server is the server's address.
That was all because someone asked the reverse question, "which server is
my client currently mounting X from?", and the answer "snoop the net" was a
little too ugly.



Quote:> I have a multi-interfaced NFS server,
> how can I tell what clients are using interface le0
> and what clients are using interface le1?

--
ftp> get |fortune
377 I/O error: smart remark generator failed

Bogonics: the primary language inside the Beltway



 
 
 

1. How can UNIX Multi-process with Multi-process interface

I am fairly new to UNIX so pardon me if the following questions seem trivial.
I have some basic UNIX books, but they do not cover the following:

I have two applications that can run totally independent.  My goal is to
link the two programs via stdout and file sharing.  Because each process
is computationally intensive, I would like to run the process concurrently
on two different processors (either one machine when dual processors are
available to me, or two machines).  I realize this is a global hunger
problem so my initial goal is to have both programs running on one machine
concurrently.

From my simple point of view, two possibilities come to mind:

        1.  Have each process run in the background of a single shell
        2.  Have each process run under seperate shells

I would appreciate any information on how to accomplish this task or where
I can get the information to accomplish this task.

Note:  I have an HP 715/50 and reading the man pages on the shell (ksh) has
only confused me.

2. TCP: turn off slow start

3. Multi-Interfaced NAT enabled router help needed

4. Kernel upgrade to 2.2.2

5. ftp client to send data using a certain network interface

6. user ids and scp function

7. DCHP Server and Client on the same machine on different interfaces

8. pcmcia-cs: ifuser times out in gethostbyname for empty route tables

9. Xterminal 0.0.21 - object oriented user interface w/ client-server architecture

10. How to implement dhcp client and pppoe client on the same interface at same time?

11. Need info on PC/NFS and Unix NFS servers, server/client ratio

12. Multi-client server using fork()

13. Multi-client AND multi-server X?