問題ID : 9756など : iptables nat テーブルのINPUT チェイン

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-6-11 0:17 | 最終変更
tnishita2  長老   投稿数: 123
問題ID : 9756のほか、9669の解説など多数に影響するトピックです。

> iptablesにおいて、テーブル「nat」を指定した場合にデフォルトで使用できるチェインはOUTPUT、PREROUTING、POSTROUTINGです。

とありますが、手元のUbuntu 20.04 でman iptables を確認したところ、nat テーブルはデフォルトで4つ、PREROUTING, INPUT, OUTPUT, POSTROUTING で構成される、とあります。よってINPUT も正解です。

興味深いのは、「ここ数年でINPUT も使えるようになったようですが、最新の事情に少し追い付いていなかっただけのこと。LPIC のような資格試験では最新の事情ではなく、問題作成時の事情に合わせて回答すべき」というよくある話ではなく、どうやら相当前(10年以上前)からINPUT も使えたようなのです。

iptables 1.6.1(2017-01-27リリース)で、以下のコミットがリリースされましたが、

https://git.netfilter.org/iptables/commit/?id=d7b813f0a097f81c5781a6a6f08c1d41a4affead

これはman の記述が間違っていたのを直しただけで、nat のINPUT 自体はずっと前から使用できて、man iptables-extensions には前から書いてあった、とあります。そこを確認してみると、

> Kernels prior to 2.6.36-rc1 don't have the ability to SNAT in the INPUT chain.

とあり、カーネル2.6.36-rc1は2010-08-15リリースですので、10年以上前の話です。

「nat テーブルではINPUT チェインは使えない」という間違った情報が広まってしまった残念な事例ということになると思いますが、訂正・補足しておいたほうがよいかもしれません。資格試験出題者側も、もしこのことにまだ気づいておらず問題ID 9756のような出題を続けているなら、情報のアップデートを期待したいです。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.