Linuxでのiptables設定の詳細な説明

いずれにせよ、iptablesは特別な注意を払って設定する必要があるものです。サーバーがあなたの周りにない場合、SSH接続が不可能になる可能性があります。これは頭痛の種になります。次の内容は次のように書かれています。 SSHポート22(ここで使用するデフォルトのポートはSSHポートを削除することをお勧めしません)の
場合
iptables -A 22 --dport INPUT -p TCP -j ACCEPT iptables -A 22 -sport the OUTPUT -p TCP -j
/etc/rc.d/init.d/iptables saveに注意を払います。次の各手順でこのステートメントを実行することをお勧めします。次の手順は繰り返されません。それ以外の場合は、service iptablesrestartコマンドを直接実行した後です。追加したばかりのものは失われます。

1.最初に手順と関連する構成ファイルを紹介します

開始命令:service iptables開始
再起動命令:service iptables再起動
シャットダウン命令:service iptables stop

次に、関連する構成:/ etc / sysconfig / iptables

この構成を操作する方法は?
vim / etc / sysconfig / iptables2
。ここにいくつかの命令の使用法があります

-A:チェーン名を
指定します-p:プロトコルタイプを指定します
-d:宛先アドレスを指定します
-dport:宛先ポート(宛先ポート)を
指定します-sport:送信元ポート(送信元ポート)を
指定します-j:アクションタイプを指定します

3.グローバルDROPルール。

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

この手順では、自分で設定したACCEPTルールに準拠していないすべての接続を削除します。実行後、SSHが削除されていない場合は、安全です。iptablesを再起動して、次の設定を続行してください。

4.ルールを削除する必要がある場合があります。完了したコマンドを使用してルールを削除する方法:
構文は次とおりです。iptables-Dchain rulenum [options]

その中で、chainはchainを意味します。つまり、
INPUTFORWARDなどのrulenumはルールの番号です。1から開始します。--line-numbersを使用して、ルールの数を一覧表示できます

したがって、たとえば、INPUTチェーンを削除する上記のルールは次のようになります。iptables-DINPUT 3
は、3番目のルールを削除することを意味します。

 

5.最後に、IP用に個別に開いているポートを次のように構成できることを追加します。

イントラネット上のマシンへのmysqlポートを個別に開く必要がある場合は、次のように構成する必要があります
。iptables-A INPUT -s 192.168.2.6 -p tcp -m tcp –dport 3306 -j ACCEPT
iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp –sport 3306 -j ACCEPT

 

以下の詳細には立ち入りません。特定の構成では、サーバーが開きたいポート、または特定の構成のためにアクセスするポートを確認します。以下は、自分のマシンの構成です。

/ etc / sysconfig / iptables文件配置如下:#iptables
によって生成-2012年3月2日金曜日19:59:43にv1.4.7を保存
* filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [8:496]
-A INPUT -m state –state RELATED、ESTABLISHED -j ACCEPT

#ping使用するポート-AINPUT
-p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

#サーバー自体のSSHを許可します(サーバーは外部要求のターゲットであるため、–dportを使用します)
-A INPUT -p tcp -m tcp –dport 22 -j ACCEPT

#80ポート言うまでもなく、サーバーWebサイトアクセスポート
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 11211 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 11212 -j ACCEPT
-A FORWARD -j REJECT –reject-with icmp-host-prohibited

#53ポートはDNS関連であり、TCPとUDPを構成する必要があります
-A INPUT -p tcp -m tcp –dport 53 -j ACCEPT
-A INPUT -p udp -m udp –dport 53 -j ACCEPT#
サーバーがSSHで接続できるようにます他のマシン(外部ポートを使用する場合は-dportを使用)
-A OUTPUT -p tcp -m tcp –dport 22 -j ACCEPT

#サーバー自体のSSHを許可する(ソース出力として–sportを使用)
-A OUTPUT -p tcp -m tcp –sport 22 -j ACCEPT

#外部Webサイトへのアクセス80ポート(外部ポートを使用、-dportを使用)
-A OUTPUT -p tcp -m tcp -dport 80 -j ACCEPT

#サーバーが外部Webサイトにアクセスする必要がある場合、OUTPUTはポート53も構成する必要があります(外部ポートを使用、-dportを使用)
-A OUTPUT -p tcp -m tcp –dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp -dport 53 -j ACCEPT

#外部メールボックスにアクセスできる場合は、メールボックス関連のポートを開きます(外部ポートを使用して–dportを使用します)
-A OUTPUT -p tcp -m tcp –dport 465 -j ACCEPT
-A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT
-A OUTPUT -p tcp -m tcp –dport 110 -j ACCEPT

#Server Webサイトアクセスポート(ソース出力に–sportを使用)
-A OUTPUT -p tcp -m tcp –sport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp –sport 3306 -j ACCEPT
-A OUTPUT -p tcp- m tcp –sport 11211 -j ACCEPT
-A OUTPUT -p tcp -m tcp –sport 11212 -j ACCEPT

COMMIT
#金3月2日夜07時59分43秒2012年完了

=======================
次のコマンドなど、上記の-line-numbersオプションについて説明します。iptables-
LINPUT-line-numbersすべてのINPUTを一覧表示します。チェーンルール
NUMtarget Prot optSourceどこにしますか
。1REJECTTCP-どこでもどこでもTCPDPT:Microsoft-DS拒否-ICMP-Portで到達不能
2 REJECTTCP-どこでもTCPDPT:135拒否-ICMP -Portで-到達不能
。到達不能のNetBIOS-SSN-とポート-ICMPを拒否:どこでもどこでもDPT TCP - 3は、TCPを拒否します
...
...

 


単一のIPをシールドするコマンドはiptables -I INPUT -s 123.45.6.7 -jDROPです。

#段落全体を封印するのは、123.0.0.1から123.255.255.254までのコマンドです。iptables-IINPUT
-s 123.0.0.0/8 -j DROP

#IPセグメントは、123.45.0.1から123.45.255.254までのコマンドです。iptables-IINPUT
-s 124.45.0.0/16 -j DROP

#IPセグメントをシールします。つまり、123.45.6.1から123.45.6.254までのコマンドは
iptables -I INPUT -s 123.45.6.0/24 -jDROPです。

命令Iは挿入命令ですが、正しい位置に挿入されます。自分のソート位置を確認するA命令とは異なります。したがって、シールドIPを最初にロードする必要があるため、Iコマンドを使用する必要があります。ロードしてから、execution / etc / rc.d / init.d / iptables saveに注意して、サービスを保存して再起動します。


上記は転載されたコンテンツであり、以下は私自身の本番ファイアウォールの構成であり、ファイアウォールは追加されていますが、出力には含まれていません

* filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]


##ファイアウォールルールの最後にインバウンドルールを追加します。リンクトラッキングを有効にして、このマシンのステータスを検出します。
##このマシンに通信させ、状態をESTABLISHED、RELATEDパケットに属します。おそらく、データパケットを迅速に転送できることを意味し、各データパケットは
-A INPUT -m state --state ESTABLISHED、RELATED -jACCEPTと見なされています。

#icmpパッケージの通過を許可します。つまり、pingを許可します。
- AINPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT


デフォルトのポート22は削除しないでください。これはsshのポートです。-AINPUT-s 12.3.0.0/16 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

##このネットワークセグメントは10.4.XX.XXのみ8090および8000ポートにアクセスします
-AINPUT -s 12.3.0.0/16 -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
-A INPUT- s 12.3.0.0/16 -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT

##すべてのポートにアクセスするための1つのIPのみ
-AINPUT -s 123.456.789.166 / 32 -j ACCEPT
-A INPUT -s 123.456.789.166 / 32 -j ACCEPT
 

コミット

 

 

おすすめ

転載: blog.csdn.net/zhaofuqiangmycomm/article/details/113779658