client:
# ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
inet 192.168.0.121/24 brd 192.168.0.255 scope global eth0:100
valid_lft forever preferred_lft forever
inet 192.168.0.119/24 brd 192.168.0.255 scope global secondary eth0:99
valid_lft forever preferred_lft forever
inet 192.168.0.30/24 brd 192.168.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet 192.168.0.31/24 brd 192.168.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
# ip route
169.254.8.0/24 dev inter0 proto kernel scope link src 169.254.8.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.121
# mount -t nfs -o vers=3 192.168.0.141:/mnt/xfs nfs -vvvv
mount.nfs: timeout set for Fri Apr 10 09:30:05 2020
mount.nfs: trying text-based options 'vers=3,addr=192.168.0.141'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.141 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.0.141 prog 100005 vers 3 prot UDP port 49076
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 192.168.0.141:/mnt/xfs
server:
# cat /etc/exports
/mnt/xfs 192.168.0.31(rw)
# tail -f /var/log/syslog
Apr 10 10:49:56 linux rpc.mountd[7676]: refused mount request from 192.168.0.121 for /mnt/xfs (/mnt/xfs): unmatched host
Apr 10 10:49:56 linux kernel: [311255.442469] nfsd_dispatch: vers 3 proc 0
server端指定了要用192.168.0.31挂载, 但通过tcpdump发现, mount.nfs使用了192.168.0.121发起请求导致被拒绝, 即使clinet mount时使用clientaddr=192.160.0.31
选项也是同样的错误, 请问这要如何处理?
原因: 在mount.nfs代码中未发现bind指定ip的操作:
clientaddr
应该是其他作用.