웹사이트 검색

Ubuntu 22.04에서 NFS 서버를 설치하고 구성하는 방법


NFS(네트워크 파일 공유)는 네트워크의 다른 Linux 클라이언트와 디렉터리 및 파일을 공유할 수 있는 프로토콜입니다. 공유할 디렉터리는 일반적으로 NFS 서버에 생성되고 여기에 파일이 추가됩니다.

클라이언트 시스템은 NFS 서버에 있는 디렉토리를 마운트하여 생성된 파일에 대한 액세스 권한을 부여합니다. NFS는 특히 공간이 부족할 때 클라이언트 시스템 간에 공통 데이터를 공유해야 할 때 유용합니다.

이 가이드는 Ubuntu 22.04, 20.04 및 18.04NFS 서버를 설치 및 구성하고, 클라이언트 리눅스 시스템.

Ubuntu에 NFS 서버 설치 및 구성

NFS 서버를 설치하고 구성하려면 아래 설명된 단계를 따르세요.

1단계: Ubuntu에 NFS 커널 서버 설치

첫 번째 단계는 서버에 nfs-kernel-server 패키지를 설치하는 것입니다. 하지만 그 전에 먼저 다음 apt 명령을 사용하여 시스템 패키지를 업데이트하겠습니다.

sudo apt update

업데이트가 완료되면 아래와 같이 nfs-kernel-server 패키지를 설치하세요. 이렇게 하면 파일 공유 설정에 똑같이 중요한 nfs-commonrpcbind와 같은 추가 패키지가 저장됩니다.

sudo apt install nfs-kernel-server

2단계: NFS 내보내기 디렉터리 생성

두 번째 단계는 클라이언트 시스템 간에 공유될 디렉터리를 만드는 것입니다. 이는 내보내기 디렉터리라고도 하며 나중에 클라이언트 시스템에서 액세스할 수 있는 파일을 생성하는 디렉터리입니다.

NFS 마운트 디렉터리 이름을 지정하여 아래 명령을 실행합니다.

sudo mkdir -p /mnt/nfs_share

모든 클라이언트 시스템이 공유 디렉터리에 액세스하기를 원하므로 디렉터리 권한에 대한 제한을 제거합니다.

sudo chown -R nobody:nogroup /mnt/nfs_share/

원하는 대로 파일 권한을 조정할 수도 있습니다. 여기에서는 디렉토리 내부의 모든 내용에 대한 읽기, 쓰기 및 실행 권한을 부여했습니다.

sudo chmod 777 /mnt/nfs_share/

3단계: 클라이언트 시스템에 NFS 공유 액세스 권한 부여

NFS 서버에 액세스하기 위한 권한은 /etc/exports 파일에 정의되어 있습니다. 선호하는 텍스트 편집기를 사용하여 파일을 엽니다.

sudo vim /etc/exports

단일 클라이언트, 여러 클라이언트에 대한 액세스를 제공하거나 전체 서브넷을 지정할 수 있습니다.

이 가이드에서는 전체 서브넷이 NFS 공유에 액세스할 수 있도록 허용했습니다.

/mnt/nfs_share  192.168.43.0/24(rw,sync,no_subtree_check)

위 명령어에 사용된 옵션에 대한 설명입니다.

  • rw: 읽기/쓰기를 나타냅니다.
  • 동기화: 변경 사항을 적용하기 전에 디스크에 기록해야 합니다.
  • No_subtree_check: 하위 트리 검사를 제거합니다.

단일 클라이언트에 대한 액세스 권한을 부여하려면 다음 구문을 사용하십시오.

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)

클라이언트가 여러 개인 경우 각 클라이언트를 별도의 파일에 지정합니다.

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share  client_IP_2 (re,sync,no_subtree_check)

4단계: NFS 공유 디렉터리 내보내기

기본 클라이언트 시스템에 대한 액세스 권한을 부여한 후 NFS 공유 디렉터리를 내보내고 NFS 커널 서버를 다시 시작하여 변경 사항을 적용합니다.

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

5단계: 방화벽을 통한 NFS 액세스 허용

클라이언트가 NFS 공유에 액세스하려면 방화벽을 통한 액세스를 허용해야 합니다. 그렇지 않으면 공유 디렉터리에 대한 액세스 및 마운트가 불가능합니다. 이를 달성하려면 다음 명령을 실행하십시오.

sudo ufw allow from 192.168.43.0/24 to any port nfs

방화벽을 다시 로드하거나 활성화하고(해제된 경우) 방화벽 상태를 확인하십시오. 기본 파일 공유인 포트 2049를 열어야 합니다.

sudo ufw enable
sudo ufw status

클라이언트 시스템에 NFS 클라이언트 설치

서버에 NFS 서비스 설치 및 구성이 완료되었으므로 이제 클라이언트 시스템에 NFS를 설치해 보겠습니다.

1단계: NFS-공통 패키지 설치

일반적으로 시스템 패키지와 리포지토리를 먼저 업데이트하는 것부터 시작하세요.

sudo apt update

다음으로, 표시된 대로 nfs-common 패키지를 설치합니다.

sudo apt install nfs-common

2단계: 클라이언트에 NFS 탑재 지점 생성

다음으로 NFS 서버에서 nfs 공유를 마운트할 마운트 지점을 생성해야 합니다. 이렇게 하려면 다음 명령을 실행하세요.

sudo mkdir -p /mnt/nfs_clientshare

3단계: 클라이언트 시스템에 NFS 공유 마운트

남은 마지막 단계는 NFS 서버가 공유하는 NFS 공유를 마운트하는 것입니다. 이렇게 하면 클라이언트 시스템이 공유 디렉터리에 액세스할 수 있습니다.

ifconfig 명령어를 이용하여 NFS 서버의 IP 주소를 확인해 보겠습니다.

ifconfig

이를 달성하려면 다음 명령을 실행하십시오.

sudo mount 192.168.43.234:/mnt/nfs_share  /mnt/nfs_clientshare

4단계: 클라이언트 시스템에서 NFS 공유 테스트

NFS 설정이 작동하는지 확인하기 위해 서버에 있는 NFS 공유 디렉터리에 몇 가지 파일을 생성하겠습니다.

cd /mnt/nfs_share/
touch file1.txt file2.txt file3.txt

이제 NFS 클라이언트 시스템으로 돌아가서 파일이 존재하는지 확인하십시오.

ls -l /mnt/nfs_clientshare/

엄청난! 출력 결과는 NFS 서버에서 방금 생성한 파일에 액세스할 수 있음을 확인합니다!

그게 전부입니다. 이 가이드에서는 Ubuntu 22.04, Ubuntu 20.04Ubuntu 18.04에서 NFS 서버를 설치하고 구성하는 방법을 안내했습니다. . NFS는 요즘 거의 사용되지 않으며 보다 강력하고 안전한 Samba 공유 프로토콜을 선호합니다.