環境構築からWEBアプリ開発・スマホアプリ開発まで。ときには動画制作やゲームも。

supilog
すぴろぐ

【firewalld】IPアドレスを指定してアクセス拒否

【firewalld】IPアドレスを指定してアクセス拒否

firewalldでIPアドレスを拒否する手順を解説します。

拒否したいIPアドレスを予め調べておきましょう。

作業前にアクティブゾーンを確認しておく

$ firewall-cmd --get-active-zones

↓デフォルトであれば、こんな感じ
-------
public
  interfaces: eth0
-------

設定後と比較するために、確認の為にアクティブゾーンを確認しました。

特定のIPアドレスをアクセス拒否する

$ firewall-cmd --zone=drop --permanent --add-source=52.198.5.30
$ firewall-cmd --reload

「–zone」オプションにdropを指定し、「–add-source」オプションに拒否したいIPアドレスを指定します。「–permanent」オプションはインスタンスの再起動などの際にも、恒久的に設定するためのオプションです。reloadを行っているのは、今すぐ設定を反映させたい為です。

reloadを行ったら設定が反映されます。

CIDR値も設定できる

IP単体ではなく、範囲でまとめて指定したい場合などには、CIDR値も使用可能です。

$ firewall-cmd --zone=drop --permanent --add-source=52.198.5.0/24
$ firewall-cmd --reload

上記のように指定した場合は、「52.198.5.0 – 52.198.5.255」をまとめて拒否したことになります。

設定後にアクティブゾーンを確認してみる

$ firewall-cmd --get-active-zones
-------
drop
  sources: 52.198.5.30
public
  interfaces: eth0
-------

手順の最初に確認した時に追加して、dropのゾーンが表示されているはずです。

設定解除の方法

$ firewall-cmd --zone=drop --permanent --remove-source=52.198.5.30
$ firewall-cmd --reload

設定追加時の「–add-source」オプションが「–remove-source」オプションに代わると、設定解除コマンドです。

注意事項

間違って設定してしまうことがないように。というのが注意事項なのですが、とくに注意が薄くなりがちなのが、「テスト環境でIPアドレス拒否を試してみよう!」という場合です。

テストを行う場合には、接続元IPが2個以上用意できる環境で行いましょう。接続元IPアドレスが1個に絞られている環境なんかでうっかり実施してしまうと、誰も接続が出来なくなってしまいテスト環境を作り直しなんてことにもなりかねないので、注意しましょう。