mount.nfs : 마운트하는 동안 서버에서 액세스가 거부되었습니다.


11

우분투 시스템에서는 / etc / fstab에 다음 줄이 있습니다.

myserver:/home/me /mnt/me nfs rsize=8192,wsize=8192,timeo=14,intr

내가 할 때

sudo mount -a

나는 얻다:

mount.nfs: access denied by server while mounting myserver:/home/me

이 문제를 어떻게 진단 할 수 있습니까? nfs 서버는 우분투입니다.

추가 세부 정보 : 동일한 네트워크의 다른 Ubuntu 클라이언트 에서이 nfs 공유를 문제없이 탑재 할 수 있습니다. 그러나 문제가있는 클라이언트는 Windows 시스템의 VirtualBox 내에서 실행되고 있다는 점에서 다릅니다. 문제가있는 클라이언트에서 "myserver"를 ping 할 수 있습니다.

편집 : "myserver"에서 / etc / exports :

/home/me *(rw,all_squash,async,no_subtree_check,anonuid=1000,anongid=1000)

"myserver"의 /etc/hosts.allow 및 /etc/hosts.deny는 모두 주석입니다. 그리고 동일한 네트워크의 다른 클라이언트에서 잘 연결할 수 있습니다.


원격 우분투 nfs 서버에서 로그 파일을 마무리하려고 했습니까? Windows 상자의 가상 머신에서 nfs 마운트를 시도하고 있는지 확인하십시오.
Patrick R

정확히 어떤 로그 파일입니까?
JoelFan

/ var / log / messages에 표시되는 것이 있습니까?
Matt Simmons

답변:


20

그것을 발견!

로그 중 하나에 다음 줄이 있습니다.

refused mount request from 192.168.1.108 for /home/me (/home/me): illegal port 64112

나는 구글에서 포트가 1024 이상이기 때문에 "안전하지 않은"옵션을 서버의 / etc / exports에있는 관련 라인에 추가해야한다는 것을 알았다. 일단 그렇게하고 exportfs -r을 실행하면 클라이언트의 mount -a가 작동했습니다.


3
그것이 작동하는 동안, 이제 루트가 아닌 사용자는 새로운 NFS 인스턴스 인 것처럼 가장하고 모든 파일에 액세스 할 수 있습니다. nfs 클라이언트가 이러한 높은 포트 번호 사용을 중지하도록하는 방법이 있는지 아는 사람이 있습니까?
semi

이것에 너무 감사합니다, 내 엉덩이를 구했습니다. 인터넷 검색 시간 후 포기할 준비가되었습니다. "nfs"를 파악하고 있었기 때문에 로그에 표시되지 않았지만 실제로는 "마운트 된"로그입니다.
Cory J

1
@Cory J, 시간을내어 도움을 주셔서 감사합니다. 귀하의 의견으로이 질문에 대해 다시 한 번 살펴 보았으며 12K 이상의 조회수가있는 것으로 보입니다. 아마 그것은 다른 사람들에게 도움이되었지만 당신은 "감사"라고 말한 유일한 사람입니다! :)
JoelFan

10

이 질문은 네트워크가 VM에 설정되는 방법과 관련이 있습니다.

기본적으로 VirtualBox에는 NAT 네트워크가 있습니다. 결과적으로 포트 변환이 발생 합니다.

단계별로 다음을 제공합니다.

  1. NFS 클라이언트가 예약 된 포트를 사용하고 있습니다 (<1024 ... 루트로만 열 수 있음-> 보안 됨)
  2. Virtualbox는 NAT (포트 변환)-> 클라이언트 포트가 이제 1024보다 큽니다.
  3. NFS 서버는 해당 안전하지 않은 포트에 대한 연결을 거부합니다.

@JoelFan이 언급했듯이 한 가지 수정은 insecure옵션을 서버 로 설정하는 것 입니다. 이것은 빠른 수정이지만 ... 안전하지 않습니다.)

저에게있어 안전한 방법 으로이 문제를 해결 한 것은이 VM의 NAT 에서 브리지 네트워크 로 변경하는 것이 었습니다 . 이렇게하면 내 vm에 자체 IP 주소가 있으며 포트 변환이 수행되지 않습니다.


2

내 생각에, 정확히 같은 오류의 원인은 NFS 클라이언트와 서버 사이의 버전 불일치였습니다.

아무 일도 없었던 것처럼 로그는 침묵했으며 서버 측에서 nfswatch 만 실행하면 상황을 명확하게 알 수있었습니다.

클라이언트 측에 nfsver 마운트 옵션을 추가하여 문제점을 해결했습니다.

server:/path   /mount/point   nfs   nfsvers=3   0 0

이것은 또한 내 문제였습니다. mount패키지 v2.17.2-9가 설치된 데비안 6 (Squeeze) . 해결책이 효과가있었습니다.
Alastair Irvine

1

연결하려는 클라이언트에 대해 서버에서 이름 확인이 올바른지 확인하고 내보내기 파일에 나열되어 있습니까?


질문에 대한 편집 내용보기 ... 모두 허용합니다
JoelFan

0

파일 hosts.allowhosts.deny클라이언트가 올바르게 입력되었는지 확인하십시오. 도움이되지 않으면 내보내기 파일을 게시하십시오.


질문에서 내 수정 사항보기
JoelFan

0

이것이 다른 사람들을 돕기 위해 Synology NAS를 가지고 있고 NFS 지점이 실제로 다른 항목을 경로에 추가했습니다.

이것이 Windows에서하는 일이므로 "xxx.xxx.xxx.xxx/folder"를 마운트하려고했습니다. 그러나 NFS를 사용하는 Ubuntu의 경우 "xxx.xxx.xxx.xxx/volume1/folder"를 사용해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.