Top >>FreeBSD >>ipfw でパケット転送がうまくいかない
21 July 2008
ipfw でパケット転送がうまくいかない
マニュアルページをよく見ると,他のマシンへ転送するには
ポート番号が無視され,そのまま転送されるので
プロクシーサーバーには届かないことになる
ローカルでプロクシーサーバーを立ち上げる必要があるのか。
日本語マニュアルより抜粋
fwd | forward ipaddr[,port]
適合したパケットの次のホップを ipaddr に変更します。これには IP
アドレスまたはホスト名が使用できます。このルールに適合した場合、 検索は終了します。
ipaddr がローカルアドレスの場合、適合したパケットはローカルマシン の port (または、ルールで指定されていない場合はそのパケットのポー ト番号) に転送されます。
ipaddr がローカルアドレスでない場合、ポート番号は (指定されていても) 無視され、パケットはローカルな経路テーブルに存在するその IPに対する経路を使用してリモートアドレスに転送されます。
fwd ルールはレイヤ 2 パケット (それらは ether_input, ether_output, bridged で受信されます) には適合しません。
fwd アクションはパケットの内容をまったく変更しません。実際、宛先アドレスが修正されずに残るので、転送先システムがそのようなパケッ トを取り込むルールを持たない限り、他のシステムに転送されたパケットは、通常転送先のシステムで拒否されます。ローカルに転送されるパケットの場合、ソケットのローカルアドレスはパケットが元々持っていた宛先アドレスに設定されます。このことによって netstat(1) が出力するエントリは若干奇妙な見え方になりますが、これは透過プロキシサーバでの使用を意図しています。
fwd を有効にするには、カーネルをオプション options IREWALL_FORWARD を付けてコンパイルすることが必要です。
ポート番号が無視され,そのまま転送されるので
プロクシーサーバーには届かないことになる
ローカルでプロクシーサーバーを立ち上げる必要があるのか。
日本語マニュアルより抜粋
fwd | forward ipaddr[,port]
適合したパケットの次のホップを ipaddr に変更します。これには IP
アドレスまたはホスト名が使用できます。このルールに適合した場合、 検索は終了します。
ipaddr がローカルアドレスの場合、適合したパケットはローカルマシン の port (または、ルールで指定されていない場合はそのパケットのポー ト番号) に転送されます。
ipaddr がローカルアドレスでない場合、ポート番号は (指定されていても) 無視され、パケットはローカルな経路テーブルに存在するその IPに対する経路を使用してリモートアドレスに転送されます。
fwd ルールはレイヤ 2 パケット (それらは ether_input, ether_output, bridged で受信されます) には適合しません。
fwd アクションはパケットの内容をまったく変更しません。実際、宛先アドレスが修正されずに残るので、転送先システムがそのようなパケッ トを取り込むルールを持たない限り、他のシステムに転送されたパケットは、通常転送先のシステムで拒否されます。ローカルに転送されるパケットの場合、ソケットのローカルアドレスはパケットが元々持っていた宛先アドレスに設定されます。このことによって netstat(1) が出力するエントリは若干奇妙な見え方になりますが、これは透過プロキシサーバでの使用を意図しています。
fwd を有効にするには、カーネルをオプション options IREWALL_FORWARD を付けてコンパイルすることが必要です。
TrackBack
トラックバックフォームComments
No comments yet
Add Comments
このBlogへコメントを追加するにはメンバーとしてログインしなければいけません。