CentOS7でiptablesを使用する手順

iptablesについて

iptablesは古いファイヤーウォールです。可能な限り使うのをやめましょう!

と言って素直に聞くような人はこのページは見ていませんよね。
iptablesを使わなくてはいけない。iptablesを使いたい。firewalldはよくわからない。といった方に参考にしていただければ幸いです。

実行用スクリプトの取得

記載されたスクリプトを【iptables_config_Auto.sh】という名前で保存してください。
※スクリプト画面をダブルクリックすると全件選択可能です。
まず5行目のHOME='0.0.0.0/0'を適切なネットワークに変えましょう。
HOMEには接続元となるネットワークを記載します。
例:192.168.0.*から接続したい場合は
 HOME='192.168.0.0/24'
と入力します。

firewalldの確認及び停止・無効化

systemctl status firewalld
コマンドで現在のfirewalldの状態を確認します。
上記のように【Active: active (running)】となっている場合はfirewalldが動いています。
systemctl stop firewalld.service
コマンドで停止し、再度確認します。
上記のように【Active: inactive (dead)】となっている場合はfirewalldが停止しています。
systemctl disable firewalld.service
コマンドでfirewalld.serviceサービスを無効化します。

iptablesのインストールと有効化及び実行

yum -y install iptables-services
コマンドでiptablesをインストールします。
続いて
systemctl enable iptables.service
コマンドでiptablesを有効化し、
systemctl start iptables.service
コマンドでiptablesを実行します。

TeraTermを使ったSCPファイルコピー

TeraTermを使ってサーバーにSSH接続します。
rootで接続したことにします。root以外で接続した場合はファイルコピー先が接続ユーザーのホームディレクトリになりますので移動してください。
TeraTermの画面上に先ほど保存したファイル(iptables_config_Auto.sh)をドラッグ&ドロップします。

上記のようなダイアログが現れるので【SCP】をクリックします。
1行目でカレントディレクトリを/rootに移動します。
2行目で現在のカレントディレクトリを確認します。
4行目で【iptables_config_Auto.sh】がコピーされていることを確認します。
12行目で【iptables_config_Auto.sh】をスクリプトとして実行可能になるようにパーミッションを変更します。
変更用のコマンドは
 chmod 764 iptables_config_Auto.sh
となります。

iptablesの実行と確認

./iptables_config_Auto.sh
コマンドで作成したiptables用のスクリプトを実行します。
4行目の【iptables -L -n】で現在のiptablesルールを表示します。
※下記の例はA.A.A.Aがホスト(サーバーのIP)・B.B.B.B/BがHOMEネットワークとなります。
念のためにホストを再起動してiptablesの設定が正常に組み込まれているかを確認してください。

運用上の注意

iptablesの設定を変更する場合は、今回使用したスクリプトを書き換え実行することをお勧めします。
特に管理者が複数人いる場合は、iptablesコマンドでの運用とスクリプトファイルを用いた運用が混ざらないように気を付けてください。

※ コピーしたスクリプトは自己責任でお使いください。脆弱性対応などを行っていないスクリプトです。

0 件のコメント :

コメントを投稿