firewall-cmd 기본명령어 > 리눅스

본문 바로가기

회원로그인

회원가입

리눅스

레드햇 firewall-cmd 기본명령어

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 68회 작성일 20-09-01 12:43

본문

모든 zone 확인

# firewall-cmd --list-all-zone


기본 zone 확인

# firewall-cmd --get-default-zone

public

public이라는 zone이 기본값으로 설정되어있음을 알 수 있다.


public zone의 configuration 확인

# firewall-cmd --zone=public --list-all


--permanent 

--permanent 옵션을 붙이면 설정파일(.xml)이 수정되는데, 정상 반영되려면 반드리 reload를 해야한다. (#firewall-cmd --reload)

--permanent 옵션을 붙이지 않으면, 일시적으로 즉시 반영되고 재부팅 시 룰 삭제 된다 (썰정파일에 반영 안되었으니깐)





포트 허용에 대한 테스트

# firewall-cmd --permanent --zone=public --add-port=22581/tcp


public zone에서 허용하고있는 port 확인

# firewall-cmd --zone=public --list-ports


포트 차단

# firewall-cmd --permanent --zone=public --remove-port=22581/tcp

# firewall-cmd --zone=public --list-ports





firewalld로 제어가능한 서비스 목록

서비스에서 사용하는 룰을 적용하려면 아래와 같이 서비스를 추가하면 됩니다. 

단, 해당 서비스 xml 룰 파일이 /usr/lib/firewalld/services 에 있어야 사용할 수 있습니다. 


# firewall-cmd --get-service

# ls /usr/lib/firewalld/services/



public zone에 등록된 서비스 확인

# firewall-cmd --zone=public --list-service


telnet 서비스를 public 존에 추가

# firewall-cmd --permanent --zone=public --add-service=서비스


서비스 제거

# firewall-cmd --permanent --zone=public --remove-service=서비스 


public에 추가 된 telnet 서비스 확인

# firewall-cmd --zone=public --list-service







* 응용예시 - http(80번 포트) 서비스에서 특정 ip 차단

웹서버를 운영하다보면 특정ip(스팸같은)를 차단시키고 싶을 때가 있습니다. 그럴경우 아래와 같이 임의의 룰을 활용하면 됩니다.


    차단시)

# firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=차단ip service name=http reject"


    차단해제시)

# firewall-cmd --permanent --zone=public --remove-rich-rule="rule family=ipv4 source address=차단ip service name=http reject"


    # firewall-cmd --reload




임의의 룰 (Rich rule)

포트, 서비스 룰 이외에 원하는 룰을 임의로 적용할 수 있습니다. 예를 들면 ip차단 같은...


* 룰 추가

    # firewall-cmd --permanent --zone=public --add-rich-rule="임의의 룰"

    예) firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=192.168.0.4/24 service name=http accept"

    # firewall-cmd --reload


* 룰 제거

    # firewall-cmd --permanent --zone=public --remove-rich-rule="임의의 룰"

    예) firewall-cmd --permanent --zone=public --remove-rich-rule="rule family=ipv4 source address=192.168.0.4/24 service name=http accept"

    # firewall-cmd --reload




방화벽 기타 명령어

방화벽에서 유용 명령어들입니다


* 허용한 포트 목록

# firewall-cmd --list-ports


* 방화벽 상태 확인

# firewall-cmd --state


* 활성화된 zone 목록

# firewall-cmd --get-active-zones


* 현재 존재하는 서비스 목록

# firewall-cmd --get-service


public zone에 있는 서비스 목록

# firewall-cmd --zone=public --list-services

댓글목록

등록된 댓글이 없습니다.