[初メモ] はじめての iptables 〜 udp を遮断する

こんにちは、[cloudpack][] の @dz_ こと[大平かづみ][]です。

Prologue - はじめに
====
馬鹿の一つ覚えですけど、iptables を触ったので、メモ！

覚えたての iptables コマンド
====

iptables は以下の3つの **チェーン** に対して操作を行うようです。

- INPUT
- FORWORD
- OUTPUT

udpを遮断する
----

```bash
# udpの出力を遮断する
iptables -A OUTPUT -p udp -j DROP

# udpの入力を遮断する
iptables -A INPUT -p udp -j DROP
```
ヘルプを参考にすると、以下のオプションを指定していることがわかります。

<table><thead><tr><th>オプション</th><th>説明</th></tr>
</thead>
<tbody>
<tr><td>-A chain</td><td>Append to chain チェーンを追加する</td></tr>
<tr><td>-p prot</td><td>protocol: by number or name, eg. `tcp' プロトコルを数字か名称で指定する (例.tcp)</td></tr>
<tr><td>-j target</td><td>target for rule (may load target extension) ルールの対象を指定する</td></tr>
</tbody>
</table>

その他のオプションについては、こちらが参考になりそうです。

- <a href="http://kazmax.zpp.jp/cmd/i/iptables.8.html" title="iptables - システム管理コマンドの説明 - Linux コマンド集 一覧表" target="_blank">iptables - システム管理コマンドの説明 - Linux コマンド集 一覧表</a>


iptables の設定状況リストを表示する
----
```bash
# iptables の設定状況リストを表示する
iptables --list
```

このように表示され、上記で設定した 2つの DROP のルールが設定されたことがわかります。

```bash
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       udp  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       udp  --  anywhere             anywhere
```

設定を削除する
----
チェーンに設定したルールを削除します。

```bash
# INPUT の udp の DROP のルールを削除する
iptables -D INPUT -p udp -j DROP

# OUTPUT の udp の DROP のルールを削除する
iptables -D OUTPUT -p udp -j DROP
```
<table><thead><tr><th>オプション</th><th>説明</th></tr>
</thead>
<tbody>
<tr><td>-D chain</td><td>Delete matching rule from chain 指定したチェーンから一致するルールを削除する</td></tr>
</tbody></table>

Epilogue - おわりに
====
以上、ベテランの皆様にはわかりきったメモで済みません…m(_ _;)m

近況
===================================================

Phalcon関連
---------------------------------------

- [爆速フレームワーク!! Phalcon PHP Framework](
http://qiita.com/dz_/items/55ae18f7fe3a873bace1 "爆速フレームワーク!! Phalcon PHP Framework")
- [Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会](http://qiita.com/dz_/items/974a90b32ba6a6e38182 "Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会")
- [Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！](http://qiita.com/dz_/items/e70d61487224b854b971 "Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！")

fluentd関連
---------------------------------------
- [Check! はじめての fluentd を Amazon Linux で動かしてみる (ログを PHP から送る)](http://qiita.com/dz_/items/960319ffffa0d7355f8c "Check! はじめての fluentd を Amazon Linux で動かしてみる (ログを PHP から送る)") ← :new: :sparkles:

Amazon ECS関連
---------------------------------------

- [Check! Amazon EC2 Container Service で Docker を学びたい！(準備編)][my-amazon-ecs-docker-vol1]
- [Check! Amazon EC2 Container Service で Docker を学びたい！ (IAMポリシー編)][my-amazon-ecs-docker-vol2]

[my-amazon-ecs-docker-vol1]:http://qiita.com/dz_/items/625f55bc5de371d15caa "Check! Amazon EC2 Container Service で Docker を学びたい！(準備編)"
[my-amazon-ecs-docker-vol2]:http://qiita.com/dz_/items/44388a0908f8d18fe42d "Check! Amazon EC2 Container Service で Docker を学びたい！(IAMポリシー編)"

技術ブログ寄稿
-----------------------------------------

[cloudpack技術ブログ][cloudpack-blog]でも、AWS Lambda や 運用ツール Serf に関して記事を書いています。ご興味あれば読んでいただけると嬉しいです！

- <a href="http://blog.cloudpack.jp/author/oohira/" title="大平 かづみ の記事一覧 | cloudpack技術情報サイト"　target="_blank" rel="nofollow">大平 かづみ の記事一覧</a>


[cloudpack]:https://cloudpack.jp/ "cloudpack（クラウドパック） 400社を超える導入実績! EC2などAWSクラウドの導入設計、構築、運用保守サービス"
[cloudpack-blog]:http://blog.cloudpack.jp/ "cloudpack技術情報サイト"
[大平かづみ]:http://blog.cloudpack.jp/author/oohira/ "大平かづみの記事一覧"