Debian 12, 11, 10에 Firewalld를 설치하는 방법

Firewalld는 방화벽 관리에 대한 동적 접근 방식이 돋보입니다. 이는 iptables 및 ufw와 같은 기존 도구와 구별되는 기능인 실시간 적응성을 제공합니다. 이러한 실시간 유연성 덕분에 Firewalld는 보안과 사용 편의성을 중시하는 사용자가 선호하는 선택이 됩니다.

Firewalld의 주요 장점:

  • 영역 기반 관리: Firewalld는 iptables의 패킷 단위 운영에서 벗어나 사용자 중심의 연결 관리에 중점을 둔 zone 기반 시스템을 사용합니다.
  • 즉각적인 업데이트: Firewalld를 사용하면 서비스를 다시 로드해야 하는 iptables와 달리 다시 시작할 필요 없이 변경 사항이 즉시 적용되어 활성 연결이 중단될 수 있습니다.
  • 사용자 친화적인 명령: Firewalld의 명령 구조는 ufw보다 직관적이므로 방화벽 구성을 처음 접하는 사용자에게 매우 사용자 친화적입니다.
  • 포괄적인 문서: Firewalld는 철저한 문서화와 활발한 사용자 커뮤니티의 지원을 받아 사용자에게 충분한 지원과 리소스를 제공합니다.
  • 데비안과의 원활한 통합: Firewalld의 동적 기능과 Debian의 유명한 안정성이 결합되어 데스크톱 사용자와 서버 관리자 모두에게 비교할 수 없는 경험을 제공합니다.

기본 지식을 바탕으로 이 가이드는 Firewalld를 데비안 시스템에 원활하게 통합하는 과정을 안내합니다.

터미널 명령을 통해 Firewalld 설치

Firewalld 설치 전에 Debian 업데이트

새로운 소프트웨어 설치를 시작하기 전에 다음 명령을 사용하여 데비안 시스템 패키지 데이터베이스를 업데이트하는 것이 중요합니다:

sudo apt update

이 명령은 구성된 모든 리포지토리에서 최신 패키지 데이터를 가져오도록 시스템에 지시합니다.

APT 명령을 통해 방화벽 설치를 진행하세요.

시스템의 업데이트된 패키지 정보를 사용하여 이제 Firewalld를 설치할 수 있습니다. APT라고도 알려진 데비안 패키지 관리자는 이 작업을 단순화합니다. 설치를 시작하려면 다음 명령을 실행하십시오.

sudo apt install firewalld

이 명령은 패키지 관리자에게 Firewalld 소프트웨어 패키지를 다운로드하고 설치하도록 지시합니다.

방화벽 설치 확인

Firewalld를 설치한 후 올바르게 설치했는지 확인하고 적절하게 실행되도록 설정하십시오. 시스템의 Firewalld 버전을 보려면 다음을 사용하십시오.

firewall-cmd --version

이 명령은 Firewalld 버전 번호를 표시하여 설치를 확인합니다.

이제 Firewalld를 시작하고 시스템 부팅 시 실행되도록 설정합니다. 다음 명령을 사용하십시오.

sudo systemctl enable --now firewalld

방화벽 영역 이해

방화벽이 있는 "영역"에서는 신뢰할 수 없는 공개 설정부터 개인 홈 네트워크에 이르기까지 연결된 네트워크의 신뢰성을 기반으로 네트워크 트래픽 규칙이 결정됩니다.

이들 중 일부와 그 의미를 자세히 살펴보겠습니다.

Firewalld에서 영역의 역할:

  • Firewalld는 "영역"이라는 개념을 사용하여 작동합니다.
  • Firewalld의 "영역"은 기본적으로 미리 정의된 규칙 집합입니다. 이러한 규칙은 컴퓨터가 있는 네트워크의 신뢰성에 따라 허용되거나 거부되는 네트워크 트래픽 유형을 지정합니다.

영역 작동 방식의 예:

  • 공개 구역: 이 영역은 카페나 공항과 같은 공공 장소의 네트워크용으로 설계되었습니다. 이러한 설정에서는 대부분의 다른 장치를 신뢰할 수 없으므로 시스템을 보호하기 위해 규칙이 더 제한적입니다.
  • 홈 존: 이 구역은 집과 같은 더 안전한 환경을 가정합니다. 여기서는 모든 장치에 익숙할 가능성이 높으므로 규칙이 덜 엄격하여 장치 간 더 많은 통신이 가능합니다.

Firewalld의 일부 공통 사전 정의된 영역 목록:

  • 떨어지다: 응답 없이 들어오는 모든 패킷을 삭제합니다. 가장 제한적입니다.
  • 차단하다: 'Drop'과 유사하지만 소스에 거부 응답을 보냅니다.
  • 공공의: 신뢰할 수 없는 공용 네트워크의 경우.
  • 외부: 시스템이 게이트웨이나 방화벽 역할을 할 때 사용됩니다.
  • DMZ(비무장지대): DMZ에 있는 컴퓨터의 경우 인터넷에서 격리된 컴퓨터에 대한 제한된 액세스를 제공합니다.
  • 일하다: 많은 사용자를 신뢰하지만 여전히 보호 조치가 필요한 작업 환경에 적합합니다.
  • 집: 가정 환경에 대한 완화된 규칙.
  • 내부: 공용 또는 사설 네트워크의 내부 섹션용.
  • 신뢰할 수 있음: 모든 네트워크 연결이 허용됩니다. 제한이 가장 적습니다.

일반적인 방화벽 명령

이 섹션에서는 가장 자주 사용되는 Firewalld 명령을 살펴보겠습니다. 이러한 명령은 Firewalld 설정을 관리하고 구성하는 데 중추적인 역할을 하여 Debian 환경을 효과적으로 보호할 수 있습니다.

Firewalld 명령 구문 및 옵션

Firewalld 명령의 일반적인 구문은 비교적 간단합니다. 아래에서는 구문과 옵션에 대해 설명하므로 해당 기능이 무엇인지 더 잘 이해할 수 있습니다.

먼저, Firewalld 명령의 구문은 다음과 같습니다.

firewall-cmd [options] command

다음은 구문 구성 요소에 대한 간략한 설명입니다.

  • firewall-cmd: Firewalld 작업에 사용되는 주요 명령입니다.
  • options: 명령의 동작을 수정합니다. 선택사항이므로 생략할 수 있습니다.
  • command: 수행하려는 작업을 지정합니다.

옵션과 관련하여 Firewalld는 다양한 옵션을 제공합니다. 일반적으로 사용되는 몇 가지 사항은 다음과 같습니다.

  • --zone=zone: 작업할 영역을 지정합니다. 영역을 지정하지 않으면 기본 영역이 사용됩니다.
  • --add-service=service: 지정된 서비스를 영역에 추가합니다. 변경 사항은 즉시 적용되지만 재부팅 후에도 지속되지는 않습니다. --permanent 추가됩니다.
  • --get-active-zones: 연결된 인터페이스와 함께 현재 활성화된 모든 영역을 나열합니다.
  • --get-services: Firewalld에 알려진 사용 가능한 모든 서비스를 나열합니다.
  • --reload: Firewalld 구성을 다시 로드하여 변경 사항을 구현합니다. --permanent 시스템을 재부팅할 필요 없이.

더 자세한 정보를 보려면 언제든지 다음을 실행하여 Firewalld 매뉴얼 페이지를 참조할 수 있습니다. man firewall-cmd 당신의 터미널에서.

모든 활성 방화벽 영역 나열

Firewalld 설치에서 활성화된 영역을 이해하면 방화벽 구성을 관리하기 위한 견고한 기반이 제공됩니다. 다음 명령을 사용하여 이 정보를 검색할 수 있습니다.

sudo firewall-cmd --get-active-zones

이 명령은 Firewalld가 각각 관련 네트워크 인터페이스와 함께 모든 활성 영역을 나열하도록 요청합니다.

기본 영역 표시

Firewalld에 구성된 기본 영역을 보려면 다음 명령을 실행하십시오.

sudo firewall-cmd --get-default-zone

이 명령의 출력은 들어오는 네트워크 연결에 적용되는 기본 보안 정책 및 서비스를 이해하는 데 중요한 기본 영역을 지정합니다.

기본 영역 변경

기본 영역을 변경하려면 다음 명령을 사용하십시오.

sudo firewall-cmd --set-default-zone=your_zone_name

교체하여 your_zone_name 실제 영역 이름을 사용하면 Firewalld 설치의 기본 영역이 변경됩니다.

영역의 서비스 나열

특정 영역에서 어떤 서비스를 허용하는지 알아야 하는 경우가 많습니다. 다음을 사용하여 이를 달성할 수 있습니다.

sudo firewall-cmd --zone=your_zone_name --list-services

그냥 교체하세요 your_zone_name 허용된 서비스를 나열하려는 영역의 이름을 사용하세요.

영역에 서비스 추가

영역에 새 서비스를 추가하려면 다음 명령을 사용하십시오.

sudo firewall-cmd --zone=your_zone_name --add-service=your_service_name

이 명령으로, your_service_name 에 추가됩니다 your_zone_name. 이러한 자리 표시자를 실제 서비스 및 영역 이름으로 바꾸십시오.

고급 방화벽 명령 및 시나리오

Firewalld는 방화벽 설정을 세부적으로 제어할 수 있는 포괄적인 고급 명령 및 기능 제품군을 제공합니다. 네트워크 관리 작업에서 발생할 수 있는 복잡한 시나리오를 처리하는 데 필요한 지식을 갖추면서 이러한 명령을 자세히 살펴보겠습니다.

Firewalld를 사용한 고급 방화벽 관리

새로운 서비스 정의

사전 정의된 서비스에 나열되지 않은 특정 포트에서 사용자 정의 애플리케이션을 실행하는 경우 해당 서비스를 직접 정의할 수 있습니다.

이를 수행하려면 다음 명령을 사용하십시오.

sudo firewall-cmd --permanent --new-service=myservice

그런 다음 사용자 정의 서비스에 대한 설정을 추가할 수 있습니다. 예를 들어 서비스에 대해 짧고 설명이 포함된 이름을 설정하려면 다음을 수행하세요.

sudo firewall-cmd --permanent --service=myservice --set-short="My Custom Service"

기본 영역 조정

들어오는 연결에 정의된 특정 영역이 없으면 시스템은 기본 영역을 사용합니다. 필요에 맞게 기본 영역을 수정할 수 있습니다.

sudo firewall-cmd --set-default-zone=home

이 명령은 기본 영역을 다음으로 설정합니다. '집'. 교체를 확인하세요 '집' 네트워크 환경 및 보안 요구 사항에 따라 원하는 영역을 선택하세요.

사용자 정의 영역 생성

사전 정의된 영역이 요구 사항을 충족하지 않는 경우 사용자 지정 영역을 만들 수 있습니다.

sudo firewall-cmd --permanent --new-zone=customzone

영역을 생성한 후 사양에 맞게 서비스, 포트 등을 추가하거나 제거하여 수정할 수 있습니다.

매스커레이딩 활성화

시스템이 네트워크의 다른 시스템에 대한 게이트웨이 또는 라우터 역할을 할 때 일반적으로 가장을 사용합니다. 특정 영역에서 매스커레이딩을 활성화하려면 다음을 사용하세요.

sudo firewall-cmd --zone=public --add-masquerade

'public'을 매스커레이딩을 활성화하려는 영역으로 바꾸십시오.

포워딩 포트

Firewalld를 사용하면 특정 포트를 다른 포트로 전달할 수도 있습니다. 이는 비표준 포트에서 서비스를 실행하는 경우와 같은 다양한 시나리오에서 유용할 수 있습니다.

sudo firewall-cmd --zone=public --add-forward-port=port=5000:proto=tcp:toport=80

이 명령은 포트 5000에서 들어오는 모든 TCP 연결을 '공용' 영역의 포트 80으로 전달합니다.

이러한 예는 Firewalld의 고급 기능 중 극히 일부만을 나타냅니다. 특정 네트워킹 및 보안 요구 사항에 따라 더 많은 명령과 옵션을 사용할 수 있습니다. 자세한 내용은 Firewalld 공식 문서를 참조하거나 'man' 명령을 사용하세요.

방화벽 문제 해결

방화벽 관리는 때때로 복잡할 수 있으며 문제가 발생할 수 있습니다. 그러나 Firewalld는 이러한 문제를 해결하는 데 도움이 되는 포괄적인 문제 해결 도구 및 기술 세트를 제공합니다. 이 섹션에서는 일반적인 방화벽 문제를 진단하고 해결하는 방법을 안내합니다.

방화벽 문제 조사

방화벽 상태 확인

Firewalld 문제를 진단하려면 먼저 다음 명령을 사용하여 서비스 상태를 확인하세요.

sudo systemctl status firewalld

이 명령은 Firewalld 서비스 상태, 활성 여부, 시작 중 오류 발생 여부에 대한 정보를 제공합니다.

방화벽 로그 검토

문제를 해결할 때 Firewalld 로그에서 귀중한 정보를 찾을 수 있습니다. 기본적으로 Firewalld는 다음을 사용하여 액세스할 수 있는 시스템 저널에 이벤트를 기록합니다.

sudo journalctl -u firewalld

이 명령은 Firewalld 관련 로그를 출력하여 오류나 비정상적인 동작을 찾아내는 데 도움이 됩니다.

구성 확인 중

Firewalld는 구성 파일을 다음 위치에 유지합니다. /etc/firewalld/ 예배 규칙서. 문제가 발생하면 이러한 구성 파일에 오류나 불일치가 있는지 확인하는 것이 좋습니다.

sudo less /etc/firewalld/firewalld.conf

이 명령을 사용하면 기본 Firewalld 구성 파일을 볼 수 있습니다.

일반적인 방화벽 문제 해결

문제: 방화벽이 명령에 응답하지 않음

때로는 Firewalld가 명령에 반응하지 않을 수도 있습니다. 훌륭한 초기 조치는 Firewalld를 다시 로드하는 것입니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.

sudo firewall-cmd --reload

이 명령은 디스크에서 Firewalld 구성을 다시 로드하고 저장되지 않은 모든 임시 변경 사항을 삭제합니다. 그러나 모든 방화벽 규칙을 제거하지는 않습니다.

문제: Firewalld를 기본값으로 재설정해야 함

모든 설정을 기본값으로 재설정하고 모든 사용자 정의 규칙을 제거하려면 다음을 사용해야 합니다. --complete-reload 옵션. 이 옵션을 사용하면 모든 런타임 및 영구 구성이 제거되고 기본 규칙 세트로 대체됩니다.

sudo firewall-cmd --complete-reload

문제: 특정 규칙을 제거해야 함

특정 규칙을 제거하려면 다음을 사용해야 합니다. --remove 명령. 예를 들어 영구 구성의 공개 영역에서 HTTP 서비스를 제거하려는 경우 명령은 다음과 같습니다.

sudo firewall-cmd --permanent --zone=public --remove-service=http

문제: 방화벽 규칙이 작동하지 않습니다.

방화벽 규칙이 작동하지 않는 것으로 나타나면 누군가가 규칙을 영구적으로 설정하지 않았기 때문인 경우가 많습니다. 비영구 규칙은 현재 세션에서만 작동합니다. 누군가 시스템을 재부팅하면 규칙이 사라집니다. 규칙이 유지되도록 하려면 다음을 포함하세요. --permanent 규칙을 생성할 때 플래그를 지정하세요.

문제: 영역 구성이 예상대로 작동하지 않음

Firewalld를 사용할 때는 영역과 인터페이스 및 서비스와 상호 작용하는 방식을 이해하는 것이 중요합니다. 발생할 수 있는 몇 가지 시나리오와 이를 해결하는 방법은 다음과 같습니다.

시나리오: 인터페이스를 올바른 영역에 할당하지 않았습니다.

내부 네트워크를 위해 '내부'라는 새 영역을 만들고 이에 대한 특정 규칙과 서비스를 설정한다고 상상해 보십시오. 그러나 시스템은 이러한 규칙을 적용하지 않습니다. 가능한 이유는 의도한 인터페이스를 '내부' 영역에 할당하지 않았기 때문일 수 있습니다.

어떤 인터페이스가 영역과 연결되어 있는지 확인하려면 다음 명령을 사용하세요.

sudo firewall-cmd --zone=internal --list-interfaces

출력에 원하는 인터페이스가 포함되지 않은 경우 다음 명령을 사용하여 할당할 수 있습니다.

sudo firewall-cmd --zone=internal --add-interface=eth1

이 명령은 'eth1' 인터페이스를 '내부' 영역에 추가합니다.

시나리오: 영역에서 서비스를 활성화하지 않음

당신이 가지고 있다고 상상해보십시오 '디엠즈' 영역에 있고 HTTP 트래픽을 허용하려고 합니다. 그런데 교통이 잘 통하지 않습니다. HTTP 서비스를 활성화하지 않은 경우 이런 일이 발생할 수 있습니다. '디엠즈' 존.

영역에 서비스가 활성화되어 있는지 확인하려면 다음을 입력하세요.

sudo firewall-cmd --zone=dmz --query-service=http

서비스가 활성화되어 있지 않으면 다음을 사용하여 활성화하십시오.

sudo firewall-cmd --zone=dmz --add-service=http

이 명령은 HTTP 서비스를 활성화합니다. '디엠즈' 존.

다시 시작한 후에도 이러한 수정 사항이 지속되도록 하려면 명령에 –permanent 플래그를 포함하십시오. 항상 인터페이스를 적절한 영역과 연결하고 필요한 서비스를 활성화하십시오.

결론

이 종합 가이드에서는 버전 12, 11, 10을 포함하여 Debian에 Firewalld를 설치하는 과정을 안내했습니다. Firewalld의 기본 사항과 해당 영역 및 서비스 구성을 살펴보고 기본 및 고급 명령을 제공했습니다. 예. 또한 Firewalld를 사용하는 동안 발생할 수 있는 몇 가지 일반적인 문제 해결 시나리오를 다루었습니다. 이 가이드를 따르면 Firewalld를 활용하여 서버의 방화벽 설정을 효과적으로 관리하고 보호할 수 있는 준비를 갖추게 됩니다. Firewalld를 마스터하면 안전하고 잘 조직된 네트워크 환경을 유지하기 위한 강력한 도구 세트가 제공되므로 지속적으로 실험하고 지식을 개선하는 것이 좋습니다.

유용한 링크

다음은 Firewalld 사용과 관련된 몇 가지 유용한 링크입니다.

  • 방화벽 공식 웹사이트: 동적 방화벽 관리자, 해당 기능 및 다운로드 옵션에 대한 자세한 내용을 보려면 공식 Firewalld 웹사이트를 방문하세요.
  • 방화벽 문서: Firewalld 설치, 구성 및 사용에 대한 자세한 안내를 제공하는 포괄적인 문서에 액세스하세요.
  • 방화벽 커뮤니티: Firewalld 커뮤니티에 가입하여 다른 사용자와 연결하고, 토론에 참여하고, 지원을 받으세요.
  • 방화벽 GitHub 저장소: Firewalld GitHub 저장소를 탐색하여 소스 코드를 보고, 문제를 보고하고, 개발에 기여하세요.
Joshua James
나를 따르라
Joshua James의 최신 게시물 (모두 보기)