Hello,
We have a F760 running Data Ontap 6.4.5. (Pretty old stuff, I know.)
The filer has six network interfaces, each one connected to a
different network.
Recently we started experimenting with a Linux Fedora Core 6 machine.
When we try to mount some directory at the filer from this machine,
almost always the process hang. A very few times the process
succeeds.
Investigating the issue using tcpdump I discovered that in the process
of mouting, when the filer's portmapper answers to the Linux box,
sometimes its answers come from a different network interface and the
Linux box doesn't like that.
See below the history of an unsuccessful mount. The Linux box
(10.202.40.66) tries to mount a directory from filer (10.202.48.109)
with the following command and hangs until I kill it:
mount filer:/vol/vol0/unix/config /mnt
Note that on packet 111 the linux box sends a UDP packet to the
filer's portmapper asking for the port number of the MOUNT service.
The filer responds with packet 113, which comes from another of its
interfaces (10.202.40.23). This response is rejected by the linux box
with the ICMP packet number 114.
If I try to mount specifying the interface 10.202.40.23, which is in
the same network as the client, the mount succeeds. It seems that the
portmapper response always tries to go back through the interface in
the same network as the client.
The problem is that we have some linux clients on networks on which
there is no filer interface connected. In these cases it seems to be
anyone's guess through which interface the portmapper response will
come.
We looked for differences in the TCP stack from Fedora Core 5 to 6,
because until Core 5 this problem didn't arise, but we couldn't find
anything relevant. Since the filer works ok with other Linux and
Solaris machines, it seems that something must have been changed in
the Linux kernel that made it more strict.
We suspected of some firewall rules, but there is no iptables rules
configured in the linux box.
Has anybody seen this before? Any clue?
Thank you.
Gustavo.
----------------------------------------------------------------------
No. Time Source Destination Protocol Info
94 1.036676 10.202.40.66 10.202.48.109 TCP 33614 > sunrpc [SYN] Seq=0 Len=0 MSS=1460 TSV=16336999 TSER=0 WS=6
95 1.038301 10.202.48.109 10.202.40.66 TCP sunrpc > 33614 [SYN, ACK] Seq=0 Ack=1 Win=8760 Len=0 MSS=1460 WS=0 TSV=242744087 TSER=16336999
96 1.038319 10.202.40.66 10.202.48.109 TCP 33614 > sunrpc [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=16336999 TSER=242744087
97 1.038385 10.202.40.66 10.202.48.109 Portmap V2 GETPORT Call (Reply In 98) NFS(100003) V:3 TCP
98 1.039907 10.202.48.109 10.202.40.66 Portmap V2 GETPORT Reply (Call In 97) Port:2049
99 1.039914 10.202.40.66 10.202.48.109 TCP 33614 > sunrpc [ACK] Seq=61 Ack=33 Win=5888 Len=0 TSV=16337000 TSER=242744087
100 1.039939 10.202.40.66 10.202.48.109 TCP 33614 > sunrpc [FIN, ACK] Seq=61 Ack=33 Win=5888 Len=0 TSV=16337000 TSER=242744087
101 1.039966 10.202.40.66 10.202.48.109 TCP 34612 > nfs [SYN] Seq=0 Len=0 MSS=1460 TSV=16337000 TSER=0 WS=6
102 1.040592 10.202.48.109 10.202.40.66 TCP sunrpc > 33614 [ACK] Seq=33 Ack=62 Win=8760 Len=0 TSV=242744087 TSER=16337000
103 1.040669 10.202.48.109 10.202.40.66 TCP nfs > 34612 [SYN, ACK] Seq=0 Ack=1 Win=26280 Len=0 MSS=1460 WS=0 TSV=242744087 TSER=16337000
104 1.040677 10.202.40.66 10.202.48.109 TCP 34612 > nfs [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=16337000 TSER=242744087
105 1.040722 10.202.40.66 10.202.48.109 TCP [TCP segment of a reassembled PDU]
106 1.040849 10.202.48.109 10.202.40.66 TCP sunrpc > 33614 [FIN, ACK] Seq=33 Ack=62 Win=8760 Len=0 TSV=242744087 TSER=16337000
107 1.040856 10.202.40.66 10.202.48.109 TCP 33614 > sunrpc [ACK] Seq=62 Ack=34 Win=5888 Len=0 TSV=16337000 TSER=242744087
108 1.041776 10.202.48.109 10.202.40.66 NFS V3 NULL Reply (Call In 105)
109 1.041782 10.202.40.66 10.202.48.109 TCP 34612 > nfs [ACK] Seq=45 Ack=33 Win=5888 Len=0 TSV=16337000 TSER=242744087
110 1.041801 10.202.40.66 10.202.48.109 TCP 34612 > nfs [FIN, ACK] Seq=45 Ack=33 Win=5888 Len=0 TSV=16337000 TSER=242744087
111 1.041847 10.202.40.66 10.202.48.109 Portmap V2 GETPORT Call (Reply In 113) MOUNT(100005) V:3 UDP
112 1.042834 10.202.48.109 10.202.40.66 TCP nfs > 34612 [ACK] Seq=33 Ack=46 Win=26280 Len=0 TSV=242744087 TSER=16337000
113 1.042842 10.202.40.23 10.202.40.66 Portmap V2 GETPORT Reply (Call In 111) Port:4046
114 1.042851 10.202.40.66 10.202.40.23 ICMP Destination unreachable (Port unreachable)
115 1.042854 10.202.48.109 10.202.40.66 TCP nfs > 34612 [FIN, ACK] Seq=33 Ack=46 Win=26280 Len=0 TSV=242744087 TSER=16337000
116 1.042857 10.202.40.66 10.202.48.109 TCP 34612 > nfs [ACK] Seq=46 Ack=34 Win=5888 Len=0 TSV=16337000 TSER=242744087