Red Hat Training
A Red Hat training course is available for RHEL 8
4.11. 방화벽 뒤에서 실행되도록 NFS 서버 구성
NFS에는 RPC 서비스에 대한 포트를 동적으로 할당하고 방화벽 규칙을 구성하는 문제를 일으킬 수 있는 rpcbind
서비스가 필요합니다. 다음 섹션에서는 지원하려는 경우 방화벽에서 작동하도록 NFS 버전을 구성하는 방법을 설명합니다.
NFSv3
여기에는 NFSv3를 지원하는 모든 서버가 포함됩니다.
- NFSv3- 전용 서버
- NFSv3 및 NFSv4를 모두 지원하는 서버
- NFSv4-전용
4.11.1. 방화벽 뒤에서 실행되도록 NFSv3- 사용 서버 구성
다음 절차에서는 방화벽 뒤에서 실행되도록 NFSv3를 지원하는 서버를 구성하는 방법을 설명합니다. 여기에는 NFSv3 및 NFSv4를 모두 지원하는 NFSv3 전용 서버 및 서버가 포함됩니다.
절차
클라이언트가 방화벽 뒤에서 NFS 공유에 액세스할 수 있도록 하려면 NFS 서버에서 다음 명령을 실행하여 방화벽을 구성합니다.
firewall-cmd --permanent --add-service mountd firewall-cmd --permanent --add-service rpc-bind firewall-cmd --permanent --add-service nfs
다음과 같이
/etc/nfs.conf
파일에서 RPC 서비스nlockmgr
에서 사용할 포트를 지정합니다.[lockd] port=tcp-port-number udp-port=udp-port-number
또는
/etc/modprobe.d/lockd.conf
파일에nlm_tcpport
및nlm_udpport
를 지정할 수 있습니다.NFS 서버에서 다음 명령을 실행하여 방화벽에서 지정된 포트를 엽니다.
firewall-cmd --permanent --add-port=<lockd-tcp-port>/tcp firewall-cmd --permanent --add-port=<lockd-udp-port>/udp
다음과 같이
/etc/nfs
파일의.
conf[statd]
섹션을 편집하여 alice.statd에 대한 정적 포트를 추가합니다.[statd] port=port-number
NFS 서버에서 다음 명령을 실행하여 방화벽에서 추가된 포트를 엽니다.
firewall-cmd --permanent --add-port=<statd-tcp-port>/tcp firewall-cmd --permanent --add-port=<statd-udp-port>/udp
방화벽 구성을 다시 로드합니다.
firewall-cmd --reload
먼저
rpc-statd
서비스를 다시 시작한 다음nfs-server
서비스를 다시 시작합니다.# systemctl restart rpc-statd.service # systemctl restart nfs-server.service
또는
/etc/modprobe.d/lockd.conf
파일에lockd
포트를 지정한 경우:/proc/sys/fs/nfs/nlm_tcpport
및/proc/sys/fs/nfs/nlm_udpport
의 현재 값을 업데이트합니다.# sysctl -w fs.nfs.nlm_tcpport=<tcp-port> # sysctl -w fs.nfs.nlm_udpport=<udp-port>
rpc-statd
및nfs-server
서비스를 다시 시작합니다.# systemctl restart rpc-statd.service # systemctl restart nfs-server.service
4.11.2. 방화벽 뒤에서 실행되도록 NFSv4 전용 서버 구성
다음 절차에서는 방화벽 뒤에서 실행되도록 NFSv4 전용 서버를 구성하는 방법을 설명합니다.
절차
클라이언트가 방화벽 뒤에서 NFS 공유에 액세스할 수 있도록 하려면 NFS 서버에서 다음 명령을 실행하여 방화벽을 구성합니다.
firewall-cmd --permanent --add-service nfs
방화벽 구성을 다시 로드합니다.
firewall-cmd --reload
nfs-server를 다시 시작합니다.
# systemctl restart nfs-server
4.11.3. 방화벽 뒤에서 실행되도록 NFSv3 클라이언트 구성
방화벽 뒤에서 실행되도록 NFSv3 클라이언트를 구성하는 절차는 방화벽 뒤에서 실행되도록 NFSv3 서버를 구성하는 절차와 유사합니다.
구성 중인 시스템이 NFS 클라이언트와 NFS 서버 둘 다인 경우, NFSv3- 사용 서버 구성에 설명된 절차에 따라 방화벽 뒤에서 실행됩니다.
다음 절차에서는 방화벽 뒤에서 실행하기 위해서만 NFS 클라이언트인 시스템을 구성하는 방법을 설명합니다.
절차
클라이언트가 방화벽 뒤에 있을 때 NFS 서버가 NFS 클라이언트에 콜백을 수행할 수 있도록 하려면 NFS 클라이언트에서 다음 명령을 실행하여 방화벽에 CHAP
-bind
서비스를 추가합니다.firewall-cmd --permanent --add-service rpc-bind
다음과 같이
/etc/nfs.conf
파일에서 RPC 서비스nlockmgr
에서 사용할 포트를 지정합니다.[lockd] port=port-number udp-port=upd-port-number
또는
/etc/modprobe.d/lockd.conf
파일에nlm_tcpport
및nlm_udpport
를 지정할 수 있습니다.NFS 클라이언트에서 다음 명령을 실행하여 방화벽에서 지정된 포트를 엽니다.
firewall-cmd --permanent --add-port=<lockd-tcp-port>/tcp firewall-cmd --permanent --add-port=<lockd-udp-port>/udp
다음과 같이
/etc/nfs
파일의.
conf[statd]
섹션을 편집하여 alice.statd에 대한 정적 포트를 추가합니다.[statd] port=port-number
NFS 클라이언트에서 다음 명령을 실행하여 방화벽에서 추가된 포트를 엽니다.
firewall-cmd --permanent --add-port=<statd-tcp-port>/tcp firewall-cmd --permanent --add-port=<statd-udp-port>/udp
방화벽 구성을 다시 로드합니다.
firewall-cmd --reload
rpc-statd
서비스를 다시 시작합니다.# systemctl restart rpc-statd.service
또는
/etc/modprobe.d/lockd.conf
파일에lockd
포트를 지정한 경우:/proc/sys/fs/nfs/nlm_tcpport
및/proc/sys/fs/nfs/nlm_udpport
의 현재 값을 업데이트합니다.# sysctl -w fs.nfs.nlm_tcpport=<tcp-port> # sysctl -w fs.nfs.nlm_udpport=<udp-port>
rpc-statd
서비스를 다시 시작합니다.# systemctl restart rpc-statd.service
4.11.4. 방화벽 뒤에서 실행되도록 NFSv4 클라이언트 구성
클라이언트가 NFSv4.0을 사용하는 경우에만 이 절차를 수행하십시오. 이 경우 NFSv4.0 콜백용 포트를 열어야 합니다.
이후 프로토콜 버전에서는 서버가 클라이언트에서 시작한 동일한 연결에서 콜백을 수행하기 때문에 NFSv4.1 이상에는 이 절차가 필요하지 않습니다.
절차
NFSv4.0 콜백이 방화벽을 통과하도록 허용하려면
/proc/sys/fs/nfs_callback_tcpport
를 설정하고 서버가 다음과 같이 클라이언트의 해당 포트에 연결할 수 있습니다.# echo "fs.nfs.nfs_callback_tcpport = <callback-port>" >/etc/sysctl.d/90-nfs-callback-port.conf # sysctl -p /etc/sysctl.d/90-nfs-callback-port.conf
NFS 클라이언트에서 다음 명령을 실행하여 방화벽에서 지정된 포트를 엽니다.
firewall-cmd --permanent --add-port=<callback-port>/tcp
방화벽 구성을 다시 로드합니다.
firewall-cmd --reload