What is the official upstream project that contains the portmapper
source?
Also, the mount.nfs package, as I'll probably need to modify that
as well...
I am going to try to allow portmapper to bind to a particular
source IP when making outbound requests....
Thanks,
Ben
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
On 06/07/2011 12:52 AM, Max Matveev wrote:
> On Mon, 06 Jun 2011 20:52:39 -0700, Ben Greear wrote:
>
> greearb> On 06/06/2011 06:11 PM, Chuck Lever wrote:
> >>
> >> On Jun 6, 2011, at 8:16 PM, Ben Greear wrote:
> >>
> >>> What is the official upstream project that contains the portmapper
> >>> source?
> >>
> >> Do you want pormapper or rpcbind? The newer rpcbind actually allows RPC services to register at specific addresses, but the legacy portmapper does not.
>
> greearb> I don't know. I was testing my nfs binding patches (which
> greearb> fixes up some of the kernel processes, at least), but when
> greearb> trying to connect through a router, we noticed that this
> greearb> traffic was using the wrong source IP (ie, it wasn't bound):
>
> greearb> 0.000000 192.168.100.117 -> 172.16.0.100 TCP 33282> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6981376 TSER=0 WS=10
> greearb> 3.007677 192.168.100.117 -> 172.16.0.100 TCP 33282> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6984384 TSER=0 WS=10
> greearb> 9.023670 192.168.100.117 -> 172.16.0.100 TCP 33282> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6990400 TSER=0 WS=10
> greearb> 10.010239 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
> greearb> V:3 UDP
> greearb> 11.011269 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
> greearb> GETPORT Call NFS(100003) V:3 UDP
> greearb> 12.012298 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
> greearb> GETPORT Call NFS(100003) V:3 UDP
> greearb> 20.422093 192.168.100.117 -> 172.16.0.100 TCP 44732> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7001798 TSER=0 WS=10
> greearb> 23.423683 192.168.100.117 -> 172.16.0.100 TCP 44732> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7004800 TSER=0 WS=10
> greearb> 29.439676 192.168.100.117 -> 172.16.0.100 TCP 44732> 111 [SYN] Seq=0
> greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7010816 TSER=0 WS=10
> greearb> 30.432383 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
> greearb> V:3 UDP
> greearb> 31.433420 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
> greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP
> greearb> 32.434458 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
> greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP
>
> greearb> I need to make whatever is generating that traffic bind to a source IP.
>
> It's hard to say what's "rigth" and "wrong" from just this tcpdump:
> there is only one IP address.
>
> Recently there was a change to libtirpc to fix IP address selection
> for UDP datagrams:
>
> http://git.infradead.org/users/steved/libtirpc.git/commit/74ef3df0236c55185225c62fba34953f2582da72
>
> This is on the server side - it looks to me you're trying to deal with
> client side so it may be irrelevant.
It's not really wrong for most users..just for me because I need it (mount.nfs, evidently)
to use a specific source-IP so that my ip routing rules choose the correct route.
>
> >>> Also, the mount.nfs package, as I'll probably need to modify that
> >>> as well...
> >>
> >> mount.nfs is in nfs-utils.
>
> greearb> What is the git repo for it, though?
>
> http://git.infradead.org/users/steved/nfs-utils.git
>
> >>> I am going to try to allow portmapper to bind to a particular
> >>> source IP when making outbound requests....
> >>
> >> I don't understand. portmapper, as an RPC service, receives
> >> incoming requests. But we don't use the rpcbind CALLIT procedure
> >> on Linux, thus it doesn't make outbound requests.
>
> greearb> I could easily be confused about where the problem lies.
> greearb> Any idea what is generating those requests on the nfs client
> greearb> above?
>
> mount.nfs does.
Thanks, I'll dig into the mount.nfs code.
Thanks,
Ben
>
> max
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
On Mon, 06 Jun 2011 20:52:39 -0700, Ben Greear wrote:
greearb> On 06/06/2011 06:11 PM, Chuck Lever wrote:
>>
>> On Jun 6, 2011, at 8:16 PM, Ben Greear wrote:
>>
>>> What is the official upstream project that contains the portmapper
>>> source?
>>
>> Do you want pormapper or rpcbind? The newer rpcbind actually allows RPC services to register at specific addresses, but the legacy portmapper does not.
greearb> I don't know. I was testing my nfs binding patches (which
greearb> fixes up some of the kernel processes, at least), but when
greearb> trying to connect through a router, we noticed that this
greearb> traffic was using the wrong source IP (ie, it wasn't bound):
greearb> 0.000000 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6981376 TSER=0 WS=10
greearb> 3.007677 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6984384 TSER=0 WS=10
greearb> 9.023670 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6990400 TSER=0 WS=10
greearb> 10.010239 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
greearb> V:3 UDP
greearb> 11.011269 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
greearb> GETPORT Call NFS(100003) V:3 UDP
greearb> 12.012298 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
greearb> GETPORT Call NFS(100003) V:3 UDP
greearb> 20.422093 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7001798 TSER=0 WS=10
greearb> 23.423683 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7004800 TSER=0 WS=10
greearb> 29.439676 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7010816 TSER=0 WS=10
greearb> 30.432383 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
greearb> V:3 UDP
greearb> 31.433420 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP
greearb> 32.434458 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP
greearb> I need to make whatever is generating that traffic bind to a source IP.
It's hard to say what's "rigth" and "wrong" from just this tcpdump:
there is only one IP address.
Recently there was a change to libtirpc to fix IP address selection
for UDP datagrams:
http://git.infradead.org/users/steved/libtirpc.git/commit/74ef3df0236c55185225c62fba34953f2582da72
This is on the server side - it looks to me you're trying to deal with
client side so it may be irrelevant.
>>> Also, the mount.nfs package, as I'll probably need to modify that
>>> as well...
>>
>> mount.nfs is in nfs-utils.
greearb> What is the git repo for it, though?
http://git.infradead.org/users/steved/nfs-utils.git
>>> I am going to try to allow portmapper to bind to a particular
>>> source IP when making outbound requests....
>>
>> I don't understand. portmapper, as an RPC service, receives
>> incoming requests. But we don't use the rpcbind CALLIT procedure
>> on Linux, thus it doesn't make outbound requests.
greearb> I could easily be confused about where the problem lies.
greearb> Any idea what is generating those requests on the nfs client
greearb> above?
mount.nfs does.
max
On 06/06/2011 06:11 PM, Chuck Lever wrote:
>
> On Jun 6, 2011, at 8:16 PM, Ben Greear wrote:
>
>> What is the official upstream project that contains the portmapper
>> source?
>
> Do you want pormapper or rpcbind? The newer rpcbind actually allows RPC services to register at specific addresses, but the legacy portmapper does not.
I don't know. I was testing my nfs binding patches (which fixes up some of the kernel
processes, at least), but when trying to connect through a router, we noticed that
this traffic was using the wrong source IP (ie, it wasn't bound):
0.000000 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6981376 TSER=0 WS=10
3.007677 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6984384 TSER=0 WS=10
9.023670 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6990400 TSER=0 WS=10
10.010239 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
V:3 UDP
11.011269 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
GETPORT Call NFS(100003) V:3 UDP
12.012298 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
GETPORT Call NFS(100003) V:3 UDP
20.422093 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7001798 TSER=0 WS=10
23.423683 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7004800 TSER=0 WS=10
29.439676 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7010816 TSER=0 WS=10
30.432383 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
V:3 UDP
31.433420 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
#10]V2 GETPORT Call NFS(100003) V:3 UDP
32.434458 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
#10]V2 GETPORT Call NFS(100003) V:3 UDP
I need to make whatever is generating that traffic bind to a source IP.
>
>> Also, the mount.nfs package, as I'll probably need to modify that
>> as well...
>
> mount.nfs is in nfs-utils.
What is the git repo for it, though?
>
>> I am going to try to allow portmapper to bind to a particular
>> source IP when making outbound requests....
>
> I don't understand. portmapper, as an RPC service, receives incoming requests. But we don't use the rpcbind CALLIT procedure on Linux, thus it doesn't make outbound requests.
I could easily be confused about where the problem lies. Any idea what is generating
those requests on the nfs client above?
Thanks,
Ben
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
On Jun 6, 2011, at 8:16 PM, Ben Greear wrote:
> What is the official upstream project that contains the portmapper
> source?
Do you want pormapper or rpcbind? The newer rpcbind actually allows RPC services to register at specific addresses, but the legacy portmapper does not.
> Also, the mount.nfs package, as I'll probably need to modify that
> as well...
mount.nfs is in nfs-utils.
> I am going to try to allow portmapper to bind to a particular
> source IP when making outbound requests....
I don't understand. portmapper, as an RPC service, receives incoming requests. But we don't use the rpcbind CALLIT procedure on Linux, thus it doesn't make outbound requests.
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com