본문 바로가기

dev

[CentOS 7] firewall-cmd 방화벽 설정

서버 운영을 위한 기초 지식!

외부에서 접근 가능한 포트를 등록하고 삭제하는 방법,
포트 A로 들어온 요청을 포트 B로 보내는 방법,
그리고 다양한 옵션들에 대한 설명입니다.

따라해봅시다. 쉬워요!!



▶현재 열려있는 포트 확인


1. netstat -ntl

-n
 : 주소나 포트를 숫자로 표현
-t
 : TCP로 연결된 포트를 확인
-l
 : LISTEN 상태인 포트를 확인



▶현재 활성화된 default network zone 확인


1. sudo firewall-cmd --get-active-zone
  (변경한 적이 없다면 public)


 - 각 zone에 대한 설명

(출처 : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1858)



▶1004 포트 열기


1. firewall-cmd --permanent --zone=public --add-port=1004/tcp
 → 성공시 success 출력

2. firewall-cmd --reload
 → 변경된 정책을 적용하기 위해 reload



▶1004 포트 닫기


1. firewall-cmd --permanent --zone=public --remove-port=1004/tcp

2. firewall-cmd --reload



▶80포트를 8080포트로 forward


1. firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

2. firewall-cmd --runtime-to-permanent
  → 재부팅 후에도 정책을 지속

3. firewall-cmd --reload



▷자주 쓰는 옵션


--permanent
 : 재부팅 후에도 해당 정책을 지속 (reload 필수)

--add-port=1004/tcp
 : 1004/tcp 포트를 추가

--list-all (--zone public)
 : 현재 활성화된 존의 정보를 확인(어떤 포트가 열려있는지 등), --zone으로 조회할 존 지정 가능 

--zone=public
 : public 존에 해당 정책을 추가

--set-default-zone=public
 : 활성화시킬 default network zone을 public으로 설정