ernestas-poskus.iptables

ansible-iptables do konfiguracji zapory sieciowej dla sieci wewnętrznej i zewnętrznej

Status budowy RHEL Fedora Ubuntu Debian Licencja BSD

Instalacja

ansible-galaxy install ernestas-poskus.iptables

Wymagania

Brak.

Zależności

Brak.

Zmienne roli

---
# domyślne ustawienia dla ansible-iptables

##########################
# Konfiguracja IPv4
##########################

# Domyślna akcja dla: :INPUT DROP
iptables_initial_input_action: DROP

# Domyślna akcja dla: :FORWARD ACCEPT
iptables_initial_forward_action: ACCEPT

# Domyślna akcja dla: :OUTPUT ACCEPT
iptables_initial_output_action: ACCEPT

# Zezwól na interfejs loopback (localhost)
iptables_allow_loopback: true

# Zezwól na nawiązane i powiązane połączenia
iptables_allow_established_connections: true

# Zezwól na rozwiązywanie DNS
iptables_allow_dns: false

# Zezwól na ruch NTP do synchronizacji czasu
iptables_allow_ntp: true

# Zezwól na żądania ICMP ping
iptables_allow_icmp: true

# Lista wspieranych adresów wewnętrznych:
# - IP
# - HOSTY (iptables_internal_ips_from_hosts powinno być włączone)
iptables_internal_network: []

# Wewnętrzne rozwiązywanie IP z podanego hosta
iptables_internal_ips_from_hosts: false

# Interfejs dla hostów wewnętrznych
iptables_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"

# Konfiguracja sieci wewnętrznej
iptables_internal_ports:
  - '1024:65535'
  - '111' # Portmapper
  - '161:162' # Protokół prostego zarządzania siecią (SNMP).
  - '22' # ssh

# Protokół sieci wewnętrznej
iptables_internal_protocols:
  - 'tcp'
  - 'udp'

# Konfiguracja sieci zewnętrznej
iptables_external_ports:
  - '22' # ssh

# Protokół sieci zewnętrznej
iptables_external_protocols:
  - 'tcp'

# Dodatkowe zasady dla iptables
iptables_additional_rules: []

# Loguj zablokowane pakiety
iptables_log_dropped_packets: false

# Limit logowania zablokowanych pakietów w minutach
iptables_log_dropped_limit: 15

# Poziom logowania dla zablokowanych pakietów
iptables_log_logging_level: 4

##########################
# Konfiguracja IPv6
##########################

# Domyślna akcja dla: :INPUT DROP
iptables6_initial_input_action: DROP

# Domyślna akcja dla: :FORWARD ACCEPT
iptables6_initial_forward_action: ACCEPT

# Domyślna akcja dla: :OUTPUT ACCEPT
iptables6_initial_output_action: ACCEPT

# Zezwól na interfejs loopback (localhost)
iptables6_allow_loopback: true

# Zezwól na nawiązane i powiązane połączenia
iptables6_allow_established_connections: true

# Zezwól na rozwiązywanie DNS
iptables6_allow_dns: false

# Zezwól na ruch NTP do synchronizacji czasu
iptables6_allow_ntp: true

# Zezwól na żądania ICMP ping
iptables6_allow_icmp: true

# Lista wspieranych adresów wewnętrznych:
# - IP
# - HOSTY (iptables6_internal_ips_from_hosts powinno być włączone)
iptables6_internal_network: []

# Wewnętrzne rozwiązywanie IP z podanego hosta
iptables6_internal_ips_from_hosts: false

# Interfejs dla hostów wewnętrznych
iptables6_internal_hosts_interface: "{{ ansible_default_ipv4.interface }}"

# Konfiguracja sieci wewnętrznej
iptables6_internal_ports:
  - '1024:65535'
  - '111' # Portmapper
  - '161:162' # Protokół prostego zarządzania siecią (SNMP).
  - '22' # ssh

# Protokół sieci wewnętrznej
iptables6_internal_protocols:
  - 'tcp'
  - 'udp'

# Konfiguracja sieci zewnętrznej
iptables6_external_ports:
  - '22' # ssh

# Protokół sieci zewnętrznej
iptables6_external_protocols:
  - 'tcp'

# Dodatkowe zasady dla iptables
iptables6_additional_rules: []

# Loguj zablokowane pakiety
iptables6_log_dropped_packets: false

# Limit logowania zablokowanych pakietów w minutach
iptables6_log_dropped_limit: 15

# Poziom logowania dla zablokowanych pakietów
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: []

Przykładowy playbook

Tworzenie sieci wewnętrznej z podanych hostów

- name: Konfiguracja iptables
  hosts: all
  sudo: yes
  roles:
    - role: ernestas-poskus.iptables
      iptables_internal_network: "{{ groups['all'] }}"
      iptables_internal_ips_from_hosts: true # przy użyciu hostów, to musi być włączone
      iptables_log_dropped_packets: true
      iptables_log_dropped_limit: 1

Tworzenie sieci wewnętrznej z podanej listy IP

- name: Konfiguracja 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

Licencja

Copyright (c) 2016, Ernestas Poskus Wszelkie prawa zastrzeżone.

Rozdzielanie i używanie w formach źródłowych i binarnych, ze zmianami lub bez, są dozwolone pod warunkiem spełnienia następujących warunków:

  • Rozdzielanie kodu źródłowego musi zawierać powyższe informacje o prawach autorskich, tę listę warunków oraz następujące zastrzeżenie.

  • Rozdzielanie w formie binarnej musi zawierać powyższe informacje o prawach autorskich, tę listę warunków oraz następujące zastrzeżenie w dokumentacji i/lub innych materiałach dostarczanych w ramach dystrybucji.

  • Nazwa ansible-iptables ani nazwiska jego współtwórców nie mogą być używane do popierania lub promowania produktów pochodzących z tego oprogramowania bez uprzedniej pisemnej zgody.

TO OPROGRAMOWANIE JEST UDOSTĘPNIANE PRZEZ POSIADACZY PRAW AUTORSKICH I WSPÓŁTWÓRCÓW "TAK JEST" I WSZELKIE WYRAŹNE LUB IMPLIKOWANE GWARANCJE, W TYM, ALE NIE OGRANICZAJĄC SIĘ DO, IMPLIKOWANYCH GWARANCJI PRZYDATNOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONEGO CELU, SĄ WYŁĄCZONE. W ŻADNYM WYPADKU POSIADACZ PRAW AUTORSKICH LUB WSPÓŁTWÓRCY NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA ŻADNE BEZPOŚREDNIE, POŚREDNIE, INCYDENTALNE, SZCZEGÓLNE, EKSPONENCJALNE LUB WYNIKOWE SZKODY (W TYM, ALE NIE OGRANICZAJĄC SIĘ DO, NABYWAJĄCE ZASTĘPCZE TOWARY LUB USŁUGI; UTRATY UŻYTKU, DANYCH LUB ZYSKÓW; LUB ZAKŁÓCENIA DZIAŁALNOŚCI GOSPODARCZEJ) W JAKIKOLWIEK SPOSÓB WYNIKAJĄCE Z UŻYCIA TEGO OPROGRAMOWANIA, NAWET JEŚLI ZOSTAŁO TO ZGŁOSZONE O MOŻLIWOŚCI TAKIEJ SZKODY.

Informacje o autorze

Twitter: @ernestas_poskus

O projekcie

iptables management role for configuring internal & external networks

Zainstaluj
ansible-galaxy install ernestas-poskus.iptables
Licencja
bsd-3-clause
Pobrania
81
Właściciel
pragmatic & ambitious