問題ID:10794 iptables

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 .9 | 投稿日時 2021-10-8 23:21 | 最終変更
motu1980  常連   投稿数: 11
iptablesのnatテーブルにおいて、INPUTチェインが利用可能という問題および解説になっています。
(問題の解答も、解説文も、解説の図もそうなっています。)

natテーブルでINPUTチェインは利用可能でしょうか。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-9 0:57 | 最終変更
tnishita2  長老   投稿数: 123
nat テーブルでINPUT チェインは10年以上前から利用可能です。詳細は以下をご参照ください:

[LPIC 303][ネットワークセキュリティ] 指摘・質問 まとめ
https://ping-t.com/modules/forum/index.php?topic_id=4965
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021-10-9 8:22 | 最終変更
motu1980  常連   投稿数: 11
tnishita2さん、情報ありがとうございます!

こちらのインプレスの書籍では、natテーブルにおけるINPUTチェインは利用できないことになっており混乱しています。
https://www.amazon.co.jp/dp/4295001562/ref=cm_sw_em_r_mt_dp_MYYY1ZH9XMB79TWYRJZ7

また、手元のCentOSにおいても、以下のとおりです。

------------
# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# uname -a
Linux centos 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
# iptables --version
iptables v1.4.21
# man iptables
...skipping...
nat:
This table is consulted when a packet that creates a new connection is encountered. It consists of three built-ins: PREROUTING (for altering packets
as soon as they come in), OUTPUT (for altering locally-generated packets before routing), and POSTROUTING (for altering packets as they are about to
go out). IPv6 NAT support is available since kernel 3.7.
------------


上記の通り、natテーブルでINPUTチェインは利用できません。
ご指摘のとおり、こちらのman誤りということでしょうか。
https://git.netfilter.org/iptables/commit/?id=d7b813f0a097f81c5781a6a6f08c1d41a4affead

iptablesのバージョンに依存するということであれば、バージョンを指定した上で問わなければ、
このような混乱が生まれると思うのですがいかがでしょうか。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-9 9:23
motu1980  常連   投稿数: 11
Ubuntuでも確認してみました。こちらのmanでは更新されていますね。

------------
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ uname -a
Linux ubuntu-utc 5.11.0-37-generic #41~20.04.2-Ubuntu SMP Fri Sep 24 09:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ iptables --version
iptables v1.8.4 (legacy)
$ man iptables
...skipping...
nat:
This table is consulted when a packet that creates a new connection is encountered. It consists of four built-ins: PREROUTING (for altering packets
as soon as they come in), INPUT (for altering packets destined for local sockets), OUTPUT (for altering locally-generated packets before routing),
and POSTROUTING (for altering packets as they are about to go out). IPv6 NAT support is available since kernel 3.7.
------------
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-9 17:47 | 最終変更
tnishita2  長老   投稿数: 123
まずインプレスの書籍の件ですが、Ping-t 様でも2021年6月に私が指摘するまでは間違っていたので、挙げていただいたインプレスの書籍など、他にも間違っている書籍などがあっても不思議ではありません。

よろしければ私がPing-t 様に指摘して直してもらったように、インプレスに問い合わせてみてください。もし私が間違っているなら正してもらいたいです。

次にCentOS の件ですが、man が修正されたのはiptables 1.6.1ですので、CentOS 7.9が採用しているiptables 1.4.21では直っていないのは不思議ではありません。CentOS は最新版を追い求めるようなディストリビューションではありませんので仕方ないでしょう。CentOS 8.4はiptables 1.8.2らしいので直っていると思います。

> 上記の通り、natテーブルでINPUTチェインは利用できません。
> ご指摘のとおり、こちらのman誤りということでしょうか。

はい、私が調べた情報から考えるとそうです。なお、間違っているのはman だけであって、CentOS 7でもnat テーブルでINPUT チェインは利用できるはずです(実際に試してはいないですが)。

> iptablesのバージョンに依存するということであれば、バージョンを指定した上で問わなければ、このような混乱が生まれると思うのですがいかがでしょうか。

いえ、間違っていたのはman だけですから、実際の動作としてはiptables 1.6.1より前でも使えたのです。ですから問題文に「iptables 1.6.1より前の場合、」とかつけても解決にはなりません。(もちろん、10年以上ずっと前にさかのぼれば使えなかったバージョンもあるでしょうが、その頃の話は除外してよいと思います。)

混乱が起こってしまったのは残念ですが、今私たちができることは、これ以上間違いが広まらないよう、過去の間違った情報を正していくよりないと思います。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-9 19:27 | 最終変更
motu1980  常連   投稿数: 11
tnishita2さん、ありがとうございます。

間違った情報が広がっているのは怖いですね。例えばこのように。
https://qiita.com/Tocyuki/items/6d90a1ec4dd8e991a1ce#%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%A8%E3%83%81%E3%82%A7%E3%82%A4%E3%83%B3%E3%81%AE%E5%AF%BE%E5%BF%9C%E8%A1%A8

インプレスには、問い合わせを出しておきました。
回答があれば共有させていただこうと思います。

本件モヤモヤしつつ、本日303を受験し合格できました。本件関連の問題は出ませんでした。。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-18 19:13 | 最終変更
motu1980  常連   投稿数: 11
インプレスより、以下の回答がありました。

=================================
こちらの件ですが、執筆時のiptablesのバージョンは1.4.21となります。
その際、動作確認を行い、またmanでマニュアル確認を実施しましたが、
「INPUT」は含まれておりませんでした。
そのため、本書の記載には「INPUT」を含めておりません。

お問合せいただき、ありがとうございました。
=================================

そのmanに誤りがあると申し上げているのですが。。。
と、再質問しています。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-19 20:03 | 最終変更
tnishita2  長老   投稿数: 123
motu1980さん、情報共有ありがとうございます。

「動作確認を行い、また〜」とあるので、man だけでなく実際の動作確認もした、と私には読み取れました。前述の通り、私は実際の動作確認まではしていないので、もし本当に実際に試しており、またその記録が今まで残っているとしたら、素晴らしいです。ただその場合、なぜ私の調査結果と食い違うのかという新たな謎が生まれるのですが…。

興味深く続報を待たせていただきます。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-25 21:41
motu1980  常連   投稿数: 11
再質問に対する回答がありましたので、共有します。

=================================
再度確認したところ、
ご指摘どおり誤記がありましたので訂正いたします。

正誤表にて記載いたしました。
https://book.impress.co.jp/books/1116101081#box-errata

・257p
・298p
・313p

ご指摘いただきまして、ありがとうございました。
=================================

私も、"man だけでなく実際の動作確認もした"と捉えましたが、
「動作確認を行い、また〜」についての言及はありません。

確認されていないのでしょう。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-26 19:56
tnishita2  長老   投稿数: 123
情報共有ありがとうございます。

たくさん訂正がある本なのですね…。

> [誤]
>  
> 多数の誤記があり、読者の皆様には大変ご迷惑をお掛けしております。誠に申し訳ございません。

という訂正に少し笑ってしまいました。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-10-26 21:25
motu1980  常連   投稿数: 11
tnishita2さん

> たくさん訂正がある本なのですね…。

ええ。。先にこの正誤表を確認していたら、私は購入しませんでした...

  >フォーラム検索へ


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