본문 바로가기
infra/etc

[CentOS] firewalld 방화벽 설정 하기

by hjhello423 2019. 11. 11.

CentOS 8 환경의 방화벽을 조작해 보자.

 

실행, 중지

설치 및 실행, 중지는 아래의 명령어로 조작할 수 있다.

yum install firewalld  //설치
systemctl start firewalld //firewalld 시작
systemctl enable firewalld //firewalld 중지
firewall-cmd --reload //firewalld 재시작

 


설정

/usr/lib/firewalld/zones에서 기본 설정을 확인할 수 있다. 각각의 설정 .xml 파일을 확인해 보자.

 

시스템 개별 설정은 /etc/firewalld/ 에 위치한 'firewalld.conf'을 이용해 설정 가능하다.

default zone은 public이 기본으로 지정되어 있다. default zone를 변경하려면 firewalld를 재시작하면 된다.

<firewalld.conf>


DefaultZone=public

 

사용자가 설정한 zone 정보는 /etc/firewalld/zones에 있는 파일에서 확인 가능하다.

다음은 public zone에 설정한 정보를 담고 있는 public.xml 파일의 내용이다. (설정 방법은 아래에서 설명한다.)

ssh, http, 8080 포트 등을 오픈한 것을 확인할 수 있다.

<public.xml>


<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <service name="http"/>
  <port port="80" protocol="tcp"/>
  <port port="8080" protocol="tcp"/>
  <port port="8081" protocol="tcp"/>
</zone>

 


서비스 추가, 삭제

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --remove-service=http

 

포트 추가, 삭제

firewall-cmd --permanent --zone=public --add-port=80/tcp //80오픈
firewall-cmd --permanent --zone=public --add-port=8080-8090/tcp //범위지정
firewall-cmd --permanent --zone=public --remove-port=80/tcp //80삭제

 

IP 지정

firewall-cmd --permanent --zone=public --add-source=10.0.10.10/24 --add-port=22/tcp

 

firewalld 재시작

firewall-cmd --reload

 

아래 명령어를 참고하여 8080포트가 오픈되었는지 확인해보자.

netstat -anp | grep 8080

tcp6       0      0 :::8080                 :::*                    LISTEN      2159/jav

 

 

반응형

댓글