Edited at

ファイアウォール簡単設定(Ubuntu12.04 ついでにCentOS)

More than 3 years have passed since last update.

ufwとiptableがあるけど簡単なほうから。


ufwを使用する場合

インストール

sudo apt-get install ufw

指定したIPアドレスのみSSH接続を許可

sudo ufw default deny

sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
sudo ufw allow from 220.100.XX.XX to any port 22 proto tcp
sudo ufw enable

設定を確認

sudo ufw status numbered

状態: アクティブ

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN 192.168.1.0/24
[ 2] 22/tcp ALLOW IN 220.100.XX.XX


iptableを使用する場合


iptables-restore版


Ubuntu

ルールを作成 ※記述内容は割愛

sudo vim /etc/iptables.rules

適用

sudo /sbin/iptables-restore < /etc/iptables.rules

自動化

sudo vim /etc/network/if-pre-up.d/iptables_start

'/etc/network/if-pre-up.d'はネットワーク起動前に読み込まれる場所

以下のように記述


iptables_start

#!/bin/sh

/sbin/iptables-restore < /etc/iptables.rules
exit 0

実行権限を付与

sudo chmod +x /etc/network/if-pre-up.d/iptables_start


CentOS

ルールを作成 ※記述内容は割愛

sudo vim /etc/iptables.firewall.rules

適用

sudo iptables-restore < /etc/iptables.firewall.rules

自動化

sudo /sbin/service iptables save

現在のiptablesの状態を設定ファイル「/etc/sysconfig/iptables」に保存

これでサービス起動時に自動的に設定される


スクリプト版

ネットワーク起動前に読み込まれる場所に作成

sudo vim /etc/network/if-pre-up.d/myfw.sh


設定内容の確認

sudo iptables -nL


[参考URL]