Firewalld는 네트워크 연결이나 인터페이스의 신뢰 수준을 정의하기 위해 네트워크 또는 방화벽 영역을 지원하는 동적으로 관리되는 방화벽을 제공합니다. IPv4, IPv6 방화벽 설정, 이더넷 브리지를 지원하고 런타임과 영구 구성 옵션을 분리합니다. 또한 서비스나 애플리케이션이 ip*tables 및 ebtables 규칙을 직접 추가할 수 있는 인터페이스를 제공합니다.
소스 저장소를 확인하려면 다음을 사용할 수 있습니다.
자식 클론 https://github.com/firewalld/firewalld.git
그러면 저장소의 로컬 복사본이 생성됩니다.
기여자 행동 강령은 CODE_OF_CONDUCT.md에서 확인할 수 있습니다.
Firewalld는 현지화 지원을 위해 GNU gettext를 사용합니다. Fedora의 Weblate 인스턴스를 사용하여 번역을 수행할 수 있습니다. 번역은 정기적으로 기본 방화벽 저장소에 병합됩니다.
런타임 종속성은 다음과 같습니다.
linux >= 5.3 python >= 3.8 python3-dbus python3-gobject python3-nftables >= 0.9.4
참고 : python2는 지원되지 않습니다 .
이러한 종속성은 Firewalld의 기능을 향상시킬 수 있지만 필수는 아닙니다.
ebtables ipset iptables polkit python3-capng (libcap-ng-python3)
소스에서 빌드하려면 런타임 종속성 외에도 몇 가지 다른 종속성이 필요합니다.
desktop-file-utils: /usr/bin/desktop-file-install gettext intltool glib2: /usr/bin/glib-compile-schemas glib2-devel: /usr/share/aclocal/gsettings.m4 systemd-units pytest
Docbook 파일에서 매뉴얼 페이지와 문서를 생성하려면 다음을 수행하십시오.
docbook-style-xsl libxslt
makefile을 생성하려면 일반적인 autoconf/automake 주문을 사용하세요.
./autogen.sh ./구성
PYTHON 변수를 전달하여 특정 Python 인터프리터를 사용할 수 있습니다. 이는 테스트 스위트에서도 사용됩니다.
./configure PYTHON=/path/to/python3
사용
만들다
문서를 작성하고 po 파일을 업데이트합니다.
사용
확인하다
테스트 스위트를 실행합니다. 테스트는 네트워크 네임스페이스 내에서 실행되며 호스트의 실행 중인 방화벽을 방해하지 않습니다. 또한 자동 테스트에 플래그를 전달하여 병렬로 실행할 수도 있습니다.
TESTSUITEFLAGS="-j4"를 확인하세요.
또한 테스트 스위트는 키워드를 사용하여 특정 영역을 실행하는 테스트 하위 집합을 실행할 수 있습니다. 예를 들어:
TESTSUITEFLAGS="-k rich -j4"를 확인하세요.
산출:
24: 풍부한 규칙 감사 확인 25: 풍부한 규칙 우선순위 확인 26: 풍부한 규칙은 좋지 않음 53: 풍부한 규칙 감사 ok 23: 풍부한 규칙이 좋아 좋아 55: 부자 규칙은 나쁘다 괜찮아 74: 다시 로드한 후 전달 포트 제거 ok
테스트 및 키워드 목록을 얻을 수 있습니다
-C src/tests 확인 TESTSUITEFLAGS="-l" 확인
아니면 키워드만
-C src/tests 확인 TESTSUITEFLAGS="-l" |awk '/^[[:space:]]*[[:digit:]]+/{getline; $0}' |tr ' ' 'n' |sort |uniq 인쇄
통합 테스트가 있습니다. 현재 여기에는 NetworkManager가 포함됩니다. 이는 호스트에 파괴적 일 수 있습니다. 일회용 VM 또는 컨테이너에서 실행하세요.
수표 통합을 해라
다양한 Podman/docker 컨테이너 내에서 테스트 스위트를 실행하는 check-container 대상도 있습니다. 이는 여러 배포판을 적용하는 데 유용합니다. 또한 통합 테스트와 같이 호스트에 파괴적일 수 있는 테스트를 실행합니다.
확인 컨테이너 만들기 TESTSUITEFLAGS="-j4"
dist
빌드 대상의 일부로 OCI 컨테이너 이미지가 생성됩니다. 이는 일반 릴리스 tarball과 함께 배포됩니다. 컨테이너에서 방화벽을 실행하는 데 사용할 수 있습니다. 컨테이너화된 방화벽은 호스트(예: podman, libvirt, NetworkManager)와 통합되지 않습니다 .
컨테이너 이미지를 환경에 수동으로 로드하려면 다음 안내를 따르세요.
podman load -i .../path/to/firewalld-oci-<ver>.tar
quay.io에서 이미지를 가져오려면:
podman pull quay.io/firewalld/firewalld:<ver>
여기서 <ver>
는 선택 사항이며, 생략하면 최신 버전이 사용됩니다.
데몬/컨테이너를 시작하려면:
podman run -d --network 호스트 --privileged --name my-firewalld 방화벽
Firewalld의 구성은 컨테이너 내부에 있습니다. 따라서 사용자는 때때로 podman commit
원할 수 있습니다.
Firewalld의 CLI 사용은 데몬/컨테이너가 시작된 후 podman exec를 통해 수행되어야 합니다.
podman exec my-firewalld 방화벽-cmd ...
동일한 컨테이너 이미지를 사용하여 호스트에서 실행 중인 NetworkManager, podman, libvirt 등과 통합할 수 있습니다. 이를 위해서는 호스트에 방화벽에 대한 dbus 정책이 있어야 합니다.
dbus 정책은 config/FirewallD.conf
위치의 방화벽 소스 코드 트리에서 얻을 수 있습니다.
cp config/FirewallD.conf /usr/share/dbus-1/system.d/FirewallD.conf
dbus 정책이 적용되면 컨테이너는 다음과 같이 시작될 수 있습니다.
podman run -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket --네트워크 호스트 --권한 --name my-firewalld 방화벽d 방화벽 --nofork --nopid
유일한 추가 사항은 볼륨 마운트, 명시적 CMD입니다.
일부 접근 방식은 방화벽의 구성 파일을 호스트에 저장하는 데 사용할 수 있습니다.
podman run -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket -v /etc/firewalld:/etc/firewalld --네트워크 호스트 --권한 --name my-firewalld 방화벽d 방화벽 --nofork --nopid
Fedora 및 RHEL 기반 배포판의 경우 소스 저장소에 Firewalld.spec이라는 사양 파일이 있습니다. 이는 Fedora 버전 >= 16 및 RHEL >= 7에서 사용할 수 있습니다.
홈페이지: http://firewalld.org
버그 신고: https://github.com/firewalld/firewalld/issues
Git 저장소 브라우저: https://github.com/firewalld/firewalld
Git 저장소: https://github.com/firewalld/firewalld.git
문서: http://firewalld.org/documentation/
사용법: https://lists.fedorahosted.org/archives/list/[email protected]/
개발용: https://lists.fedorahosted.org/archives/list/[email protected]/
예배 규칙서 | 콘텐츠 |
---|---|
구성/ | 구성 파일 |
구성/icmptypes/ | 사전 정의된 ICMP 유형 |
구성/서비스/ | 사전 정의된 서비스 |
구성/xml스키마/ | 구성 파일에 대한 XML 스키마 검사 |
구성/영역/ | 사전 정의된 영역 |
구성/ipsets/ | 사전 정의된 IPset |
의사/ | 선적 서류 비치 |
의사/남자/ | 매뉴얼 페이지의 기본 디렉토리 |
의사/남자/남자1/ | 맨(1) 페이지 |
문서/남자/man5/ | 맨(5) 페이지 |
포/ | 번역 |
쉘 완성/ | 자동 완성 스크립트의 기본 디렉터리 |
소스/ | 소스 트리 |
소스/방화벽/ | 서비스 및 모든 애플리케이션에 대한 가져오기 트리 |
소스/아이콘/ | 아이콘 크기: 16, 22, 24, 32, 48 및 확장 가능 |
소스/테스트/ | 테스트 스위트 |