firewalld proporciona un firewall administrado dinámicamente con soporte para zonas de red o firewall para definir el nivel de confianza de las conexiones o interfaces de red. Tiene soporte para configuraciones de firewall IPv4, IPv6 y puentes Ethernet y una separación de opciones de configuración permanente y de tiempo de ejecución. También proporciona una interfaz para que servicios o aplicaciones agreguen reglas ip*tables y ebtables directamente.
Para consultar el repositorio de origen, puede utilizar:
clon de git https://github.com/firewalld/firewalld.git
Esto creará una copia local del repositorio.
El código de conducta del colaborador se puede encontrar en CODE_OF_CONDUCT.md
Firewalld utiliza GNU gettext para soporte de localización. Las traducciones se pueden realizar utilizando la instancia Weblate de Fedora. Las traducciones se fusionan periódicamente en el repositorio principal de firewalld.
Estas son las dependencias del tiempo de ejecución:
linux >= 5.3 python >= 3.8 python3-dbus python3-gobject python3-nftables >= 0.9.4
Nota : python2 no es compatible.
Estas dependencias pueden mejorar la funcionalidad de firewalld, pero no son obligatorias.
ebtables ipset iptables polkit python3-capng (libcap-ng-python3)
Además de las dependencias del tiempo de ejecución, se necesitan otras para compilar desde el código fuente:
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
Para poder crear páginas de manual y documentación a partir de archivos docbook:
docbook-style-xsl libxslt
Utilice el encantamiento habitual de autoconf/automake para generar archivos MAKE
./autogen.sh ./configurar
Puede utilizar un intérprete de Python específico pasando la variable PYTHON. Esto también lo utiliza el conjunto de pruebas.
./configure PYTHON=/ruta/a/python3
Usar
hacer
para crear la documentación y actualizar los archivos po.
Usar
hacer cheque
para ejecutar el conjunto de pruebas. Las pruebas se ejecutan dentro de los espacios de nombres de la red y no interfieren con el firewall en ejecución del host. También se pueden ejecutar en paralelo pasando indicadores a la prueba automática.
haga la verificación TESSUITEFLAGS="-j4"
El conjunto de pruebas también utiliza palabras clave para permitir ejecutar un subconjunto de pruebas que ejercitan un área específica. Por ejemplo:
haga la verificación TESSUITEFLAGS="-k rich -j4"
Producción:
24: auditoría de reglas ricas bien 25: prioridad de reglas ricas está bien 26: los ricos gobiernan mal, bien 53: auditoría de reglas ricas bien 23: las reglas ricas están bien, está bien 55: los ricos gobiernan mal, bien 74: eliminar el puerto de avance después de recargar correctamente
Puede obtener una lista de pruebas y palabras clave.
hacer -C src/pruebas comprobar TESSUITEFLAGS="-l"
O solo las palabras clave
make -C src/tests check TESSUITEFLAGS="-l" |awk '/^[[:space:]]*[[:digit:]]+/{getline; imprimir $0}' |tr ' ' 'n' |sort |uniq
Hay pruebas de integración. Actualmente esto incluye NetworkManager. Estos pueden ser destructivos para el huésped. Ejecútelos en una máquina virtual o contenedor desechable.
hacer check-integración
También hay un objetivo de contenedor de verificación que ejecutará el conjunto de pruebas dentro de varios contenedores podman/docker. Esto es útil para la cobertura de múltiples distribuciones. También ejecuta pruebas que pueden ser destructivas para el host, como pruebas de integración.
hacer contenedor de cheques TESSUITEFLAGS="-j4"
Como parte del objetivo de compilación dist
se genera una imagen de contenedor OCI. Esto se distribuye junto con el archivo tar de lanzamiento normal. Se puede utilizar para ejecutar firewalld desde un contenedor. El firewalld en contenedor no se integrará con el host (por ejemplo, podman, libvirt, NetworkManager).
Para cargar manualmente la imagen del contenedor en su entorno:
carga de podman -i .../ruta/a/firewalld-oci-<ver>.tar
Para recuperar la imagen de quay.io:
podman extrae quay.io/firewalld/firewalld:<ver>
donde <ver>
es opcional, se utilizará la última versión si se omite.
Para iniciar el demonio/contenedor:
podman ejecutar -d --host de red --privilegiado --nombre mi-firewalld firewalld
La configuración de Firewalld vivirá dentro del contenedor. Por lo tanto, es posible que los usuarios deseen podman commit
.
El uso de la CLI de firewalld se debe realizar a través de podman exec después de que se haya iniciado el demonio/contenedor:
podman exec mi-firewalld firewall-cmd...
La misma imagen de contenedor se puede utilizar para integrarse con NetworkManager, podman, libvirt, etc. en ejecución del host. Esto requiere que el host tenga una política dbus para firewalld.
Se puede obtener una política de dbus del árbol de código fuente de firewalld en la ubicación config/FirewallD.conf
.
cp config/FirewallD.conf /usr/share/dbus-1/system.d/FirewallD.conf
Una vez que la política dbus esté implementada, el contenedor podría iniciarse como tal:
podman ejecutar -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket --host de red --privilegiado --nombre mi-firewalld firewalld firewalld --nofork --nopid
La única adición es: montaje de volumen, CMD explícito.
Se puede utilizar algún enfoque para almacenar los archivos de configuración de firewalld en el host.
podman ejecutar -d -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket -v /etc/firewalld:/etc/firewalld --host de red --privilegiado --nombre mi-firewalld firewalld firewalld --nofork --nopid
Para las distribuciones basadas en Fedora y RHEL, hay un archivo de especificaciones en el repositorio fuente llamado firewalld.spec. Esto debería poder usarse para las versiones de Fedora >= 16 y RHEL >= 7.
Página de inicio: http://firewalld.org
Informar un error: https://github.com/firewalld/firewalld/issues
Navegador de repositorios Git: https://github.com/firewalld/firewalld
Repositorio de Git: https://github.com/firewalld/firewalld.git
Documentación: http://firewalld.org/documentation/
Para uso: https://lists.fedorahosted.org/archives/list/[email protected]/
Para desarrollo: https://lists.fedorahosted.org/archives/list/[email protected]/
Directorio | Contenido |
---|---|
configuración/ | Archivos de configuración |
configuración/icmptypes/ | Tipos de ICMP predefinidos |
configuración/servicios/ | Servicios predefinidos |
config/esquemaxml/ | El esquema XML comprueba los archivos de configuración |
configuración/zonas/ | Zonas predefinidas |
configuración/ipsets/ | conjuntos de ips predefinidos |
doc/ | Documentación |
doctor/hombre/ | Directorio base para páginas man |
doc/hombre/hombre1/ | Hombre(1) páginas |
doc/hombre/hombre5/ | Hombre(5) páginas |
correos/ | Traducciones |
finalización de shell/ | Directorio base para scripts de autocompletado |
src/ | Árbol fuente |
src/cortafuegos/ | Árbol de importación para el servicio y todas las aplicaciones. |
src/iconos/ | Iconos en los tamaños: 16, 22, 24, 32, 48 y escalables. |
src/pruebas/ | Conjunto de pruebas |