본문 바로가기
서버/리눅스

[Linux] 방화벽 Firewall

by 코딩히어로 2022. 2. 8.
728x90

리눅스 시스템에서는 윈도에서와 같은 방화벽을 제공합니다.

이 방화벽을 통해서 외부에서 들어오는 포트를 허용하고 막을 수 있는데

이러한 리눅스의 방화벽을 Firewall 이라고 합니다.

 

먼저 리눅스에 firewall이 없는 경우에는 yum을 통해 설치가 가능합니다.

 

yum install -y firewall

 

기본적으로 리눅스에서는 firewall을 사용하기 때문에 설치가 되었다고 하면

명령어를 통해서 사용이 가능합니다.

그럼 firewall을 사용하기 위한 기본적인 명령어를 알아보도록 하겠습니다.


firewall-cmd --state

해당 명령은 firewall 방화벽 프로그램 자체가 실행 중인지 또한 어떠한 에러 상황인지를 확인합니다.

firewall이 실행중이라면 running으로 표시됩니다.

 

firewall-cmd --reload

firewall을 통해서 방화벽 포트를 추가하거나 삭제한 뒤에는 해당 명령을 통해

변경된 정보를 적용합니다.

firewall 구성에 작은 변경이라도 마지막에 해당 명령을 실행시키는 습관이 필요합니다.

 

firewall-cmd --list-all

만약 리눅스로 외부에서 접근이 되지 않는다고 하면 1순위로 쳐보는 명령어로

이제는 약간 습관적으로 치고 있는 자신을 발견할 수 있습니다.

해당 명령어는 리눅스 firewall 방화벽에 어떠한 포트들이 허용되는지 출력해줍니다.

 

firewall-cmd --add-service=ftp

해당 명령을 통해 서비스를 방화벽에 허용합니다.

ftp라고 적힌 곳에 httpd 등 허용하고자 하는 서비스를 넣어주면 됩니다.

그런 다음 위에서 설명한것처럼 reload 명령은 필수입니다.

 

firewall-cmd --remove-service=ftp

서비스를 추가 할 수 있다면 당연히 삭제하는 것도 가능합니다.

해당 명령을 통해 방화벽에서 해당 서비스의 접근을 막을 수 있습니다.

당연히 reload 명령은 필수입니다.

 

firewall-cmd --add-port=3306/tcp

위에서는 서비스를 방화벽에 추가했다면 해당 명령은 직접적인

포트를 추가하는 방법으로 사설 포트 등을 허용시킬 때 많이 사용합니다.

리눅스를 운영하다 보면 서비스 추가보다는 직접적인 포트 추가인 해당 명령어를

훨씬 더 많이 사용하게 됩니다.

역시나 reload 명령은 필수입니다.

 

firewall-cmd --remove-port=3306/tcp

위에서 추가한 포트를 삭제할 때에는 해당 명령을 사용합니다.

이제 말 안해도 해당 명령 다음에 실행할 명령은 아실 거라 믿습니다.

 


클라우드 환경에서는 해당 firewall 방화벽만 가지고는 포트가 접근하는 것을

허용할 수 없지만 단일 리눅스에 서버를 구성할 경우에는 firewall이 유일한 방화벽이므로

해당 서버의 안정성을 고려했을 때에는 선택이 아닌 필수적인 프로그램이라고 할 수 있습니다.

 

처음에는 명령어가 낮설기도 하지만 정말 정말 리눅스 관리에서 많이 쓰는 명령어이기 때문에

필수적으로 알아두시는게 좋습니다.

 

해당 포스팅은 기본적인 명령어만 알아봤지만 firewall 관련된 명령어는 더 많이 있습니다.

관심이 있으시다면 해당 내용을 찾아보시는 것도 좋지만 요즘같이 클라우드 환경을 많이 사용하는

상황에서는 이번 포스팅의 명령어정도만 알아도 충분히 방화벽을 관리할 수 있습니다.

 

728x90
반응형

'서버 > 리눅스' 카테고리의 다른 글

[Linux] 파일 전송 scp 명령  (4) 2022.03.31
[Linux] File Descriptor란?  (1) 2022.02.11
[Linux] 원격 SSH 접속 Putty  (2) 2022.01.12
[Linux] 프로세스란?  (21) 2022.01.11
[Linux] chroot 500 oops error 해결  (8) 2022.01.10

댓글