Samba 3.2でホスト名によるアクセス制御が機能しない
提供:Samba-JP
ナビゲーションに移動検索に移動
KB番号 | J0099 |
最終更新日 | 2008/10/31 |
作成者 | たかはしもとのぶ |
最終更新者 |
対象
この文書は、以下のプロダクトに付いて説明したものです。
- Samba 3.2 系列
- Samba 3.0 系列
現象
Samba 3.0 系列で hosts allow および hosts deny パラメータを用いてホスト名でアクセス制御を行っていた場合、Samba 3.2 系列に移行すると、アクセス制御が期待した動作をしない場合があります。
説明
これは、Sambaの仕様です。
Samba 3.2 系列を IPv6 が有効な環境で動作させると、以下のように IPv4 アドレスでのアクセスが、IPv6 互換アクセスとして記録されます。
[2008/10/31 12:17:33, 2] lib/access.c:check_access(406) Allowed connection from (::ffff:192.168.135.1)
このため、たとえば以下のようにホスト名でアクセス制御を行っていた場合
hostname lookups = yes ... hosts allow = pc1, pc2
/etc/hosts ファイルで
192.168.135.1 pc1
のような記述をしても、192.168.135.1 と ::ffff:192.168.135.1 が別のアドレスだと解釈され、意図した動作が行われません。
この際、以下のようなログが記録されます。
[2008/10/31 11:46:43, 0] lib/util_sock.c:matchname(1669) matchname: host name/address mismatch: ::ffff:192.168.135.1 != pc1 [2008/10/31 11:46:43, 0] lib/util_sock.c:get_peer_name(1790) Matchname failed on pc1 ::ffff:192.168.135.1
上記の場合、/etc/hosts ファイルに
::ffff:192.168.135.1 pc1
のような記述を行うことで期待した動作が行われます。