OS

[스크랩] RHEL/CentOS 7 에서 방화벽(firewalld) 설정하기

by LionHeart posted Jan 29, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

RHEL 7 부터는 방화벽을 관리하는 데몬이 firewalld 로 변경되었고 방화벽 설정은 iptables 명령어대신 firewall-cmd (콘솔), firewall-config(X-Windows) 명령어를 사용해야 함.


 설치

yum install firewalld
systemctl start firewalld
systemctl enable firewalld

 

설정

설정 파일

/etc/firewalld/zones/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 accept
ed.</description>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>
</zone>

재구동

service iptables restart 대신 아래 명령어 사용

firewall-cmd --reload

 

zone

사전 정의된 존 목록 출력

firewall-cmd --get-zones

 

전체 존 목록을 상세하게 출력

firewall-cmd --list-all-zones

 

기존 존 출력

firewall-cmd --get-default-zone


활성화된 존 출력

firewall-cmd --get-active-zone

 

서비스 목록

firewall-cmd --get-services

permanent 로 등록된 서비스 목록

firewall-cmd --permanent --list-all

임의 포트 추가

--add-port=<portid>[-<portid>]/<protocol> 옵션을 사용하여 포트 추가

firewall-cmd --zone=public --add-port=8080/tcp

포트 삭제

--remove-port=<portid>[-<portid>]/<protocol> 옵션 사용

firewall-cmd --zone=public --remove-port=8080/tcp

rich-rule

 

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.10.0/24"  port protocol="tcp" port="9000" accept"


설정

웹 서버 방화벽 설정

  1. 방화벽에 포트 추가

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

    기본 zone이 public 이므로 --zone=public 옵션은 생략 가능

  2. firewalld 재시작

    firewall-cmd --reload
  3. 정상 설정 여부 확인

    firewall-cmd --list-services   --zone=public
     
    dhcpv6-client http https ssh

apache 웹서버 설정

  1. 서비스 활성화

    systemctl enable httpd
  2. 서비스 시작

    systemctl start httpd

nginx 설정

  1. 기존에 아파치 httpd 가 설치되어 있으면 비활성화

    systemctl stop httpd
    systemctl disable httpd
  2. 서비스 활성화

    systemctl enable nginx.service
  3. 시작

    systemctl start nginx.service

 

 

 

Ref

 

URL: https://www.lesstif.com/pages/viewpage.action?pageId=22053128