Iptables-1.8.0

Iptables の概要

この節の次ではファイアウォールについて説明します。 Linux においてファイアウォールを取り扱う重要なツールが Iptables です。 どのような形にせよ、ファイアウォールを実現するなら Iptables をインストールすることが必要です。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

Iptables の依存パッケージ

任意

nftables

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/iptables

カーネルの設定

Linux におけるファイアウォールは、カーネルの機能の一部である netfilter を通じて実現されます。 その netfilter へのインターフェースが Iptables です。 これを使うには、以下のカーネルのパラメーターを設定します。

[*] Networking support  --->                                    [CONFIG_NET]
      Networking Options  --->
        [*] Network packet filtering framework (Netfilter) ---> [CONFIG_NETFILTER]

Iptables のインストール

[注記]

注記

以降にて示しているインストール手順では Linux ソースコード内の、生のヘッダーファイルを必要とする、特定の拡張ライブラリまではビルドしません。 そのような拡張ライブラリをビルドする場合 (不明であればビルドする必要はないでしょう) INSTALL ファイルを参照して Linux ソースコードの場所を指定する KERNEL_DIR= パラメーターの設定例を確認してください。 カーネルバージョンをアップグレードする際には、iptables も再コンパイルする必要があることを覚えておいてください。 なお BLFS チームでは、生のカーネルヘッダーを用いたテストは行っていません。

x86 ではないアーキテクチャーでは、生のカーネルヘッダーを必要とするものがあります。 そのような場合は KERNEL_DIR= パラメーターにて Linux のソースコードを指し示すようにしてください。

nftables をインストールしていない場合は、ビルドに失敗しないように libebt/libarp 拡張を無効にします。

sed -i -e '/libebt_/s/^/#/' \
       -e '/libarpt_/s/^/#/' extensions/GNUmakefile.in

iptables をインストールするために以下を実行します。

./configure --prefix=/usr      \
            --sbindir=/sbin    \
            --disable-nftables \
            --enable-libipq    \
            --with-xtlibdir=/lib/xtables &&
make

このパッケージにテストスイートはありません。

root ユーザーになって以下を実行します。

make install &&
ln -sfv ../../sbin/xtables-legacy-multi /usr/bin/iptables-xml &&

for file in ip4tc ip6tc ipq iptc xtables
do
  mv -v /usr/lib/lib${file}.so.* /lib &&
  ln -sfv ../../lib/$(readlink /usr/lib/lib${file}.so) /usr/lib/lib${file}.so
done

コマンド説明

--disable-nftables: This switch disables building nftables compat. Omit this switch if you have installed nftables.

--enable-libipq: 本スイッチは libipq.so をビルドするようにします。 これは BLFS には含めていない他のパッケージにて利用されています。

--with-xtlibdir=/lib/xtables: Iptables モジュールをすべて /lib/xtables ディレクトリにインストールするようにします。

--enable-nfsynproxy: This switch enables installation of nfsynproxy SYNPROXY configuration tool.

ln -sfv ../../sbin/xtables-legacy-multi /usr/bin/iptables-xml: iptables-xml へのシンボリックリンクを相対的なものとします。

Iptables の設定

ファイアウォールの設定手順は、次の節 ファイアウォール設定 にて説明しています。

ブートスクリプト

iptables によるファイアウォールの設定を起動時に有効とするには、blfs-bootscripts-20180105 パッケージに含まれる初期起動スクリプト /etc/rc.d/init.d/iptables をインストールします。

make install-iptables

パッケージ構成

インストールプログラム: ip6tables, ip6tables-restore, ip6tables-save, iptables, iptables-restore, iptables-save, iptables-xml, nfsynproxy (任意ビルド), xtables-multi
インストールライブラリ: libip4tc.so, libip6tc.so, libipq.so, libiptc.so, libxtables.so
インストールディレクトリ: /lib/xtables, /usr/include/libiptc

概略説明

iptables

Linux カーネル内の IP パケットフィルタルール (IP packet filter rules) のテーブルを設定、管理、検証します。

iptables-restore

is used to restore IP Tables from data specified on STDIN. Use I/O redirection provided by your shell to read from a file.

iptables-save

is used to dump the contents of an IP Table in easily parseable format to STDOUT. Use I/O-redirection provided by your shell to write to a file.

iptables-xml

is used to convert the output of iptables-save to an XML format. Using the iptables.xslt stylesheet converts the XML back to the format of iptables-restore.

ip6tables*

are a set of commands for IPV6 that parallel the iptables commands above.

nfsynproxy

(optional) configuration tool. SYNPROXY target makes handling of large SYN floods possible without the large performance penalties imposed by the connection tracking in such cases.

xtables-multi

is a binary that behaves according to the name it is called by.

最終更新日: 2018-08-19 06:53:19 +0900