iptables
ansible-iptables для настройки брандмауэра внутренней и внешней сети
Установка
ansible-galaxy install ernestas-poskus.iptables
Требования
Нет.
Зависимости
Нет.
Переменные роли
---
# файл с настройками по умолчанию для ansible-iptables
##########################
# Конфигурация IPv4
##########################
# Действие по умолчанию для: :INPUT DROP
iptables_initial_input_action: DROP
# Действие по умолчанию для: :FORWARD ACCEPT
iptables_initial_forward_action: ACCEPT
# Действие по умолчанию для: :OUTPUT ACCEPT
iptables_initial_output_action: ACCEPT
# Разрешить интерфейс обратной связи (localhost)
iptables_allow_loopback: true
# Разрешить установленные и связанные соединения
iptables_allow_established_connections: true
# Разрешить DNS-резолвер
iptables_allow_dns: false
# Разрешить трафик NTP для синхронизации времени
iptables_allow_ntp: true
# Разрешить ICMP-запросы ping
iptables_allow_icmp: true
# Список расходов внутренней сети:
# - IP-адреса
# - ХОСТЫ (iptables_internal_ips_from_hosts должен быть активирован)
iptables_internal_network: []
# Внутренний ресолвер IP для указанного хоста
iptables_internal_ips_from_hosts: false
# Интерфейс внутренних хостов
iptables_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"
# Конфигурация внутренней сети
iptables_internal_ports:
- '1024:65535'
- '111' # Портмаппер
- '161:162' # Простой протокол управления сетью (SNMP).
- '22' # ssh
# Протоколы внутренней сети
iptables_internal_protocols:
- 'tcp'
- 'udp'
# Конфигурация внешней сети
iptables_external_ports:
- '22' # ssh
# Протоколы внешней сети
iptables_external_protocols:
- 'tcp'
# Дополнительные правила для iptables
iptables_additional_rules: []
# Логировать сброшенные пакеты
iptables_log_dropped_packets: false
# Ограничение логирования сброшенных пакетов в минутах
iptables_log_dropped_limit: 15
# Уровень логирования сброшенных пакетов
iptables_log_logging_level: 4
##########################
# Конфигурация IPv6
##########################
# Действие по умолчанию для: :INPUT DROP
iptables6_initial_input_action: DROP
# Действие по умолчанию для: :FORWARD ACCEPT
iptables6_initial_forward_action: ACCEPT
# Действие по умолчанию для: :OUTPUT ACCEPT
iptables6_initial_output_action: ACCEPT
# Разрешить интерфейс обратной связи (localhost)
iptables6_allow_loopback: true
# Разрешить установленные и связанные соединения
iptables6_allow_established_connections: true
# Разрешить DNS-резолвер
iptables6_allow_dns: false
# Разрешить трафик NTP для синхронизации времени
iptables6_allow_ntp: true
# Разрешить ICMP-запросы ping
iptables6_allow_icmp: true
# Список расходов внутренней сети:
# - IP-адреса
# - ХОСТЫ (iptables6_internal_ips_from_hosts должен быть активирован)
iptables6_internal_network: []
# Внутренний ресолвер IP для указанного хоста
iptables6_internal_ips_from_hosts: false
# Интерфейс внутренних хостов
iptables6_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"
# Конфигурация внутренней сети
iptables6_internal_ports:
- '1024:65535'
- '111' # Портмаппер
- '161:162' # Простой протокол управления сетью (SNMP).
- '22' # ssh
# Протоколы внутренней сети
iptables6_internal_protocols:
- 'tcp'
- 'udp'
# Конфигурация внешней сети
iptables6_external_ports:
- '22' # ssh
# Протоколы внешней сети
iptables6_external_protocols:
- 'tcp'
# Дополнительные правила для iptables
iptables6_additional_rules: []
# Логировать сброшенные пакеты
iptables6_log_dropped_packets: false
# Ограничение логирования сброшенных пакетов в минутах
iptables6_log_dropped_limit: 15
# Уровень логирования сброшенных пакетов
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: []
Пример плейбука
Создание внутренней сети из указанных хостов
- name: Настройка iptables
hosts: all
sudo: yes
roles:
- role: ernestas-poskus.iptables
iptables_internal_network: "{{ groups['all'] }}"
iptables_internal_ips_from_hosts: true # при использовании хостов это должно быть включено
iptables_log_dropped_packets: true
iptables_log_dropped_limit: 1
Создание внутренней сети из указанного списка IP-адресов
- name: Настройка 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
Лицензия
Авторские права (c) 2016, Эрнестас Поскюс Все права защищены.
Переиздание и использование в исходной и двоичной формах, с или без модификаций, разрешены при соблюдении следующих условий:
Переиздания исходного кода должны сохранять вышеуказанное уведомление об авторских правах, этот список условий и последующее отказ от ответственности.
Переиздания в двоичной форме должны воспроизводить вышеуказанное уведомление об авторских правах, этот список условий и последующее отказ от ответственности в документации и/или других материалах, предоставленных с дистрибутивом.
Никакое имя ansible-iptables или имена его авторов не могут использоваться для одобрения или продвижения продуктов, созданных на основе этого программного обеспечения без конкретного предварительного письменного разрешения.
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЕНО ДИСКЛАИМЕРАМИ И АВТОРАМИ "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОРГОВОЙ СПОСОБНОСТИ И ГОТОВНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, ОТКЛОНЕНЫ. В НИКИМ СЛУЧАЕ ДИСКЛАИМЕР ИЛИ АВТОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НЕ НОСИТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, ОСОБЫЕ, ШТРАФНЫЕ ИЛИ ПОСЛЕДУЮЩИЕ УБЫТКИ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОКУПКУ ЗАМЕЩАЮЩИХ ТОВАРОВ И УСЛУГ; ПОТЕРЮ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ ПРИОСТАНОВКУ БИЗНЕСА), КАК БЫ ЭТО НИ БЫЛО И НА ОСНОВЕ ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, БУДЬ ТО В ДОГОВОРЕ, СТРОГОЙ ОТВЕТСТВЕННОСТИ ИЛИ ДЕЛИКТ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ ИЛИ ИНЫЕ) ВОЗНИКАЮЩИЕ ЛЮБЫМ ОБРАЗОМ ОТ ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО СООБЩЕНО ОВОЗМОЖНОСТИ ТОГО, ЧТО ТАКОЕ УБЫТКИ ВОЗНИКНУТ.
Информация об авторе
Twitter: @ernestas_poskus
iptables management role for configuring internal & external networks
ansible-galaxy install ernestas-poskus/ansible-iptables