FirewallDを調べる機会があったので、いろいろと調べたんですが、分からなくなってしまうので、メモメモ〆(.. )
以下に公式のサイトを紹介しておきます。日本語も用意されていて便利ですよねー(^^;)
そっちを見たほうが良かったりして。
https://fedoraproject.org/wiki/FirewallD/jp
それはさておき、FirewallDはiptablesを動作させたままルールを変更できるようにするサービスデーモンです。ルールを変更した際iptablesサービスの再起動が必要となり、再起動の際に一時的にFirewallのルールが無い状態になってしまうんですが、FirewallDは停止なしでできるようです。
FirewallDの起動等はsystemdなんですね。SystemV形式のものからsystemdを使ったものに変わっているんですよねー。
◆ FirewallDの起動/停止
systemctlを使ってFirewallDの起動や停止等が行えます
内容 | コマンド |
---|---|
Firewalldの起動 | # systemctl start firewalld |
Firewalldの停止 | # systemctl stop firewalld |
Firewalldの再起動 | # systemctl restart firewalld |
Firewalldの状態表示 | # systemctl status firewalld |
Firewalldの自動起動 | # systemctl enable firewalld |
Firewalldの自動起動停止 | # systemctl disable firewalld |
firewalldを状態の情報を失わずにリロード | # firewall-cmd --reload |
/etc/sysconfig/iptablesを変更していつも設定しています。同じことができるのかと比較してみたんですが、少し差が。
■ 外部から内部へのsshサービスを永続的に有効化
iptables:
INPUT 1 -p tcp --dport 22 -m state --state NEW -j ACCEPT |
FirewallD:
# firewall-cmd --add-service=ssh ←即時反映 # firewall-cmd --permanent --add-service=ssh ←永続設定 |
■ 内部から外部へのsshサービスを永続的に有効化
iptables:
OUTPUT 1 -p tcp --dport 22 -m state --state NEW -j ACCEPT |
FirewallD:
|
■ sshを192.168.0.20というホストに転送する。
iptables:
FORWARD -d 192.168.0.20 -p tcp --doprt 22 -j REDIRECT |
FirewallD:
# firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.0.20 ←即時反映 # firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=192.168.0.20 ←永続設定 |
■ マスカレーディングを有効化する。
iptables:
POSTROUTING -o eth0 -j MASQUERADE |
FirewallD:
# firewall-cmd --add-masquerade ←即時反映 # firewall-cmd --permanent --add-masquerade ←永続設定 |
外部へのアクセス設定として永続設定はできないようです。一時的にはできるようですが。
外部から通信許可ができればまー大丈夫かと思うんですが、自分が扱っているシステムではセキュリティとして低いので。。。もし、できる方法があるなら教えていただきたい。
後、間違えていたらごめんちゃい。
即時反映と永続反映の両方を実行する必要があるのでそこは注意すべきですね。
テクニカルな事もできますが、今のところ活用したことがない。。。
■ 60秒間だけpublic ゾーンでhttp サービスを有効化
# firewall-cmd --zone=public --add-service=http --timeout=60 |
最後に、設定ファイルはXML形式で書かれてるんですねー。
「/etc/firewalld/zones」に記載してありました。
もう少し使ってみると見えてくるところがあるかも(^^;)