[FreeBSD-users-jp 95499] Re: ipfwで特定IP以外の接続を転送したい

Hiroo Ono (小野寛生) hiroo.ono+freebsd at gmail.com
Tue Mar 31 02:38:57 UTC 2015


小野寛生です。

2015年3月31日 1:30  <zen-freebsd-users at suzuki.que.ne.jp>:
> 鈴木@葛飾区です。
> なんか、最初のご質問を私読み違えてますね。。。リモートへの転送と大変な
> 勘違いで。。
>
> fwd 127.0.0.1,2222 なのでローカルへの転送なのでnatを使うまでもなくルー
> ルにマッチすれば2222に転送されるはずですね。。。

私もそう思ってはじめはコメントするのを控えたのですが、「BSDカーネルの設計と実装」13.4節に
“ホストが複数のアドレスを持っている場合、パケットはその送信先がこれらのどれかに一致すれば受け入れられる。”
とありますので、127.0.0.1:2222 に届いたけれども、パケットの宛先アドレスとポート番号を見て
192.168.11.3:22 宛のパケットという処理がされているのではないかと思います。
ということで、パケットを書き換える NAPT が必要という指摘は正しいはずです。
よくわかっていませんが。

ipfw の nat コマンドは、私のいい加減な理解では libalias をカーネルに持ってきたものだと思いますので、
natd を使うか、ipfw nat を使うか、ng_nat を使うかは、ユーザーランドで処理をするか、カーネル内で処理をするかの違い程度だと思います。


More information about the freebsd-users-jp mailing list