Linuxファイアウォールiptables学習ノート(一)入門要領


ネット上で伝送するデータは多くの小さなパケットに分けられ、ネットワークに接続すると、多くのパケットがコンピュータに入ったり、離れたり、通過したりします.
まず、ファイアウォールがこれらのパケットをどのように扱うかを理解しなければなりません.これらのパケットは対応するルールチェーンを通ります.例えば、あなたのコンピュータに入るパケットはまずINPUTチェーンに入り、私たちのコンピュータから発行されたパケットはOUTPUTチェーンを通ります.もし1台のコンピュータが1つのネットワークのゲートウェイ(内網と外網の2つのネットワークに接続された2台のコンピュータで、この2台のコンピュータの間で互いに通信するパケットはこのコンピュータを通って、このコンピュータは1つのルータに相当します)、多くのデータがこのコンピュータを通っている可能性があります.これらのパケットはFOrWARDチェーンを経なければなりません.FOrWARDチェーン、すなわちデータ転送チェーン.これらの「チェーン」の概念を理解してこそ、iptablesの使用をさらに学ぶことができます.
次に、iptablesルールがどのように機能しているかを分析します.もし私たちがウェブサイトwww.yahooにアクセスするなら.com、www.yahoo.comは要求を出して、これらのパケットはOUTPUTチェーンを通って、要求が出す前に、LinuxのカーネルはOUTPUTチェーンの中で相応の規則がこのパケットに適しているかどうかを検査して、もし相応の規則がなければ、OUTPUTチェーンはまたデフォルトの規則があって、あるいは許可して、あるいは許されない(事実上、許されないのは2つあり、1つは要求を拒否し、指示を出すプログラムが拒否されたことを伝えることであり、もう1つは、要求を出す者を馬鹿にするなど、タイムアウトするまで捨てることである).許可を得れば、要求は出しますが、www.yahoo.comサーバから返されるパケットはINPUTチェーンを通ります.もちろん、INPUTチェーンにも対応するルールが待っています.
次に、いくつかのiptableのコマンドについて説明します.
iptables -L [-t filter]
このコマンドは、現在設定されているファイアウォールルールを表示します.表示結果は次のとおりです.
Chain INPUT (policy ACCEPT) target prot opt source destination Chain
FORWARD (policy ACCEPT) target prot opt source destination Chain
OUTPUT (policy ACCEPT) target prot opt source destination

ここから、iptablesにはINPUT、OUTPUT、FOrWARDの3つのチェーンがあることがわかる.内
INPUTは外部データが私たちのホストに入る最初の外部関門です(もちろん、前にハードウェアファイアウォールを追加することもできます)
OUTPUTはあなたのホストのデータを送る時にするグリーンカードです
FORWARDはNATに転送された時に使います
iptablesを設定するには、主にこの3つのチェーンを設定します.もちろん、-natの他の3つのチェーンも含まれています.私たちは後でiptablesを使用するには、コマンドservice iptables restartiptablesのデフォルト設定が3つのチェーンがACCEPTであることを起動しなければなりません.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

以上の情報はiptables-Lで見ることができます.
全体的にiptablesには2つの設定があります
1.デフォルトでは、特別な
2.デフォルトでは拒否され、特別な
両者とも独自の特徴があり、安全の観点から個人が第2に偏っているのは、デフォルトで拒否し、特別なことを許可することである.しかし、iptalbesのデフォルトは最初のデフォルト許可であり、特別なコマンドを拒否すると、コマンドでデフォルト値を変更して私たちの要求コマンドを達成することができます.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables-Lで見るとデフォルト値が変わったような気がします
まず炎症のいくつかのパラメータXZFLについて話します
-Fクリアルール
-Xチェーンクリア
-Zチェーンのカウントの流量をクリアする
一般的にアクセスルールを再作成すると、既存のルールがクリアされます.これは、いくつかのルールの存在があなたが構築したルールに影響を与えるため、良い習慣です.
基本構文:
iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]
[-p tcp,udp.icmp,all] [-s ip/nerwork] [--sport ports]
[-d ip/netword] [--dport ports] [-j ACCEPT DROP]

以上がiptablesの基本文法です
Aは追加の意味です
Iは放送の意味です
ioとは、eth 1 eth 0 pppoeなどのデータが入るポートや外に出るポートのことです.
pあなたが指定するプロトコル
-sはソースアドレスを指すが、単一のIPは192.168.2.6のようにネットワークであってもよい.
192.168.2.0/24は、163のようなドメイン名であってもよい.comドメイン名を記入するとシステムが
彼のIPを自動的に解析し、iptablesに表示します.
--スポーツソースポート
-dは-sと似ていますが、ターゲットアドレスもIPドメイン名もネットワークも指しています.
--dportターゲットポート
-j実行パラメータACCEPT DROP
注意:パラメータが存在する場合は、すべて受け入れます.
1もし私が自分のl 0インタフェースのデータをすべて受け入れるならば、私达はこのように书くことができます:
iptables-A INPUT -i lo -j ACCEPT

2 192.168.2.6というIPアドレスから送られてきたデータを受け取りたい場合は、このように書くことができます.
iptablse-A INPUT -i eth1 -p tcp -s 192.168.2.6 -j ACCEPT

3もし私たちが192.168.2.0/24このネットのtelnet接続を拒否するならば
iptablse-A INPUT -i eth1 -p udp -s 192.168.2.0/24 --sport 23 –j DROP