ernestas-poskus.iptables
ansible-iptables para la configuración de firewall de red interna y externa
Instalación
ansible-galaxy install ernestas-poskus.iptables
Requisitos
Ninguno.
Dependencias
Ninguna.
Variables de Rol
---
# archivo de valores predeterminados para ansible-iptables
##########################
# Configuración IPv4
##########################
# Acción predeterminada para: :INPUT DROP
iptables_initial_input_action: DROP
# Acción predeterminada para: :FORWARD ACCEPT
iptables_initial_forward_action: ACCEPT
# Acción predeterminada para: :OUTPUT ACCEPT
iptables_initial_output_action: ACCEPT
# Permitir interfaz de loopback (localhost)
iptables_allow_loopback: true
# Permitir conexiones establecidas y relacionadas
iptables_allow_established_connections: true
# Permitir resolución de DNS
iptables_allow_dns: false
# Permitir tráfico NTP para sincronización de tiempo
iptables_allow_ntp: true
# Permitir solicitudes de ping ICMP
iptables_allow_icmp: true
# Lista de soportes para red interna:
# - IP's
# - HOSTS (iptables_internal_ips_from_hosts debe estar habilitado)
iptables_internal_network: []
# Resolver IP internamente desde el host dado
iptables_internal_ips_from_hosts: false
# Interfaz de hosts internos
iptables_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"
# Configuración de la red interna
iptables_internal_ports:
- '1024:65535'
- '111' # Portmapper
- '161:162' # Protocolo simple de gestión de red (SNMP).
- '22' # ssh
# Protocolos de red interna
iptables_internal_protocols:
- 'tcp'
- 'udp'
# Configuración de la red externa
iptables_external_ports:
- '22' # ssh
# Protocolos de red externa
iptables_external_protocols:
- 'tcp'
# Reglas adicionales para iptables
iptables_additional_rules: []
# Registrar paquetes descartados
iptables_log_dropped_packets: false
# Límite de registro de paquetes descartados en minutos
iptables_log_dropped_limit: 15
# NIVEL DE REGISTRO de paquetes descartados
iptables_log_logging_level: 4
##########################
# Configuración IPv6
##########################
# Acción predeterminada para: :INPUT DROP
iptables6_initial_input_action: DROP
# Acción predeterminada para: :FORWARD ACCEPT
iptables6_initial_forward_action: ACCEPT
# Acción predeterminada para: :OUTPUT ACCEPT
iptables6_initial_output_action: ACCEPT
# Permitir interfaz de loopback (localhost)
iptables6_allow_loopback: true
# Permitir conexiones establecidas y relacionadas
iptables6_allow_established_connections: true
# Permitir resolución de DNS
iptables6_allow_dns: false
# Permitir tráfico NTP para sincronización de tiempo
iptables6_allow_ntp: true
# Permitir solicitudes de ping ICMP
iptables6_allow_icmp: true
# Lista de soportes para red interna:
# - IP's
# - HOSTS (iptables6_internal_ips_from_hosts debe estar habilitado)
iptables6_internal_network: []
# Resolver IP internamente desde el host dado
iptables6_internal_ips_from_hosts: false
# Interfaz de hosts internos
iptables6_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"
# Configuración de la red interna
iptables6_internal_ports:
- '1024:65535'
- '111' # Portmapper
- '161:162' # Protocolo simple de gestión de red (SNMP).
- '22' # ssh
# Protocolos de red interna
iptables6_internal_protocols:
- 'tcp'
- 'udp'
# Configuración de la red externa
iptables6_external_ports:
- '22' # ssh
# Protocolos de red externa
iptables6_external_protocols:
- 'tcp'
# Reglas adicionales para iptables
iptables6_additional_rules: []
# Registrar paquetes descartados
iptables6_log_dropped_packets: false
# Límite de registro de paquetes descartados en minutos
iptables6_log_dropped_limit: 15
# NIVEL DE REGISTRO de paquetes descartados
iptables6_log_logging_level: 4
# NAT
iptables_nat_prerouting: ACCEPT
iptables_nat_output: ACCEPT
iptables_nat_postrouting: ACCEPT
iptables4_nat_additional_rules: []
iptables6_nat_additional_rules: []
Ejemplo de Playbook
Creando red interna desde los hosts dados
- name: Configuración de iptables
hosts: all
sudo: yes
roles:
- role: ernestas-poskus.iptables
iptables_internal_network: "{{ groups['all'] }}"
iptables_internal_ips_from_hosts: true # cuando se usan hosts, esto debe estar habilitado
iptables_log_dropped_packets: true
iptables_log_dropped_limit: 1
Creando red interna desde una lista de IP's dada
- name: Configuración de iptables
hosts: all
sudo: yes
roles:
- role: ernestas-poskus.iptables
iptables_internal_network:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
iptables_log_dropped_packets: true
iptables_log_dropped_limit: 1
Licencia
Derechos de autor (c) 2016, Ernestas Poskus Todos los derechos reservados.
La redistribución y uso en formas de código fuente y binario, con o sin modificación, están permitidos siempre que se cumplan las siguientes condiciones:
Las redistribuciones del código fuente deben conservar el aviso de derechos de autor anterior, esta lista de condiciones y el siguiente descargo de responsabilidad.
Las redistribuciones en forma binaria deben reproducir el aviso de derechos de autor anterior, esta lista de condiciones y el siguiente descargo de responsabilidad en la documentación y/o otros materiales proporcionados con la distribución.
Ni el nombre de ansible-iptables ni los nombres de sus contribuyentes pueden ser utilizados para respaldar o promover productos derivados de este software sin un permiso específico por escrito.
ESTE SOFTWARE SE PROPORCIONA POR LOS TITULARES DE DERECHOS DE AUTOR Y LOS CONTRIBUIDORES "TAL CUAL" Y CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUYENDO, PERO NO LIMITADA A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIALIDAD Y ADECUACIÓN PARA UN PROPÓSITO PARTICULAR SON RECHAZADAS. EN NINGÚN CASO EL TITULAR DE LOS DERECHOS DE AUTOR O LOS CONTRIBUIDORES SERÁN RESPONSABLES POR CUALQUIER DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O CONSECUENTE (INCLUDING, PERO NO LIMITADO A, LA ADQUISICIÓN DE BIENES O SERVICIOS; PÉRDIDA DE USO, DATOS O UTILIDADES; O INTERRUPCIÓN DEL NEGOCIO) DE CUALQUIER MANERA CAUSADOS Y EN CUALQUIER TEORÍA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA, O AGRAVIO (INCLUYENDO NEGLIGENCIA O DE OTRA FORMA) QUE SURJA DE CUALQUIER MANERA DEL USO DE ESTE SOFTWARE, AUN CUANDO SE HAYA ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS.
Información del Autor
Twitter: @ernestas_poskus
iptables management role for configuring internal & external networks
ansible-galaxy install ernestas-poskus.iptables