저번에 구축해놓은 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
아래 링크로 이동하면 다른분이 사용할 포트를 등록하는 포스팅을 하셨는데 나의 경우 이 방법으로는 부족했다ㅠㅠ
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
아래의 링크들은 방화벽, 포트설정에 관한 다른 분들의 포스팅이다. 참고용
https://server-engineer.tistory.com/418
6. Windows 방화벽 인바운드 규칙 추가
클라이언트 윈도우 서버에 111, 2049포트 인바운드 규칙을 추가한다.
'Programming > Network' 카테고리의 다른 글
[Network] 인터넷 연결 진단 방법 - ping 테스트 (0) | 2021.07.30 |
---|---|
[Network] 네트워크관리사2급 실기 - Window Server 에뮬레이터 설정 실습 및 예제 (0) | 2021.07.01 |
[Network] 네트워크관리사 2급 실기 - 라우터 명령어 설정 (0) | 2021.06.27 |
[Network] NFS설정 - Windows10 & Linux(Ubuntu) 네트워크 드라이버 연결 (1) (0) | 2021.06.25 |
[Network] 네트워크관리사 2급 요약 - 계정과 그룹 & 파일시스템 (10) (0) | 2021.05.24 |