ernestas-poskus.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, Ernestas Poskus 全著作権を保有。

ソースおよびバイナリ形式での再配布と使用は、修正の有無にかかわらず、次の条件が満たされる限り許可されます。

  • ソースコードの再配布は、上記の著作権表示とこの条件のリストを保持する必要があります。

  • バイナリ形式での再配布は、上記の著作権表示とこの条件のリストを、配布に付随する文書や他の資料に再現する必要があります。

  • ansible-iptables の名前やその貢献者の名前は、特定の事前の書面による許可なしには、このソフトウェアから派生した製品の支持や宣伝に使用されてはなりません。

このソフトウェアは、著作権者および貢献者により「現状のまま」提供され、商業的価値や特定目的への適合性についての明示的または暗黙的な保証はありません。このソフトウェアの使用に関して、いかなる直接的、間接的、偶発的、特別、模範的、または結果的な損害に対しても、著作権者や貢献者は責任を負わないものとします。

著者情報

Twitter: @ernestas_poskus

プロジェクトについて

iptables management role for configuring internal & external networks

インストール
ansible-galaxy install ernestas-poskus.iptables
ライセンス
bsd-3-clause
ダウンロード
81
所有者
pragmatic & ambitious