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