반응형

CentOS에 기본 방화벽으로 올라가는 firewalld의 개인적으로 자주 사용하는 명령어들을 소개합니다. 설명에 사용되는 환경은 CentOS 8 최소설치입니다. (별도 안내 없이 필요한 경우 내용이 수정될 수 있습니다)




Built in service 리스트에 있는 서비스를 방화벽에 추가하기


「--get-services」 옵션을 사용하면, 내장형 서비스들을 볼 수 있습니다. 「--info-service=」 옵션에 서비스명을 더하여 실행하면 해당 서비스의 프로토콜 및 포트와 같은 정보를 볼 수 있습니다. 필요하다면, 이런 서비스를 활성화되어 있는 존에 추가하여 방화벽을 설정할 수 있습니다.


[root@localhost ~]# firewall-cmd --get-services

RH-Satellite-6 amanda-client amanda-k5-client ...



[root@localhost ~]# firewall-cmd --info-service=dns

dns

  ports: 53/tcp 53/udp

  protocols:

  source-ports:

  modules:

  destination:

  includes:

  helpers:



[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=dns

success



[root@localhost ~]# firewall-cmd --reload

success



[root@localhost ~]# firewall-cmd --list-services

cockpit dhcpv6-client dns ssh



[root@localhost ~]# firewall-cmd --list-all

public (active)

  target: default

  icmp-block-inversion: no

  interfaces: ens32

  sources:

  services: cockpit dhcpv6-client dns ssh

  ports:

  protocols:

  masquerade: no

  forward-ports:

  source-ports:

  icmp-blocks:

  rich rules:




Built in service 리스트에 없는 서비스를 방화벽에 추가하기


firewalld를 사용하다보면, 방화벽에 추가하고 싶은 서비스가 「Built in service」 리스트에 없는 경우가 있습니다. 방화벽에 해당 서비스 포트를 지정해서 추가할수도 있습니다만, 임의로 서비스를 등록해서 방화벽에 추가할수도 있습니다.


그럼, 방화벽의 서비스 리스트에서 임의로 서비스를 추가하는 방법에 대해서 알아 보겠습니다. 추가할 대상 서비스는 「rabbitmq」로 합니다. 임의로 생성하는 서비스는 사용되는 포트만 추가한 후, 마지막으로 방화벽에 임의 생성한 서비스를 등록해 보겠습니다.


[root@localhost ~]# firewall-cmd --get-services | grep rabbitmq

Nothing...



[root@localhost ~]# firewall-cmd --permanent --new-service=rabbitmq

success



[root@localhost ~]# firewall-cmd --permanent --service=rabbitmq --add-port=5671/tcp

success



[root@localhost ~]# firewall-cmd --permanent --add-service=rabbitmq

success



[root@localhost ~]# firewall-cmd --reload

success



[root@localhost ~]# firewall-cmd --get-services | grep rabbitmq

... rabbitmq ...



[root@localhost ~]# firewall-cmd --info-service=rabbitmq

rabbitmq

  ports: 5671/tcp

  protocols:

  source-ports:

  modules:

  destination:

  includes:

  helpers:



[root@localhost ~]# firewall-cmd --list-all

public (active)

  target: default

  icmp-block-inversion: no

  interfaces: ens32

  sources:

  services: cockpit dhcpv6-client dns rabbitmq ssh

  ports:

  protocols:

  masquerade: no

  forward-ports:

  source-ports:

  icmp-blocks:

  rich rules:




읽어 주셔서 감사합니다.

반응형

'Server > Linux' 카테고리의 다른 글

[리눅스] UMASK 명령어  (0) 2021.11.18
wget에서 인증서 에러  (0) 2021.11.09
[BIND] CentOS 7에서 DNS 설치  (0) 2020.07.17
CURL 또는 LYNX로 웹 사이트의 헤더 정보 확인하기  (0) 2019.07.02
Linux tar  (0) 2019.06.26

+ Recent posts