Network Users' Group ``wheel''
/
Dai ISHIJIMA's Page
/
RTA55i
/
iptablesのサンプル
最終更新日:
2010-05-22
Linux(Ubuntu 9.04)の防火壁設定
iptablesのサンプル
工人舎PMで本格的にUbuntu(Linux)を触るようになってから、
ネットワークまわりもいろいろいじるようになりました。
このページでは、次のネットワーク構成でのiptables設定例を紹介します。
Internet
|
+---+ +--------+
|RTX| |DNS, etc|
+---+ +--------+
| |
+--+-+-------+-----+ 172.16.32.48/29 (DMZ network)
|
|eth0 (172.16.32.50)
+----------+
|Ubuntu BOX|↑NAT, WWW
+----------+
|eth1 (192.168.1.254)
|
+----+------+------+ 192.168.0.0/24 (private network)
|
+------+
|client|
+------+
この図において、各マシンやネットワークの役割りは次のとおりです。
-
Ubuntu BOX は、非武装地帯(DMZ)と
内部ネットワーク(private network)を接続しています。
本ページでのiptables設定の対象です。
-
DMZは公開ネットワークです。
ルータ(RTX)を介してインターネットに接続しています。
-
ルータ(RTX)では、適当なパケットフィルタリングを設定し、
DMZには不要なパケットが届かないようにしています。
-
DMZには、Ubuntu BOX以外にDNSサーバなども接続されています。
-
Ubuntu BOXは、Apacheを動作させ、ウェブサーバとして使用します。
-
Ubuntu BOXは、iptablesでNATをとして動作し、
内部ネットワークのclient発のパケットをインターネットに中継します。
Ubuntu BOXにおけるiptablesの役割りは次のとおりです。
-
インターネットから自身に届くパケットは基本的に落とします。
-
ただし、ウェブサーバとして動作させるので
HTTP (80/tcp) は開けます。
-
DNSなど、他の限られたマシンからは、ssh (22/tcp) への
アクセスを許可します。
-
自身からインターネットに出て行くパケットも不要なものは落とします。
-
落とさないパケットはSynapticやUpdate Managerが使用するであろう
HTTP (80/tcp)、HTTPS (443/tcp)、そして、
domain (53/udp) などです。
-
プライベートネットワークからのパケットは、NAT経由で中継します。
以上の要件にもとづいて作成したiptables設定用スクリプトを
iptables-nat-router.sh
に示します。
ご質問などありましたらお気軽に