Linux ------ iptablesファイアウォールの一般的に使用されるコマンド

iptablesのテーブルとチェーン構造

  • ルールチェーン

    • ルールの役割:データパケットのフィルタリングまたは処理
    • チェーンの役割:さまざまなファイアウォールルールに対応する
    • チェーンの分類基準:データパケットの処理の異なるタイミング
  • 5種類のルールチェーンがデフォルトで含まれています

    • 入力:受信パケットを処理します
    • 出力:送信パケットを処理します
    • FORWARD:転送パケットの処理
    • POSTROUTINGチェーン:ルーティング後にデータパケットを処理する
    • PREROUTINGチェーン:ルーティング前のデータパケットの処理
  • ルールテーブル

    • テーブルの役割:さまざまなルールチェーンに対応する
    • テーブルの分割の基礎:ファイアウォールルールの役割は類似しています
  • デフォルトで含まれる4つのルールテーブル

    • rawテーブル:パケットのステータスを追跡するかどうかを決定します
    • マングルテーブル:パケットにフラグを設定
    • NATテーブル:データパケットの送信元、宛先IPアドレス、またはポートを変更します
    • フィルターテーブル:データパケットを許可するかどうかを決定(フィルター)
  • デフォルトのテーブルとチェーン構造の概略図

ここに画像の説明を挿入

パケットフィルタリングのマッチングプロセス

  • ルールテーブル間の順序

    • raw->マングル> nat>フィルター
  • ルールチェーン間の順序

    • インバウンド:PREROUTING→INPUT
    • アウトバウンド:OUTPUT→POSTROUTING
    • 转发:プレルーティング>フォワード>ポストルーティング
  • ルールチェーン内の順序に一致

    • 順番に確認し、一致したら停止します(LOG戦略を除く)
    • 一致するルールが見つからない場合、チェーンのデフォルトの戦略に従って処理されます

マッチングプロセスの模式図

ここに画像の説明を挿入

**注:** CentOS 7はデフォルトでファイアウォールファイアウォールを使用します。iptablesファイアウォールを使用する場合は、最初にファイアウォールファイアウォールをオフにする必要があります

iptablesのインストール

  • Firewalld Firewallをオフにする
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
  • iptablesファイアウォールをインストールする
[root@localhost ~]# yum -y install iptables iptables-services
  • 起動時に開始するようにiptablesを設定する
[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# systemctl enable iptables.service

iptablesの基本的な構文

  • 文法構成
    • iptables -tテーブル名オプションチェーン名条件-j制御タイプ
[root@localhost ~]# iptables -t filter -I INPUT -p icmp-j REJECT
  • 予防

    • テーブル名が指定されていない場合、デフォルトではフィルターテーブルを参照します
    • チェーン名が指定されていない場合、デフォルトではテーブル内のすべてのチェーンを参照します
    • チェーンのデフォルトポリシーが設定されていない限り、一致条件を指定する必要があります
    • オプション、チェーン名、コントロールタイプには大文字を使用し、残りは小文字にする
  • データパケットの一般的な制御タイプ

    • ACCEPT:合格を許可
    • DROP:応答せずに直接ドロップ
    • 拒否:合格を拒否し、必要に応じてメッセージを表示します
    • LOG:ログ情報を記録し、次のルールに渡して照合を続行します
  • 一般的な管理オプションの概要

カテゴリー オプション 使用する
新しいルールを追加 -A チェーンの最後にルールを追加する
新しいルールを追加 -私 チェーンの先頭にルールを挿入(またはシーケンス番号を指定)
ルールのリストを表示する -L すべてのルールエントリを一覧表示する
ルールのリストを表示する -n アドレス、ポート、その他の情報をデジタル形式で表示
ルールのリストを表示する -v ルール情報をより詳細に表示する
ルールのリストを表示する –行番号 ルールを表示するときに、ルールのシリアル番号を表示します
ルールを削除してクリアする -D チェーン内の指定されたシーケンス番号(またはコンテンツ)を持つルールを削除します
ルールを削除してクリアする -F すべてのルールを削除
デフォルトのポリシーを設定する -P 指定したチェーンのデフォルトルールを設定する

ルール一致条件

一般的な一般的な一致条件

  • プロトコルの一致:-pプロトコル名
  • アドレスの一致:-s送信元アドレス-d宛先アドレス
  • インターフェースの一致:-i受信ネットワークカード-o送信ネットワークカード

一般的に使用される暗黙の一致条件

  • ポートの一致:--sport source port --dport destination port
  • ICMPタイプの一致:--icmp-type ICMPタイプ

例:

iptables -I INPURT -p icmp -j DROP
iptables -A INPUT -i ens33 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

注:8:リクエスト、0:エコー、3:到達不能

一般的な表示一致条件

マルチポートマッチング:

  • -m multiport --sportsソースポートリスト
  • -m multiport --dports宛先ポートリスト

IP範囲の一致:

  • -m iprange --src-range IP範囲

MACアドレスの一致:

  • -m mac -mac-source MACアドレス

ステータス一致:

  • -m state --state接続状態

iptable -A INPUT -p tcp -m multiport --dports 25,80,110 -j ACCEPT
iptable -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT
iptable -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j ACCEPT
iptable -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

一般的な接続ステータス:

新規------------
ESTABLISHED はどの接続にも関連していません------------要求または確立された接続
応答して関連しています----------- -FTPデータ接続などの既存の接続に関連

概要:
iptablesファイアウォールには、デフォルトで4つのテーブルと5つのチェーンが含まれています

iptablesの基本的な構文

iptablesの一般的な管理オプション

  • A、I、L、n、v、--line-numbers、D、F、P

iptablesルールの一致条件

  • 一般一致、暗黙的一致、明示的一致

おすすめ

転載: blog.csdn.net/weixin_48190875/article/details/107823656