오류 내용
얼마 전에 우분투 환경에서 작업을 하다가 포트를 개방해야할 일이 있어 우분투에서 방화벽을 구성하는 UFW를 사용하여 포트를 개방해주었다. 그런데 방화벽 설정을 마친 후 세션을 종료했다가 다시 접속하려고 하니 계속 연결 거부가 발생하여 접속을 못하는 상황에 놓였다.
원인
원인은 포트를 개방할때 사용한 ufw에 있었다. aws같은 클라우드 서비스를 이용하는 사용자라면 보통 ssh로 접속을 할텐데 ufw는 우분투 방화벽 설정으로 클라우드 서비스에서 설정하는 방화벽 설정과는 별개의 설정이다. 인스턴스에서는 보통 아래와 같은 명령어로 ufw 활성화를 해준다.
$ sudo ufw enable
근데 이 명령어를 실행하면 경고문이 뜨면서 ufw를 허용할거냐고 물어보는데 이게 문제였다. 나는 그냥 방화벽을 사용할거냐고 묻는줄 알고 아무생각없이 y를 눌렀는데 이 경고문의 내용은 ufw를 허용할 시 기존에 허용했던 포트가 차단될 수 있다는 경고문이였다. 그래서 ufw를 허용하자 기존에 연결되어있던 ssh 포트로의 접속이 끊겨 인스턴스 접속이 안됐던거다.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
※ 이걸 찾지를 못해서 한참을 삽질했다;; (경고문을 잘 읽어보는 습관을 들여야겠다)
해결
해결은 비교적 간단하게 해결되었다. 새로운 인스턴스를 만들고 기존에 문제가 발생한 인스턴스에서 불륨을 해제하고 새로 만든 인스턴스에 연결한 다음 ufw 설정 파일에 들어가 직접 ufw를 비활성화 시켜주면된다.
그 다음 기존 인스턴스에 다시 불륨을 연결해주면 정상적으로 인스턴스에 접속이 가능해진다.
아래 명령어는 새로 만든 인스턴스에서 연결시킨 불륨에 mount 하는 명령어랑 ufw를 비활성화 시키기 위한 파일의 위치이다.
$ sudo lsblk # 연결된 불륨 확인
$ mkdir mnt
$ sudo mount /dev/xvdf1 ./mnt # 새로 연결한 불륨 마운트
$ cd mnt/etc/ufw
# ufw 설정 파일 위치
# 항목 중 ENABLED의 값을 no라고 바꿔주면 된다
$ sudo vi ufw.conf
후기
ufw를 사용해야할 경우에는 꼭 ssh 포트를 허용해주자.
'오류해결' 카테고리의 다른 글
[React] Kakao Map Api - customoverlay 클릭 이벤트 오류 수정 (0) | 2024.09.14 |
---|