firewall

Table of Contents

Firewalld でのIP マスカレードの設定

          ---------+---------
     ダイヤルアップ|192.168.yyy.254
     ルータ        |
                   |
      External     |
               eth0|192.168.yyy.xxx
          +--------+---------+
          |   Linux マシン   |
          +--------+---------+
               eth1|192.168.xxx.xxx
      Internal     |

インストール

# dnf install firewall

現在の状態表示

# firewall-cmd --get-active-zone
public
  interfaces: eth1 eth0

ゾーンの変更

nmcliでの変更
# nmcli c mod eth0 connection.zone external
# nmcli c mod eth1 connection.zone internal
firewall-cmdでの変更
# firewall-cmd --zone=external --change-interface=eth0 --permanent
# firewall-cmd --zone=internal --change-interface=eth1 --permanent

IPマスカレードを設定

external
# firewall-cmd --zone=external --add-masquerade --permanent
Warning: ALREADY_ENABLED: masquerade
success

※「external」は、初期値で有効になっているので、設定の必要はないかも

internal
# firewall-cmd --zone=internal --add-masquerade --permanent
# firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth1 -o eth0 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

設定を再読み込み

# firewall-cmd --reload
success

状態確認

activeなゾーン

# firewall-cmd --get-active-zone
external
  interfaces: eth0
internal
  interfaces: eth1

IPマスカレードの設定状態確認

# firewall-cmd --zone=external --query-masquerade
# firewall-cmd --zone=internal --query-masquerade

ip_forward はマスカレーディング有効化により自動的に有効となる

# cat /proc/sys/net/ipv4/ip_forward
1

ダイレクトルール

# firewall-cmd --direct --get-all-rules
ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
ipv4 filter FORWARD 0 -i eth1 -o eth0 -j ACCEPT
ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

サービスの有効化

# systemctl start firewalld
# systemctl enable firewalld

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です