본문 바로가기
Programming/Network

[Network] NFS설정 - Windows10 & Linux(Ubuntu) 네트워크 드라이버 연결 (2) / 네트워크 드라이브가 연결이 안되는 오류 해결 - 방화벽 환경

by prinha 2021. 7. 30.
반응형

 

반응형

https://prinha.tistory.com/entry/Network-NFS%EC%84%A4%EC%A0%95-Windows10-LinuxUbuntu-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%97%B0%EA%B2%B0

 

[Network] NFS설정 - Windows10 & Linux(Ubuntu) 네트워크 드라이버 연결 (1)

NFS (Network File System) 원격지 PC의 파일을 로컬 PC에 있는 것처럼 사용할 수 있는 파일시스템 NFS_Server가 파일을 공유하면 NFS_Client가 공유된 디렉토리를 마운트하여 파일을 사용하는 방식 *보안을 크

prinha.tistory.com


저번에 구축해놓은 NFS서버의 IP주소가 변경되면서 자연스럽게 NFS드라이브 연결도 해제되었다.

linux서버에서 NFS config설정만 변경해주면 자연스레 연결이 될줄 알았는데..계속 네트워크 오류가 났다.

여기저기 구글링을 시작했는데 Ubuntu보다 CentOs관련한 정보가 더 많았고, 정확한 오류 메시지가 뜨지않아 여러 테스트를 해보면서 많이 헤맸다.. 

나의 경우에는 공유하는 폴더의 권한문제도 아니였고 인터넷 연결문제도 아니였다.

방화벽 환경에서 NFS를 사용하려하다보니 그에 사용된 포트문제였다.

 

해당 오류를 해결한 단계는 다음과 같다.

 

1. ping 

리눅스 NFS서버와 윈도우 NFS클라이언트의 네트워크 문제를 점검했는데, 다행히 패킷을 잘 주고받았다.

-> 처음엔 ping응답을 받을 수 없어서 네트워크문제인줄만 알았는데, windows정책상 ICMP를 제한하고있기때문에 윈도우 방화벽 고급설정탭에서 ICMP인바운드규칙을 허용해줘야 ping을 받을 수 있다.

 

2. telnet 또는 tcping 

리눅스 서버에서 윈도우 클라이언트로 ip와 port를 넘겨서 테스트를 해보았는데,

3389(원격접속) 기본포트는 정상작동하였으나 NFS의 기본 포트인 111과 2049는 정상작동하지않았다.

 

3. NFS서버의 접속 상태 확인

netstat -a | grep nfs

위의 명령어로 확인해보면 NFS서버의 LISTEN상태로 접속 요청을 기다리는 상태를 확인할 수 있다. -> 정상

 

4. 포트현황확인

포트를 활용하기 위하여 리눅스서버에 portmap을 설치하려했는데 (구글링해보니 다들 portmap을 사용하더라..)

주르륵 에러메시지가 나왔다. portmap대신 rpcbind가 설치되어있기때문에 굳이 설치할 필요가 없다.

 

아래의 명령어를 입력하여 포트현황을 확인할 수 있다. (2049포트가 NFS서버의 기본 포트)

다른 포트는 신경쓰지않고 111(포트맵), 2049(NFS) 포트만 확인하면 된다.

rpcinfo -p

 

아래 링크로 이동하면 다른분이 사용할 포트를 등록하는 포스팅을 하셨는데 나의 경우 이 방법으로는 부족했다ㅠㅠ

https://www.whatwant.com/entry/NFS-%ED%8F%AC%ED%8A%B8-%EC%A0%9C%ED%95%9C%ED%95%98%EA%B8%B0-%EB%B0%A9%ED%99%94%EB%B2%BD-%ED%99%98%EA%B2%BD-Ubuntu-1404

 

NFS 포트 제한하기 - 방화벽 환경 (Ubuntu 14.04)

NFS를 사용하기 위해서 사용하는 포트가 지정된 1개가 아니다. 그러다보니 방화벽 환경에서 NFS를 사용하게 되면 당연히 문제가 발생한다. [ portmap → rpcbind ] 포트를 활용하기 위하여 portmap을설

www.whatwant.com

 

5. 리눅스서버 방화벽 설정

rpcinfo -p 명령어를 통해 111포트와 2049포트를 사용하고 있는 것은 확인을 했으니 해당 포트에 대한 방화벽 설정이 필요했다.

모든 ip에 대해 2049포트에 대한 접근을 허용할 수도 있지만 보안을 위해 윈도우 클라이언트서버의 ip에 대해서만 허용했다.

sudo ufw allow from 192.168.0.123 to any port 2049
sudo ufw allow from 192.168.0.123 to any port 111
#방화벽 상태확인
ufw status

#방화벽 활성화
ufw enable

#방화벽 비활성화
ufw disable

 

아래의 링크들은 방화벽, 포트설정에 관한 다른 분들의 포스팅이다. 참고용

http://blog.plura.io/?p=4580 

 

Ubuntu 방화벽 사용방법

Ubuntu 방화벽 사용방법     Ubuntu 12/14/16 UFW(Ubuntu FireWall) 사용방법   우분투는 기본적으로 방화벽을 제공하는데 UFW 라 불린다.   UFW 작동 상태 확인 # ufw status Status : inactive   UFW 활성화 하기 # ufw e

blog.plura.io

https://server-engineer.tistory.com/418

 

포트 및 방화벽 확인 및 포트 열기

A. 포트 상태 확인 1. 열려있는 모든 포트 표시 $ netstat -nap -n: host명으로 표시 안함 -a: 모든소켓 표시 -p: 프로세스ID와 프로그램명 표시 2. LISTEN중인 포트 표시 $ netstat -nap | grep LISTEN 3. 확인..

server-engineer.tistory.com

 

6. Windows 방화벽 인바운드 규칙 추가

클라이언트 윈도우 서버에 111, 2049포트 인바운드 규칙을 추가한다.

 

반응형