NFS 공유를 생성 중입니다. NFS 서버와 NFS 클라이언트를 구성했습니다.
내 공유는 어제까지 잘 작동했는데 지금은 작동하지 않는 것 같습니다.
NFS 구성의 모든 단계를 재설정했지만 여전히 작동하지 않습니다.
내 문제는 (어제까지 잘 작동했던)을 사용하여 마운트된 폴더에 액세스하려고 할 때 cat /mnt/nfs1.txt
화면에 아무것도 표시되지 않는다는 것입니다. 그리고 그것은 들어올려지거나 무너지는 것처럼 보였습니다.
root@ela-native:~# cat /mnt/nfs1.txt
그 이후에는 화면에 아무 것도 나타나지 않으며 종료하려면 터미널을 닫아야 합니다.
내가 뭘 잘못했나요?
편집 1
내 nfs 구성 단계는 다음과 같습니다.
NFS 서버:
sudo apt-get install nfs-kernel-server
sudo mkdir /var/nfs/general
sudo nano /etc/exports
/var/nfs/general *(rw,sync,no_root_squash,no_subtree_check)
sudo exportfs -a
sudo service nfs-kernel-server start
NFS 클라이언트:
sudo apt-get install nfs-common
sudo mount 172.21.215.101:/var/nfs/general /mnt
그리고 를 실행하면 mount -t nfs
다음과 같은 결과를 얻습니다.
root@ela-native:/home/salini# mount -t nfs
172.21.215.101:/var/nfs/general on /mnt type nfs (rw,vers=4,addr=172.21.215.101,clientaddr=192.168.164.78)
나도 시도해 showmount -e 172.21.215.101
봤어
clnt_create: RPC: Port mapper failure - Timed out
편집 2
나는 less /var/log/boot.log
그것을 서버 시스템에서 시도했고 내 이해에 따르면 nfs 서버에 버그가 있다고 생각합니다.
[ESC[0;1;31mFAILEDESC[0m] Failed to start Automatically refresh installed snaps.
[ESC[0;1;31mFAILEDESC[0m] Failed to mount /mnt/nfs/var/nfs.
See 'systemctl status mnt-nfs-var-nfs.mount' for details.
[ESC[0;1;33mDEPENDESC[0m] Dependency failed for Remote File Systems.
Starting Permit User Sessions...
Starting LSB: VirtualBox Linux kernel module...
Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
Starting LSB: Speech Dispatcher...
Starting LSB: automatic crash report generation...
Starting LSB: Apache2 web server...
Starting LSB: daemon to balance interrupts for SMP systems...
[ESC[0;32m OK ESC[0m] Mounted /mnt/nfs/home.
여기서 문제가 무엇입니까?
편집 3
나는 sudo ufw status numbered
그랬고 sudo netstat -nlp | grep :111
. 이해합니다:
root@wsm-ela-inc6:/home/test# sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 514/tcp ALLOW IN Anywhere
[ 2] 514/udp ALLOW IN Anywhere
[ 3] 514/tcp (v6) ALLOW IN Anywhere (v6)
[ 4] 514/udp (v6) ALLOW IN Anywhere (v6)
root@wsm-ela-inc6:/home/test# sudo netstat -nlp | grep :111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3062/rpcbind
tcp6 0 0 :::111 :::* LISTEN 3062/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 3062/rpcbind
udp6 0 0 :::111 :::* 3062/rpcbind
편집 4
나는 그랬다:
sudo ufw allow from 192.168.1.0/24 to any port 2049
sudo ufw allow from 192.168.1.0/24 to any port 111
다시 시도했지만 showmount
다시 터미널에서 이것을 제공합니다.
clnt_create: RPC: Port mapper failure - Timed out
나도 그것을 시도 sudo service portmap restart
하고 그것을 얻었다 portmap: unrecognized service
. 저도 해봤는데 sudo service statd restart
잘 되더군요. 그런 다음 다시 시도했지만 showmount
여전히 같은 문제가 발생했습니다.
편집 5
나는 또한 netstat
이것을 시도하고 얻었습니다:
tcp 0 0 wsm-ela-inc6.csez:52630 maa03s29-in-f2.1e:https ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez.z:nfs wsm-ela-inc6.csez.z:890 ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez:34388 stackoverflow.com:https ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez:35504 maa05s06-in-f8.1e:https TIME_WAIT
tcp 0 0 wsm-ela-inc6.csez.z:890 wsm-ela-inc6.csez.z:nfs ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez:39524 maa03s22-in-f2.1e:https TIME_WAIT
tcp 0 0 wsm-ela-inc6.csez:shell 192.168.164.78:58982 ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez:34414 stackoverflow.com:https ESTABLISHED
tcp 0 0 wsm-ela-inc6.csez:34438 stackoverflow.com:https ESTABLISHED
답변1
클라이언트와 서버 모두에서 방화벽을 비활성화하면 mount 및 showmount 명령이 제대로 작동하는 것으로 나타났습니다.
서버와 클라이언트에서 방화벽을 비활성화하려고 시도했는데 모든 것이 정상으로 돌아왔습니다. 일반적으로 클라이언트와 서버가 신뢰할 수 있는 동일한 네트워크에 있지 않은 경우 NFS를 둘 사이에서 실행하는 것은 좋은 생각이 아닙니다. 특히 멍청한 방화벽에서는 제대로 작동하지 않기 때문입니다. 신뢰할 수 있는 동일한 네트워크에 있는 경우 다른 시스템에서 들어오는 트래픽에 대해 각 시스템에 대한 보다 포괄적인 권한이 계속 작동할 수 있습니다.
답변2
다음 포트에서 tcp/udp를 사용하도록 허용해 보세요.
111
875
2049
20048
34729
49465
방화벽을 완전히 켜는 대신.