iptables

ansible-iptables для настройки брандмауэра внутренней и внешней сети

Статус сборки RHEL Fedora Ubuntu Debian Лицензия BSD

Установка

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
Лицензия
bsd-3-clause
Загрузки
70
Владелец
pragmatic & ambitious