CentOS7 – 続 FirewallD –

久々の技術メモです!いろいろ書きたいことはできてきたのですが、手がつけられなく。。。

FirewallDの外向きの制御に関して、以前できなかったと記事に書いていましたが、できましたのでメモメモ〆(.. )
ただ、コマンドから行う事はできないため、xmlファイル(FirewallDの設定ファイル)を直接いじって設定してやる必要があります。

以下、少しおさらいです。
外部から内部へのサービスの許可は以下のようなコマンドでできます。

■ 外部から内部へのsshサービスを永続的に有効化

# firewall-cmd --permanent --add-service=ssh

 

このように設定した場合、/etc/firewalld/zones配下のxmlファイルに設定が記載されます。デフォルトのzoneはpublicとなります。

# cat /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>     ← ここ
</zone>

 

■ 内部から外部へのsshサービスを永続的に有効化
何回も言うようですが、コマンドではできないようです。xmlファイルを直接記載する必要がありますf(^^;)
早速以下に記載します。通常ならば許可したいサービスがたくさんあると思いますが、取り急ぎsshのみで。

# vi /etc/firewalld/direct.xml

<?xml version="1.0" encoding="utf-8"?>
<direct>
  <rule ipv="ipv4" table="filter" chain="OUTPUT_direct" priority="2">-m tcp -p tcp --dport ssh -j ACCEPT</rule>
</direct>

 

FirewallDを再起動しないと反映できないようです。
# systemctl restart firewalld

再起動後結果を見てみましょう!
# iptables -nL

~
Chain IN_public_allow (1 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
~
Chain OUTPUT_direct (1 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

 

内側と外側の許可ができていることが確認できました!!
困っている人の参考になればいいのですが。。。


コメントを残す

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