Linux

[Ubuntu] Ubuntu(우분투) ufw 방화벽 대신 firewalld 사용하기

메바동 2021. 9. 19. 00:44
728x90

요즘 Oracle Cloud Free Tier를 가지고 놀고 있는데 ssh 접속 포트를 바꿔도 방화벽에 막히고, Jekyll을 실행시킨 뒤 포트를 열어줬음에도 자꾸 접속이 되지 않아 찾아보니 오라클 클라우드에서 ufw 방화벽이 제대로 작동하지 않는다는 글을 보았다.

 

요 며칠간 인스턴스를 지웠다 생성하며 고생했던 시간을 생각하면 허무한 상황이었다.

SSH 포트가 막혀서 내가 제대로 설정하지 못한 건가 싶어서 지웠다 생성했다를 반복했었는데...

 

 

근데 아직 ufw 방화벽이 문제인걸 확인하지 못했으니 ufw를 지우고 firewalld를 사용하여 직접 확인해 보기로 하였다.

 

 

 

ufw 방화벽 제거하기

우선 ufw가 문제라고 하니 ufw를 제거해 주기로 하였다.

 

sudo systemctl stop iptables
sudo systemctl mask iptables
sudo systemctl status iptables

 

위의 명령어를 사용하여 iptables를 중지하고 mask해준 뒤 제대로 정지됐나 확인을 해 준다.

 

 

위 사진처럼 Loaded에 masked가 적혀있고 Active가 inactive가 되어있으면 iptables가 정지된 것이다.

 

그 후 ufw를 제거해 준다.

 

sudo apt remove ufw

 

 

 

 

firewalld 설치 후 사용하기

ufw를 제거하였고 방화벽을 사용하지 않을 수 없으니 이제 firewalld를 설치해준다.

 

sudo apt install firewalld

 

 

열심히 설치해 준 뒤 이제 firewalld를 사용하도록 설정해준 뒤 상태를 확인해 준다.

 

sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo systemctl status firewalld

 

 

Loaded와 Active 상태가 위처럼 나오고 맨 밑에 Started firewalld...이라는 문구가 적혀있으면 정상적으로 실행이 되고 있는 중이다.

 

 

 

이제 정말 ufw 문제가 맞는지 확인하기 위해 Jekyll을 실행해준 뒤 firewalld의 포트를 열어놓고 접속했을 때 페이지가 뜨면 ufw 문제가 맞는 것이 된다.

 

firewalld의 포트는

 

sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload

 

위의 명령어를 사용하여 원하는 포트를 열어줄 수 있다.

반드시 포트를 등록한 뒤에는 --reload 옵션을 주어 success를 확인해야 한다.

 

 

이제 Jekyll의 기본 포트 4000번을 열어주었으니 브라우저에서 http://{아이피 주소}:4000을 입력하였을 때 Jekyll의 기본 페이지가 나오면 성공이다.

 

 

 

페이지 두둥 등장!!!

 

너무나도 쉽게 등장하였다...

 

 

이거 때문에 며칠을 날린 걸 생각하면 화가 나지만 해결됐으니 우선 됐다...

 

빨리 오라클 클라우드에서 Rocky 리눅스 지원해줬으면 좋겠네...

728x90