NFS 드라이브를 마운트하려고 하는데 자격 증명이 너무 약해서 RPC 인증 오류가 발생합니다.
서버측(192.168.100.109), NFS 서버 및 마운트 데몬이 시작되어 대상 클라이언트(192.168.100.101):
# cat /etc/exports
/datastore/winmedia -ro 192.168.100.101
# portmap
# nfsd -tun 4
# mountd
# showmount -e 192.168.100.109
Exports list on 192.168.100.109
/datastore/winmedia 192.168.100.101
그러나 클라이언트 측에 디스크를 마운트하려고 하면 RPC 인증 오류가 발생합니다.
# ls /mnt/winmedia
# mount -v 192.168.100.109:/datastore/winmedia /mnt/winmedia
mount: no type was given - I'll assume nfs because of the colon
mount: RPC: Authentication error; why=Client credential too weak
서버 로그를 보면 연결이 거부되었다는 메시지만 표시될 뿐, 이유는 제공되지 않습니다.
Feb 11 23:43:25 fattyopenbsd mountd[16785]: Can't open /var/db/mountdtab: No such file or directory
Feb 11 23:48:41 fattyopenbsd mountd[16785]: Refused mount RPC from host 192.168.100.101 port 62826
클라이언트 측에서는 rpcinfo
서버 측과 동일한 데이터가 표시되지만 프로그램 이름은 표시되지 않습니다.
서버측 rpcinfo:
# rpcinfo -p 192.168.100.109
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 tcp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 udp 2049 nfs
100005 1 udp 630 mountd
100005 3 udp 630 mountd
100005 1 tcp 612 mountd
100005 3 tcp 612 mountd
클라이언트 측에서도 동일하지만 프로세스 이름이 없습니다.
# rpcinfo -p 192.168.100.109
program vers proto port
100000 2 tcp 111
100000 2 udp 111
100003 2 tcp 2049
100003 3 udp 2049
100003 2 tcp 2049
100003 3 udp 2049
100005 1 udp 630
100005 3 udp 630
100005 1 tcp 612
100005 3 tcp 612
그래서 내 질문은 1) 설치가 거부되는 이유는 무엇입니까? (실패한 요청에 대해 더 자세한 정보를 얻을 수 있는 방법이 있나요?) 2) NFS 드라이브를 마운트하는 방법은 무엇입니까?
서버는 OpenBSD 5.8을 실행 중이고 내가 시도하는 클라이언트는 Windows 시스템의 Puppy Linux 및 VirtualMachine입니다. (VM IP에 문제가 있는지 확실하지 않습니다. ifconfig
클라이언트에서 실행 하면 10.0.*.*
eth0에 주소가 표시되지만 Windows 호스트에는 무선을 통해 192...101개의 주소가 있습니다. 서버 로그에 요청이 표시되기 때문인 것 같습니다. iscoming ...101 주소로 판단하면 VM 문제는 문제가 아닐 수도 있지만, 내가 틀렸다면 어떤 조언이라도 좋을 것입니다.
고쳐 쓰다이제 문제가 가상 머신 네트워크 설정과 관련된 것 같습니다. 서버에 대한 요청은 VM 호스트의 권한이 없는 포트 번호(>1024)에서 발생합니다.
VM은 NAT를 사용하므로 VM이 요청 시 권한 있는 포트를 사용하더라도 최종 요청에는 반영되지 않습니다.
이 문제는 NAT 대신 호스트에 대한 브리지 연결을 사용하여 해결할 수 있습니다. 이렇게 하면 요청된 IP 및 포트가 가상 머신과 동일하게 됩니다. 하지만 안타깝게도 우리 집에는 Wi-Fi만 있고 Wi-Fi 어댑터를 사용하여 연결을 브리지할 수 없습니다.
해결책: 인증을 위해 uid, IP 주소 및 클라이언트 포트 번호 대신 사용자 이름과 비밀번호를 사용하는 NFS 대신 Samba를 사용하십시오.
답변1
내 경우에는 클라이언트의 권한( doas
/ sudo
)을 높이는 것이 성공했습니다.
a485$ mount -t nfs 192.168.178.203:/home/_transmission/ ~/Torrents
mount_nfs: bad MNT RPC: RPC: Authentication error; why = Client credential too weak
^C
a485$ doas mount -t nfs 192.168.178.203:/home/_transmission/ ~/Torrents
a485$
권한이 없는 요청은 매우 큰 포트 번호에서 시작됩니다.
Aug 7 12:25:36 t440p mountd[87312]: Refused mount RPC from host 192.168.178.185 port 15630
출력을 올바르게 해석 하면 netstat -a
"상승" 요청의 활성 연결이 포트에서 시작됩니다 901
(관련 없는 출력 무시).
a485$ netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address
udp 0 0 a485.901 t440p.nfsd