NFS가 사용하는 포트

What Ports Does Nfs Use



네트워크 파일 시스템 또는 NFS는 사용자가 네트워크를 통해 디렉토리와 파일을 공유할 수 있도록 하는 파일 시스템 프로토콜입니다. NFS 프로토콜은 Samba 프로토콜과 유사합니다. 그러나 Samba와 달리 NFS는 암호화 메커니즘 및 인증을 제공합니다. 또한 NFS 서버 액세스는 지정된 호스트 이름과 IP 주소로 제한됩니다. 따라서 NFS는 Samba에 비해 원격 공유에 훨씬 더 나은 선택입니다.

이 자습서에서는 NFS의 기본 네트워킹 개념, 특히 NFS 서비스에서 사용하는 포트에 중점을 둘 것입니다. NFS 공유의 특정 포트와 서비스를 이해하면 이를 사용하여 방화벽 및 문제 해결과 같은 보안 조치를 구성할 수 있습니다.







NFS 작동 방식

이 문서를 작성하는 시점에 지원되는 NFS 버전은 세 가지입니다. NFS v2는 가장 오래되고 가장 널리 지원됩니다.



NFS v3는 NFS V2보다 최신 버전이며 가변 크기 처리, 향상된 오류 보고 등과 같은 더 많은 기능을 제공합니다. 그러나 NFS v3은 NFS v2 클라이언트와 호환되지 않습니다.



최신 버전의 NFS v4는 새롭고 향상된 기능을 제공합니다. 여기에는 상태 저장 작업, NFS v2 및 NFS v3과의 역호환성, 제거된 portmapper 요구 사항, 플랫폼 간 상호 운용성, 더 나은 네임스페이스 처리, ACL을 사용한 기본 제공 보안 및 Kerberos가 포함됩니다.





다음은 NFS v3와 NFS v 4를 비교한 것입니다.

특징 NFS v3 NFS v4
전송 프로토콜 TCP 및 UDP UDP 전용
권한 처리 유닉스 Windows 기반
인증 방법 Auth_Sys – 약함 케르베로스(강함)
성격 무국적자 상태 저장
의미론 유닉스 유닉스와 윈도우

위의 표는 NFS 프로토콜 4와 NFS 프로토콜 3의 기능 중 일부를 보여줍니다. 더 자세히 알아보려면 아래 제공된 공식 문서를 참조하십시오.



https://datatracker.ietf.org/doc/html/rfc3530

NFS v4는 portmapper를 사용하지 않으며 NFS V2 및 V3에 필요한 서비스는 필요하지 않습니다. 따라서 NFS v4에서는 포트 2049만 필요합니다.

그러나 NFS v2 및 v2에는 이 자습서에서 논의할 추가 포트와 서비스가 필요합니다.

필요한 서비스(NFS v2 및 V3)

언급했듯이 NFS v2 및 v3은 포트맵 서비스를 사용합니다. Linux의 portmap 서비스는 NFS(v2 및 v3)가 클라이언트와 서버 간의 요청을 인코딩 및 디코딩하는 데 사용하는 원격 프로시저 호출을 처리합니다.

NFS 공유를 구현하기 위해서는 다음과 같은 서비스가 필요합니다. 이것은 NFS v2 및 v3에만 해당됩니다.

  • 포트매퍼
  • 장착
  • NFSD
  • 잠금
  • 통계

#: 포트매퍼

클라이언트와 서버 측 모두에서 NFS를 실행하려면 Portmapper 서비스가 필요합니다. TCP 및 UDP 프로토콜 모두에 대해 포트 111에서 실행됩니다.

방화벽을 구현하는 경우 이 포트가 수신 및 발신 패킷에 허용되는지 확인하십시오.

#: 장착

NFS를 실행하는 데 필요한 다른 서비스는 mountd 데몬입니다. 이 서비스는 NFS 서버에서 실행되며 NFS 클라이언트의 마운트 요청을 처리하는 데 사용됩니다. 주로 nfsd 서비스에서 처리하며 사용자 구성이 필요하지 않습니다.

그러나 /etc/sysconfig/nfs.conf 파일에서 정적 포트를 설정하도록 구성을 편집할 수 있습니다. /를 찾아 다음을 설정합니다.

MOUNTD_PORT=[포트]

#: NFSD

이것은 NFS 서버에서 실행되는 NFS 데몬입니다. 이것은 서버에 연결된 모든 클라이언트에 대해 서버 스레드와 같은 기능을 제공하기 위해 Linux 커널과 함께 작동하는 중요한 서비스입니다.

기본적으로 NFS 데몬은 2049의 정적 포트를 실행하도록 이미 구성되어 있습니다. 이 포트는 TCP 및 UDP 프로토콜 모두에서 true입니다.

#: 잠금 및 통계

NFS 잠금 관리자 데몬(lockd) 및 상태 관리자 데몬(statd)은 NFS를 실행하는 데 필요한 기타 서비스입니다. 이러한 데몬은 서버 측과 클라이언트 측에서 실행됩니다.

lockd 데몬을 사용하면 NFS 클라이언트가 NFS 서버의 파일을 잠글 수 있습니다.

반면에 statd 데몬은 NFS 서버가 정상적인 종료 없이 다시 시작될 때 사용자에게 알리는 역할을 합니다. 네트워크 상태 모니터 RPC 프로토콜을 구현합니다.

두 서비스 모두 nfslock 서비스에 의해 자동으로 시작되지만 정적 포트를 실행하도록 구성할 수 있으며 이는 방화벽 구성에 유용할 수 있습니다.

statd 및 lockd 데몬에 대한 정적 포트를 설정하고 /etc/sysconfig/nfs를 편집하고 다음 항목을 입력합니다.

STATD_PORT=[포트]

LOCKD_TCPPORT=[포트]

LOCKD_UDPPORT=[포트]

빠른 요약

방금 다룬 내용을 간단히 요약해 보겠습니다.

NFS v4를 실행하는 경우 포트 2049를 허용하기만 하면 됩니다. 그러나 NFS v2 또는 v3을 실행 중인 경우 /etc/sysconfig/nfs 파일을 편집하고 다음 서비스에 대한 포트를 추가해야 합니다.

  • 마운트됨 – MOUNTD_PORT=포트
  • 통계 – STATD_PORT=포트
  • LOCKD – LOCKD_TCPPORT=포트, LOCKD_UDPPORT=포트

마지막으로 NFSD 데몬이 포트 2049에서 실행 중이고 포트 매퍼가 포트 111에서 실행 중인지 확인해야 합니다.

노트: /etc/sysconfig/nfs 파일이 없으면 파일을 만들고 자습서에 지정된 항목을 추가합니다.

NFS 서비스가 올바르게 시작되지 않으면 /var/log/messages를 확인할 수도 있습니다. 지정한 포트가 사용 중이 아닌지 확인하십시오.

예시 구성

다음은 CentOS 8 서버에서 NFS 서버의 구성 설정입니다.

자습서에서 설명한 대로 구성을 편집하고 필요한 포트를 추가했으면 다음과 같이 서비스를 다시 시작합니다.

수도systemctl 시작 nfs-server.service

다음 명령을 사용하여 서비스가 실행 중인지 확인합니다.

수도systemctl 상태 nfs-server.service

마지막으로 아래 명령과 같이 rpcinfo를 사용하여 실행 중인 포트를 확인합니다.

수도rpcinfo-NS

결론

이 자습서에서는 NFS 프로토콜의 네트워킹 기본 사항과 NFS v2, v3 및 v4에 필요한 포트 및 서비스에 대해 설명했습니다.

읽어 주셔서 감사합니다 & 자랑스러운 괴짜가 되십시오!