ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    iptablesの設定方法

    このエントリーを含むはてなブックマーク はてなブックマーク - iptablesの設定方法 あとで読む
    さくらのVPSで、Webサーバーの設定を行っています。
    さくらのVPS インストールまとめ - 浜村拓夫の世界

    いつもなら、テンプレートをコピペしてサッサと済ませるのですが、勉強も兼ねて、コマンドの意味を理解しながら作業を進めてみました。

    きっかけは、iptablesの解説記事があったのですが、意味が良く分からない部分があったので。
    僕が考えた最強のサーバ設定 - とあるプログラマの日記 @s025236

    ●iptablesとは?
    ・外部のネットワークから不正侵入を防ぐのが、ファイアーウォール。
    ・Linuxには、「netfilter」「iptables」というファイアーウォールの機能が用意されている。

    ファイアーウォール - Wikipedia

    ファイアーウォール(防火壁、Firewall)とは、ある特定のコンピュータネットワークとその外部との通信を制御し、内部のコンピュータネットワークの安全を維持することを目的としたソフトウェア(あるいはそのソフトウェアを搭載したハードウェア)の技術概念である。
    外部から内部のコンピュータネットワークへ侵入しようとするクラッキング行為を火事にたとえ、それを食い止めるものとして防火壁という表現を用いている。



    ファイアウォールは、3つのタイプに分類できる。
    1 パケットフィルタ型
     1.1 スタティックなパケットフィルタ
     1.2 ダイナミックなパケットフィルタ
     1.3 ステートフルパケットインスペクション
    2 サーキットレベルゲートウェイ型
    3 アプリケーションゲートウェイ型



    Linuxカーネル には iptables、ipchains等が実装されている。



    5分で絶対に分かるファイアウォール

    iptables - Wikipedia

    iptables(アイピーテーブルズ)は、Linuxに実装されたIPv4用のパケットフィルタリングおよびネットワークアドレス変換(NAT)機能、またはその操作をするコマンドのこと。ルーターの機能を果たす。IPv6 用は ip6tables。



    以前に、書いたiptablesの設定ファイルを、改めて見直して見ます。
    さくらのVPS ファイヤーウォールの設定 - 浜村拓夫の世界
    表記がブレてるけど、口語表記だと「ファイアーウォール」が発音に近いね?

    ●参考書
    図解でわかる Linuxサーバ構築・設定のすべて
    一戸 英男
    日本実業出版社
    2005-04-07
    2940円

    第7章 iptablesによるファイアウォール構築



    プロのための Linuxシステム・ネットワーク管理技術 (Software Design plus)
    中井 悦司
    技術評論社
    2011-05-20
    3024円

    第2章 iptablesによるアクセス管理


    ●参考サイト

    まずは、ググってみましょう。
    iptables - Google 検索

    マニュアル(ちょっと古いかな?)
    Man page of IPTABLES

    チュートリアル
    Iptablesチュートリアル 1.2.2

    入門講座。アットマークの連載記事です。ありがたや~☆
    連載記事 「習うより慣れろ! iptablesテンプレート集」

    解説記事。図入りの説明で分かりやすい!
    iptables ファイヤウォール - 名もないサイト

    コマンドの一覧表。
    管理者必見! ネットワーク・コマンド集 - iptablesコマンド:ITpro

    コマンドリファレンス。
    iptablesコマンドで使用するオプション

    設定のサンプル。詳細なコメントで分かりやすい!
    iptablesの設定

    設定のサンプル。基本は「DROP」で、固定IPからのメンテナンスを前提にされてます。
    僕が考えた最強のサーバ設定 - とあるプログラマの日記 @s025236

    設定のサンプル。iptables設定用スクリプトです。
    iptables設定用スクリプト ありとあらゆるメモ

    設定のサンプル。設定の指針が参考になります。
    iptablesによるアクセス制限 - マニュアル : マイティーサーバーの専用サーバー

    ●iptablesの用語
    iptablesで使われる用語、概念を押さえておきましょう。

    ・テーブル
    ・チェイン
    ・ルール
    ・ターゲット
    ・パラメーター
    ・オプション
    ・モジュール
    とか。

    <テーブル>
    「テーブル」は、パケットフィルタリングなどのルールを保持する空間です。
    具体的には、チェイン(パケットを取り扱う方法を記述したルールのリスト)を保持します。
    接続機能別に、「filter」「nat」「mangle」「raw」の4つのテーブルが用意されています。

    テーブル用途
    filterIPフィルタを設定
    natアドレス変換(IPマスカレード)を設定
    mangleパケットの内容変更を設定(TOS、TTLなどを書き換え)
    rawパケットの追跡を無効にする設定


    <チェイン>
    「チェイン」は、パケットを取り扱う方法を記述したルールのリストです。
    パケットの方向や経路によって、「INPUT」「OUTPUT」「FORWARD」「PREROUTING」「POSTROUTING」の5つのチェインが用意されています。

    チェイン適用パケット
    INPUT自システム宛の受信パケット(中継パケットは含まない)
    OUTPUT自システムからの送信パケット(中継パケットは含まない)
    FORWARD中継パケット
    PREROUTINGルーティング前のパケット(受信直後のパケット)
    POSTROUTINGルーティング後のパケット(送信直前のパケット)


    各テーブルに用意されているチェインがあります。
    (Linuxのkernelのバージョンによって、用意されているチェインの種類が異なります。)

    テーブルチェイン
    filterINPUT, OUTPUT, FORWARD
    natPREROUTING, OUTPUT, POSTROUTING
    manglePREROUTING, INPUT, OUTPUT, FORWARD, POSTROUTING
    rawPREROUTING, OUTPUT


    iptablesのチェイン

    <ルール>
    「ルール」は、パケットを取り扱う方法の定義です。
    iptables記述の基本単位です。
    ルールの内容は、「対象テーブルとチェイン」「パケットのマッチ条件」「条件にマッチしたときのターゲット(処理)」が基本です。

    <ターゲット>
    「ターゲット」は、ルールの条件にマッチしたパケットの処理方法です。
    例えば、filterテーブルには、あらかじめ、「ACCEPT」「DROP」「RETURN」「QUEUE」の4つのターゲットが用意されています。
    ACCEPTは、パケットを通過させます。
    DROPは、パケットを通過させずに破棄します。

    ターゲット動作
    ACCEPTパケットを通す
    DROPパケットを捨てる
    QUEUEパケットをカーネルからユーザ空間に渡す
    RETURNチェーンを辿るのをやめて、上位のチェーンに戻る。最上位であった場合は、チェーンポリシーで指定されているターゲットに従って動作する。
    REJECTDROPと同じくパケットを捨てる。廃棄時にICMPエラーを返す点がDROPと異なる。返すエラー種別は--reject-withオプションで設定できる。


    <ユーザー定義チェイン>
    ・デフォルトで用意されている5つのチェインの他に、新しいチェインをユーザーが定義することもできます。
     例えば、「ppp」のような特定インターフェース用のチェインを作り、そこにルールを記述します。

    ・ユーザー定義チェインは、ターゲットとして指定できます。
     例えば、pppインターフェースから入ってくるパケットを評価するためのppp-inというチェインを作り、INPUTチェインの中で、pppインターフェースから入ってくるパケットに関しては、ppp-inチェインをターゲットとして指定するという使い方ができます。

    ある一まとまりの処理を、分かりやすい名前を付けたユーザー定義チェインで束ねる、といったかんじですかね?

    ●iptablesの仕組み
    iptablesは、どんなふうにして、動作しているのでしょうか?

    <パケットの評価>
    iptablesによるパケットフィルタリングが動作しているサーバーでは、NICを通過するパケットは、
    ・経路に従って
    ・順にチェインの中の
    ・ルールと比較されます。

    そして、
    ・ルールに記述された条件とマッチしたとき、
    ・ルールに定義されたターゲットに渡されます。

    チェインによっては、複数のテーブルで同じ名前のチェインが定義されている場合がありますが、そのすべてが順に評価されます。

    <ルールの考え方>
    設定されたルールを評価する方式は、ファイアウォールソフトによって様々です。
    iptablesの評価方式は、パケットフィルタリングに多い「ふるい落とし方式」ではなく、「選抜方式」(条件にマッチした時点で許可)が採用されています。

    <ふるい落とし方式>
    いったんすべてのルールを評価する方式です。
    この方式の場合、複数のルールの途中で間違った設定をしていると、思ったとおりに動作しません。
    ふるい落とし方式の中にも、ルールを評価する順番を優先するタイプのものもあります。

    <選抜方式>
    この方法は、最初にマッチしたルールに出会った時点でルールを評価します。
    もし、その結果がACCEPTなら、その時点でパケットは通過し、ルールの評価はそこで終了します。
    アプリケーションゲートウェイ(proxy)タイプは、この方法をとっているケースが多いようです。 

    ●iptablesの使い方
    iptablesコマンドで使用するオプション

    iptables [テーブル] コマンド [チェイン] [パラメーター(オプション)] [ターゲット]


    iptables [-t <table-name>] <command> <chain-name> <parameter-1> <option-1> <parameter-n> <option-n>


    という書式のルールを書き連ねていくことで、様々なパケットフィルタリングを設定できます。

    <テーブルの指定>
    テーブルは、「-t」オプションで指定します。

    -t テーブル名



    テーブル名は、「raw」「mangle」「nat」「filter」のいずれかを指定します。
    省略した場合は、「-t filter」と同じ意味になり、テーブルとしてデフォルトの「filter」が指定されます。

    <コマンドの指定>
    コマンドによって、チェインを操作します。

    コマンドオプション動作
    -A (または --append)指定したチェインに条件を追加する。
    -D (または --delete)指定したチェインの条件を削除する。
    -E (または --rename-chain)ユーザー定義チェーンの名前を変更する。
    -F (または --flush)指定したチェインの条件を全て消去する。チェインの指定を省略した際には全てのチェインの条件を消去する。(初期化)
    -I (または --insert)指定したチェインの先頭に条件を挿入する。
    -L (または --list)テーブルの条件を全て表示する。テーブルを指定しない場合は全てのテーブルを表示する。
    -N (または --new-chain)指定した名前でユーザ定義チェインを作成する。
    -P (または --policy)テーブルの既定値となるターゲットを設定する。
    -R (または --replace)指定したチェインのルールを置換する。
    -X (または --delete-chain)指定したユーザ定義チェインを削除する。
    -Z (または --zero)全てのチェインのパケットカウンタとバイトカウンタをクリアする。


    <パラメーター(条件)の指定>
    パラメーターの指定によって、IPパケットにフィルタリング処理を適用する条件を指定できます。
    以下のように、細々と指定できます。

    <プロトコルの指定>
    条件として、プロトコルを指定する場合、「-p」(または「--protocol」)オプションを使います。
    TCPとUDPの場合、ポート番号も指定できます。
    「-sport」(または「--source-port」)で送信元ポート番号、「-dport」(または「--destination-port」)で宛先ポート番号を指定できます。
    また、「-s」(または「--source」)で送信元IPアドレス、「-d」(または「--destination」)で送信先IPアドレスを指定できます。

    パラメーターオプション動作
    -p [プロトコル名]プロトコル名(tcp、udp、icmp、allなど)を指定する。省略した場合は全プロトコルが適用対象になる。よく使うのは「-p tcp」「-p udp」
    -sport ポート番号送信元のポート番号の指定
    -dport ポート番号宛先のポート番号の指定
    -s 送信元のIPアドレス[マスク]送信元(source)のIPアドレスを指定。複数のIPアドレスはサブネットマスク(CIDR表記)で指定。省略すると全ての送信元に適用
    -d 送信元のIPアドレス[マスク]宛先(distination)のIPアドレスを指定。複数のIPアドレスはサブネットマスク(CIDR表記)で指定する。省略すると全ての宛先に適用


    <インターフェースの指定>
    条件として、インターフェース(LANカード、NIC)を指定する場合、
    「-i」(または「--in-」「--in-interface」)
    「-o」(または「--out-」「--out-interface」)オプションを使います。

    パラメーターオプション動作
    -i インターフェース名受信インターフェイスを指定する。複数のNICを「eth0」「eth1」等と指定して識別する。
    -o インターフェース名送信インターフェイスを指定する。指定方法は「-i」と同じ。


    ※インターフェース名には、「eth*」の他に、「ppp*」「tap*」等があります。

    <拡張モジュールの指定>
    条件として、マッチングモジュールを指定する場合、「-m」(または「--match」)オプションを使います。

    ・iptablesでは、追加機能を提供するモジュールを作成できます。
    ・デフォルトで、多くのモジュールが利用できるようになっています。

    <limitモジュール>
    特定の規則を満たすパケットの数に「制限」を設けます。
    SYN FLOOD攻撃など、大量のアクセスによるアタックを防止するときに便利です。

    モジュールオプション動作
    --limit特定の時間帯に照合する回数を設定する。 <number>/<time>という形式で回数と時間単位を指定する。
    --limit-burst同時に照合できるパケットの最大数を指定する。このオプションは、--limitオプションとともに使用する。 値を指定しない場合、5つのパケットだけ照合。


    (例) --limit 5/hour → 1時間に5回だけ照合。 回数と時間を指定しない場合は、デフォルト値の 3/hour が使用される。

    <stateモジュール>
    パケットの接続(コネクション)の状態について、追跡調査を可能にします。

    モジュールオプション動作
    --stateパケットの接続状態を指定。状態は「,」で区切り、複数を指定可能。



    指定できる状態は、
    ・「INVALID」=既存の接続と関係がないパケット、
    ・「ESTABLISHED」=確立された接続のパケット、
    ・「NEW」=新しい接続のパケット、
    ・「RELATED」=既存の接続と関係がある、新しい接続を開始するパケット(FTPなど)
    です。

    これらの接続状態を複数組み合わせて使用するには、-m state --state INVALID,NEWのようにカンマで区切ります。

    <macモジュール>
    ハードウェアMACアドレスの照合を有効にします。

    モジュールオプション動作
    --mac-sourceパケットの送信元であるネットワークインターフェースカードのMACアドレスを照合する。


    <ターゲットの指定>
    ターゲットは、「-j」(または「--jump」)オプションで指定します。

    -j ターゲット名



    オプションの書式適用
    -j ACCEPTパケットの通過を許可する
    -j DROPパケットを破棄する。エラーを返さない。
    -j REJECTパケットの通過を拒否する。DROPと違い、エラーを返す。
    -j MASQUERADE「-t nat」と「-A POSTROUTING」を同時に用いて、送信元IPアドレスとポート番号の書き換えを行う。
    -j SNAT「-t nat」と「-A POSTROUTING」を同時に用いて、送信元IPアドレスの書き換えを行う。MASQUERADEと同様の機能だが、変換先IPアドレスが固定の場合はこちらを使う。
    -j DNAT「-t nat」と「-A POSTROUTING」を同時に用いて、宛先IPアドレスの書き換えを行う。
    -j ユーザ定義チェインパケットをユーザー定義チェインに引き渡し、処理させる。


    ●iptablesの設定を保存する場所
    iptablesのルールセットは、

    /etc/sysconfig/iptables


    というファイルに記述して、保存します。

    ・「iptables」が、IPv4用の設定ファイルです。
    ・同じディレクトリ内にある「ipv6tables」は、IPv6用の設定ファイルです。

    ●iptablesの開始/停止/再起動
    以下のようなコマンドで手動操作できます。

    ・iptablesサービスの開始

    # /etc/init.d/iptables start



    ・iptablesサービスの停止

    # /etc/init.d/iptables stop



    ・iptablesサービスの再起動。設定ファイルを修正したとき、再起動が必要。

    # /etc/init.d/iptables restart



    ・iptables設定の確認方法

    # iptables -L


    iptablesの文法に間違いがあれば、エラーメッセージが出ます。

    ●ぼくのかんがえたさいきょうのあいぴーてーぶるず
    以下のようなiptablesの設定を考えてみました。
    まあ、「lokkit」で自動生成した雛形を、ちょっといじっただけですが。

    …なんか、コードの右側が隠れてしまう。→コピペしたら見られます。><



    #------------------------------------------------------------------------------
    # Firewall configuration
    #------------------------------------------------------------------------------
    # /etc/sysconfig/iptables
    #
    # ぼくのかんがえたさいきょうのあいぴーてーぶるずのせってい(・ω・)
    # cf. http://hamamuratakuo.blog61.fc2.com/blog-entry-827.html
    # cf. http://www.nina.jp/server/redhat/iptables/iptables.html
    # iptablesには、いろいろな用語・概念が出てくるので、意味・用法を押さえておこう!
    # 「#」で始まる行は、コメント行

    #------------------------------------------------------------------------------
    # テーブル(目的)
    #------------------------------------------------------------------------------
    # 書式 -> *テーブル名
    # テーブルは、「filter」「nat」「mangle」「raw」の4つから選択
    # filterテーブル = IPフィルタを設定
    # natテーブル = アドレス変換(IPマスカレード)を設定
    # mangleテーブル = パケットの内容変更を設定(TOS、TTL等のフィールド書換え)
    # rawテーブル = パケットの追跡を無効にする設定
    *filter
    # filterテーブルを用いて、パケットのフィルタリングを実施

    #------------------------------------------------------------------------------
    # チェイン(経路)
    #------------------------------------------------------------------------------
    # 書式 -> :チェイン名 デフォルトポリシー [パケットカウント:バイトカウント]
    # チェインは、「INPUT」「OUTPUT」「FORWARD 」「PREROUTING」「POSTROUTING」の5つから選択
    #
    # ┏━━━━━━iptables━━━━━━┓
    # ┃ ┌──────┐ ┌───┐ ┃ ┌────┐
    # 受信パケット→┃→│PREROUTING │→│INPUT │→┃→│ │
    # ┃ └──────┘ └───┘ ┃ │ │
    # ┃ ↓ ┃ │ │
    # ┃ ┌──────┐ ┃ │Local │
    # ┃ │FORWARD │ ┃ │ │
    # ┃ └──────┘ ┃ │Process │
    # ┃ ↓ ┃ │ │
    # ┃ ┌──────┐ ┌───┐ ┃ │ │
    # 送信パケット←┃←│POSTROUTING │←│OUTPUT│←┃←│ │
    # ┃ └──────┘ └───┘ ┃ └────┘
    # ┗━━━━━━━━━━━━━━━━┛
    #
    # 「INPUT」(受信)「FORWARD」(経由)「OUTPUT」(送信)チェインの初期設定
    # デフォルトポリシーで、パケットの基本的な処理方法について指定
    # チェインのターゲット(処理)を「ACCEPT」にすると全て許可、「DROP」にすると全て破棄
    :INPUT DROP [0:0]
    # INPUTチェイン -> 宛先がローカルホストのパケットに適用
    # すべての受信をDROP(破棄)
    :FORWARD DROP [0:0]
    # FORWARDチェイン -> ローカルホストを経由するパケットに適用
    # すべての転送をDROP(破棄)
    :OUTPUT ACCEPT [0:0]
    # OUTPUTチェイン -> 送信元がローカルホストのパケットに適用
    # すべての送信をACCEPT(許可)
    # 他人(入力)には厳しく自分(出力)には優しい、図々しい設定w(・∀・)
    :RH-Firewall-1-INPUT - [0:0]
    # 「RH-Firewall-1-INPUT」という名前のユーザー定義チェインを作成
    # 細かい設定は、あとでまとめて記述

    #------------------------------------------------------------------------------
    # ルール(条件と処理)
    #------------------------------------------------------------------------------
    # 書式 -> 基本は、-A チェイン名 マッチング条件(パラメーター+オプション) -j ターゲット
    #
    # コマンドオプションの書式(抜粋)
    # -A(--append) チェイン名 : チェインに新たなルールを追加
    # -j(--jump) ターゲット : 条件に適合したパケットの処理を指定
    #
    # ターゲット(処理)には、ACCEPT(許可)|DROP(破棄)|REJECT(拒否)|ユーザー定義チェイン等を指定
    #
    # パラメーターオプションの書式(抜粋)
    # 頭に「!」をつけると、notという意味
    # -p(--protocol) プロトコルまたはプロトコル番号 : 指定できるプロトコルは、tcp|udp|icmp|all等
    # -i(--in-interface) 受信インターフェース : filterテーブルでは、INPUT/FORWARDチェインで使用可能
    # -o(--out-interface) 送信インターフェース : filterテーブルでは、OUTPUT/FORWARDチェインで使用可能
    # -s(--source) 送信元アドレス : 「192.168.0.1」「192.168.0.0/24」「192.168.0.0/255.255.255.0」のように指定
    # -d(--destination) 送信先アドレス : 「192.168.0.1」「192.168.0.0/24」「192.168.0.0/255.255.255.0」のように指定
    #
    # 拡張モジュールオプションの書式(抜粋)
    # 頭に"!"をつけると、notという意味
    # -m tcp --sport(--source-port) TCP送信元ポート : 「-p tcp」のとき使用可能、ポート範囲は「0:1023」のように指定
    # -m tcp --dport(--destination-port) TCP宛先ポート : 「-p tcp」のとき使用可能、ポート範囲は「0:1023」のように指定
    # -m udp --sport(--source-port) UDP送信元ポート : 「-p udp」のとき使用可能、ポート範囲は「0:1023」のように指定
    # -m udp --dport(--destination-port) UDP宛先ポート : 「-p udp」のとき使用可能、ポート範囲は「0:1023」のように指定
    # -m state --state 接続状態
    # : 接続状態には、NEW(新規)/ESTABLISHED(接続中)/RELATED(既存の接続に関係、FTP等)/INVALID(その他)を指定
    # --icmp-type ICMPタイプ : 「-p icmp」のとき使用可能。指定できるICMPタイプは「iptables -p icmp -h」で確認
    -A INPUT -j RH-Firewall-1-INPUT
    # ローカルホスト宛のパケットは、ユーザー定義チェイン「RH-Firewall-1-INPUT」でチェック
    -A FORWARD -j RH-Firewall-1-INPUT
    # ローカルホスト経由のパケットは、ユーザー定義チェイン「RH-Firewall-1-INPUT」でチェック

    #------------------------------------------------------------------------------
    # ユーザー定義チェイン
    #------------------------------------------------------------------------------
    # 「RH-Firewall-1-INPUT」という名前のユーザー定義チェインに、必要最小限のルールを追加

    ### ループバック/ICMP/確立済みの接続は許可
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    # 受信インターフェースが「lo」(ループバック)なら、通信を許可
    # ループバック=ローカルホスト内部の送信/受信機能。ローカルホストで動くプログラムが使用
    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
    # プロトコルが「icmp」ならば、通信を許可
    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    # 接続状態が「ESTABLISHED」または「RELATED」ならば、通信を許可
    # これがないと通信ができない!(><)

    ### 各種サービスの許可(必要なサービスのみ追加)ここから-----------------------
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    # 接続状態が「NEW」かつプロトコルが「tcp」かつ送信先ポートが「22」ならば、通信を許可
    # SSHサーバーへの接続要求パケット
    # SSH接続のポート番号を標準の「22」から、他の番号に変更している場合は、適宜置き換えて指定
    # -A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport ssh -j ACCEPT と書いてもOK

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    # 接続状態が「NEW」かつプロトコルが「tcp」かつ送信先ポートが「80」ならば、通信を許可
    # HTTPサーバーへの接続要求パケット
    # -A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport http -j ACCEPT と書いてもOK

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
    # 接続状態が「NEW」かつプロトコルが「tcp」かつ送信先ポートが「443」ならば、通信を許可
    # HTTPS(SSL)サーバーへの接続要求パケット
    # -A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport https -j ACCEPT と書いてもOK
    ### 各種サービスの許可(必要なサービスのみ追加)ここまで-----------------------

    ### セキュリティー
    -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
    # プロトコルが「udp」かつ送信先ポートが「5353」(Multicast DNS)かつ送信先アドレスが「224.0.0.251」ならば、通信を許可
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    # ここまでのチェックで該当しなかったIPパケットは、ICMPパケット「host-prohibited」を返して接続拒否

    #------------------------------------------------------------------------------
    # コミット(登録)
    #------------------------------------------------------------------------------
    COMMIT
    # 以上の設定を登録




    上記の設定ファイルをコピペしてエラーが出る場合は、余計なコメント行(「#」で始まる行)を削除してみてください。

    もっとこうした方がいいよ!というアドバイスがございましたら、是非お教えください。
    よろしくお願いします。
    関連記事

    コメント

    とあるプログラマの日記の中の人です。

    もぅずいぶん立ってるので解決済みかと思いますがわからない所残ってるならtwitterで質問頂ければ教えますよ

    ファイアーウォール、設定成功!!!

    >まことさん

    コメントどうもありがとうございます。

    iptablesの解説記事を参考にさせていただき、とても助かりました。
    おかげさまで、一応ファイアーウォールの設定は無事できました。

    記事中、意味がよく分からなかったのは、ユーザー定義チェインの部分でした。
    → 私自身が、ユーザー定義チェインの使い方を知らなかったため。
    → Google先生に聞いて、やっと意味が分かりました。(笑)

    また何か分からないことがあったら、その際にはお言葉に甘え、ご質問させていただければ幸甚です。
    今後とも、有益な情報の共有をお願い申し上げます。m(__)m

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/827-f9f8adec

    FC2Ad