흔자
반응형

공식사이트의 설명에 따르면, Firewalld는 네트워크 연결 또는 인터페이스의 신뢰 수준을 정의하는 네트워크/방화벽 영역을 지원하는 동적으로 관리되는 방화벽을 제공한다. IPv4, IPv6 방화벽 설정, 이더넷 브리지 및 IP 세트를 지원하고, runtime 및 permanent 구성 옵션이 분리되어 있다. 또한 서비스 또는 애플리케이션이 방화벽 규칙을 직접 추가할 수 있는 인터페이스를 제공한다.

 

쉽게 설명하여, Firewalld는 Linux 운영 체제를 위한 방화벽 관리도구로써 외부에서 들어오는 무작위 ip를 차단하고 특정 ip 및 포트를 허용해 주기 위해서 사용한다.

 

Firewalld라는 이름은 방화벽을 의미하는 Firewall과 daemon의 앞자리 "d"를 붙인 것이다.

 


Firewalld

ubuntu에 firewalld 설치하기

sudo apt update && sudo apt install firewalld -y

 

 

firewalld 설치 후 버전 확인

sudo firewall-cmd --version

버전 확인

 

포트 추가 

시스템을 재부팅 하거나 방화벽 재시작 후에도 설정이 적용되게 하려면 --permanent 옵션을 추가하여아 한다.

'2000' port를 허용하는 명령어. 

sudo firewall-cmd --permanent --zone=public --add-port=2000/tcp

 

 

리스트 확인

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

포트 추가 이후 리스트 확인했을 때, port가 보이지 않는 경우

포트를 추가하고 바로 리스트 확인을 하는 경우 포트가 보이지 않는다.

ports: 에 추가한 2000번 port가 보이지 않는다.

리로드 명령어를 입력한 후에 리스트를 다시 확인하면 정상적으로 출력된다.

--permanent 옵션의 경우 설정파일을 리로드 해줘야 한다.

 

 

리로드

sudo firewall-cmd --reload

reload 성공 화면

리로드를 한 이후에 리스트를 다시 한번 확인했을 경우, 2000번 포트가 추가된 것을 확인할 수 있다.

ports: 2000/tcp가 추가된 화면

 

 

포트 제거

포트 제거 옵션은 포트 추가와 동일하게 시스템을 재부팅 하거나 방화벽 재시작 후에도 설정이 적용되게 하려면  --permanent 옵션을 추가해줘야 한다.

포트 추가와 마찬가지로 적용 후에 reload를 해줘야 한다.

sudo firewall-cmd --permanent --remove-port=2000/tcp

 

 

설정 파일 경로

/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 accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <port port="2000" protocol="tcp"/>
</zone>

 

 

Reference
 

Home

Welcome to the firewalld project homepage! Firewalld provides a dynamically managed firewall with support for network/firewall zones that defines the trust level of network connections or interfaces.

firewalld.org

 

firewalld - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

반응형
profile

흔자

@heun_n

즐겁게 개발하고 싶은 사람입니다.