Samba4winsのインストールと設定のソースを表示
提供:Samba-JP
←
Samba4winsのインストールと設定
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループに属する利用者のみが実行できます:
登録利用者
。
ページ
名前空間にあるページを編集する権限がありません。
このページのソースの閲覧やコピーができます。
ドイツの[http://www.sernet.de/ SerNet]という組織により、開発中のSamba 4.0系列のソースコードからWINSサーバ部分を抜粋して実行可能な形式としたsamba4winsというプロダクトがリリースされています。 このsamba4winsを用いることで、WINSの複製を実現することが可能です。 以下インストールと設定方法について説明します。 == samba4wins のインストール == 以下、Fedora Core 5(以下FC5)とDebian GNU/Linux 3.1(以下sarge)へのインストールを例に説明を行ないます。 なお、詳細は後述しますが、基本的にsamba4winsはSambaが動作しているマシンで動作させることができません。そのため、以下の作業はSambaを動作させていないマシン上で行なうことが必要です。 === FC5 へのインストール === samba4winsのソースや各種プラットフォーム向けのパッケージはhttp://ftp.sernet.de/pub/samba4WINS/ で配布されています。FC5用のパッケージはないのですが、http://ftp.sernet.de/pub/samba4WINS/rhel4-i386/samba4wins-1.0.4-22.i386.rpm にあるRPMパッケージを使うことができます。 パッケージをダウンロードの上、以下のようにrpmコマンドを用いてインストールしてください。 <pre> # rpm -ivh samba4wins-1.0.4-22.i386.rpm Preparing... ########################################### [100%] 1:samba4wins ########################################### [100%] </pre> === sargeへのインストール === 環境が整っていれば、sargeへのインストールの方が簡単でしょう。 http://ftp.sernet.de/pub/samba4WINS/debian/pool/README.txt に記載のとおり、/etc/apt/sources.listファイルの末尾に以下の行 deb http://ftp.sernet.de/pub/samba4WINS/ debian/ を追加の上、以下のようにしてインストールを行ないます。 <pre> # apt-get update Hit http://ftp.sernet.de debian/Packages Hit http://ftp.sernet.de debian/Release (中略) Reading Package Lists... Done # apt-get install samba4wins Reading Package Lists... Done ##以下、途中は適宜省略してください。 Building Dependency Tree... Done The following NEW packages will be installed: samba4wins 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 0B/7936kB of archives. After unpacking 23.1MB of additional disk space will be used. Selecting previously deselected package samba4wins. (Reading database ... 15491 files and directories currently installed.) Unpacking samba4wins (from .../samba4wins_1.0.4-1_i386.deb) ... Setting up samba4wins (1.0.4-1) ... </pre> === ソースからのインストール === パッケージからのインストールがうまくできない環境でも、ソースからのインストールを行なうことでsamba4winsを動作させることが可能です。以下、簡単に手順を説明します。 '''(1) ソースコードの入手''' 実は、samba4winsのソースコードはSRPM形式でのみ入手可能です。そのため、http://ftp.sernet.de/pub/samba4WINS/src/samba4wins-1.0.4-22.src.rpm を取得の上、ソースコードを取り出す必要があります。RPMが扱える環境であれば、rpm2cpio コマンドとcpioコマンドを以下のように組み合わせることで可能です。 <pre> $ rpm2cpio samba4wins-1.0.4-22.src.rpm | cpio -id $ ls -l total 12712 -rwxr-xr-x 1 root root 1493 Aug 20 17:12 samba3-find-debuginfo.sh -rwxr--r-- 1 monyo monyo 6446678 Aug 3 13:58 samba4wins-1.0.4-22.src.rpm -rw-r----- 1 root root 33935 Aug 20 17:12 samba4wins-1.0.4.diff -rw-r----- 1 root root 16068 Aug 20 17:12 samba4wins-1.0.4-HOWTO.txt -rw-r----- 1 root root 1231 Aug 20 17:12 samba4wins-1.0.4-NEWS.txt -rw-r----- 1 root root 1028 Aug 20 17:12 samba4wins-1.0.4-README.txt -rw-r----- 1 root root 2374 Aug 20 17:12 samba4wins-1.0.4-TODO.txt -rw-r--r-- 1 root root 6451015 Aug 20 17:12 samba4wins-13163.tar.bz2 -rw-r--r-- 1 root root 364 Aug 20 17:12 samba4wins.conf -rw-r--r-- 1 root root 869 Aug 20 17:12 samba4wins.files -rw-r--r-- 1 root root 6256 Aug 20 17:12 samba4wins.spec -rwxr-xr-x 1 root root 1689 Aug 20 17:12 smbd4wins.init.rh -rwxr-xr-x 1 root root 2272 Aug 20 17:12 smbd4wins.init.suse </pre> '''(2)コンパイルとインストール''' 以下のようにコンパイルとインストールを行います。 <pre> $ tar xjf samba4wins-13163.tar.bz2 $ cd samba4wins $ patch -p0 < ../samba4wins-1.0.4.diff patching file source/VERSION patching file source/client/config.mk patching file source/gtk/config.mk (中略) patching file source/utils/config.mk patching file source/utils/net/config.mk patching file source/wrepl_server/wrepl_in_call.c $ cd source $ ./autogen.sh: running script/mkversion.sh ./script/mkversion.sh: 'include/version.h' created for Samba("4.0.0tp2-SVN-build-UNKNOWN"\ ) ./script/mkversion.sh: with VENDOR_SUFFIX = "SerNet-samba4wins-patch-tree" ./autogen.sh: running autoheader ./autogen.sh: running autoconf Now run ./configure and then make. $ ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu SAMBA VERSION: 4.0.0tp2-SVN-build-UNKNOWN (以下省略) </pre> configureオプションについては、機能上意味のあるオプションはありません。ただし各種ファイルのインストール先を指定するオプションは有効ですので、必要に応じて適宜設定してください。 デフォルトのインストール先は/usr/local/sambaです。ここでは--prefix=/usr/local/samba4winsオプションを指定してインストールを行ないました。 '''(3) 各種設定の実施''' 設定自体は、パッケージでインストールを行った場合と変わりません。ただし、各種ファイルが/usr/local/samba(デフォルトのインストール先の場合)以下に配置されていますので、以下の説明ではファイルの場所について適宜読み替えてください。 ==samba4winsの設定== 以下、設定を行っていきます。なお、冒頭で記載したように、設定を行なうマシンでSambaが動作していないことを再度確認しておいてください。 === 複製パートナの設定 === まずはsamba4wins側のWINSデータベースの複製先を指定します。最低限必要な情報は複製先のWINSサーバのNetBIOS名とIPアドレスです。以下のようにして登録を行ないます。 # ldbedit -H /var/lib/samba4wins/private/wins_config.ldb -a 標準の設定だとviエディタがあらかじめ数行の情報が入力された状態で起動しますので、以下のように情報を追加します。必要な複製パートナ分同様の情報を追加します。なお、先頭が「dn:」から始まる行が新たなエントリの始まりとして認識されます。 <pre> # editing 1 records # record 1 dn: @BASEINFO distinguishedName: @BASEINFO sequenceNumber: 1 dn: CN=MISAKO,CN=PARTNERS ←以下の3行を追加 objectClass: wreplPartner address: 192.168.10.110 ※複製パートナとなるWINSサーバのNetBIOS名がMISAKOでIPアドレスが192.168.10.110の場合の例 (dn: CN=...)←複数のWINS複製パートナを追加する場合は、引続き「dn:」行を記載する。 </pre> 複製対象がWindowsサーバの場合、Windowsサーバ側では、通常通り「新しいレプリケーション パートナー」メニューからサーバの追加を行なってください。 samba4winsサーバ同士で複製を行なう場合は、両方のサーバでldbeditコマンドによる設定を行なってください。 === LDBファイルに設定可能な値の一覧 === 先ほどは、WINS複製パートナ構成時に最低限設定が必要な属性を紹介しました。実際は他にも以下のような属性を指定可能です。なお明示的に指定しなかった場合は、デフォルト値が設定されます。 <pre> 属性, デフォルト値, 意味 dn, CN=複製先のNetBIOS名,CN=PARTNERS, エントリを一意に識別する値 objectClass, wreplPartner, WINS複製パートナオブジェクトであることを識別する address, - , WINS複製パートナのIPアドレス type, 0x3, 0:無効/1:プッシュパートナ/2:プルパートナ/3:プッシュ、プルパートナ pullInterval, 1800, プル複製を行なう間隔(秒単位)、0はプル複製無効を意味する pullRetryInterval, 30, プル複製のエラー発生時のリトライ間隔 pushChangeCount, 0, プッシュ複製に必要なデータベースの変更量。0はプッシュ複製無効を意味する pushUseInform, 0, 0:複製に固定接続を使用しない/1:固定接続を使用する outAddress, (自動選択) , 複製に用いる送信元IPアドレス、IPアドレスが複数存在している環境では指定を推奨 </pre> === samba4wins.confの設定 === samba4winsでは /etc/samba4wins/samba4wins.conf ファイルで設定の一部を行ないます。このファイルはsmb.confと同じ文法になっていますが、有効なパラメータはごく一部に限定されています。 実はファイルが存在さえしていれば、空ファイルでも動作しますが、最低限netbios nameパラメータを既存のWindowsマシン(やSambaサーバー)と重複しない名前に設定しておくことをお勧めします。ここでは以下のようにNetBIOS名をWINSSVにした場合について説明を行ないます。 [global] netbios name = WINSSV そのほか、samba4wins.conf で設定可能なパラメータの一覧を以下に示します。 <pre> パラメータ名, デフォルト値, 意味, netbios name, マシンのホスト名, smb.confと同義です。 workgroup, WORKGROUP, 同上 log level, 0, 同上 interfaces, (空文字列), 同上 bind interfaces only, no, 同上 dns proxy, yes, 同上 wins hook, (空文字列), 同上 max wins ttl, 同上 min wins ttl, 同上 nbtd:disable_broadcast, no, ブロードキャストアドレス上で137/udpの受信をリッスンを無効にするかどうかを制御する。デフォルトは無効にしない(リッスンする)。 winsdb:local_owner, (自動), 登録された各エントリの所有者(IPアドレス)を指定する wreplsrv: renew_interval, 518400(6日),レコードの解放を行なう時間間隔(秒単位) wreplsrv:tombstone_interval, 518400(6日),レコードの破棄を行なう時間間隔(秒単位) wreplsrv:tombstone_timeout, 86400(1日), 破棄されたレコードがデータベースから削除されるまでの時間(秒単位) wreplsrv:tombstone_extra_timeout, 破棄されたレコードをデータベースから削除するまでに最低限保持が必要な時間(秒単位) wreplsrv:verify_interval, 2073600(24日), 検証を行なう間隔(秒単位) wreplsrv:scavenging_interval, (wreplsrv:renew_intervalパラメータの値), データベースの清掃を行なう間隔(秒単位) wreplsrv:periodic_interval, 15, wins.ldbやwins_config.ldbファイルの変更をチェックする間隔(秒単位) </pre> === samba4winsの起動と動作の確認 === ここまでの設定が終わったら、早速samba4winsを起動してみましょう。起動方法は若干ディストリビューション依存ですが、FC5であれば # /etc/init.d/smbd4wins start sargeであれば、 # /etc/init.d/samba4wins start で起動するはずです。psコマンドなどでsmbd4winsプロセスが存在していることを確認してください。 WINS複製が正常に行われている場合、Windows側のツールからプッシュおよびプル複製を行なった後で確認すると、samba4winsのWINSサーバ経由のエントリが複製されていることが確認できます。 Samba側では、以下のようにldbsearchコマンドを実行することで、Windowsサーバ側から複製されたエントリが表示されることで確認が可能です。 <pre> # ldbsearch -H /var/lib/samba4wins/wins.ldb # returned 45 records # record 1 dn: name=AYA,type=0x03 distinguishedName: name=AYA,type=0x03 type: 0x03 name: AYA objectClass: winsRecord recordType: 0 recordState: 0 nodeType: 3 isStatic: 0 expireTime: 20060816015031.0Z versionID: 16 winsOwner: 192.168.10.15 address: 192.168.10.232;winsOwner:192.168.10.15;expireTime:20060816015031.0Z; registeredBy: 192.168.10.232 # record 2 dn: name=W2003AD1,type=0x00 distinguishedName: name=W2003AD1,type=0x00 type: 0x00 name: W2003AD1 objectClass: winsRecord recordType: 1 recordState: 0 nodeType: 0 isStatic: 0 expireTime: 20060905150114.0Z versionID: 7 winsOwner: 192.168.149.110 address: 192.168.149.110;winsOwner:192.168.149.110;expireTime:20060905150114.0Z; (以下略) ※AYA<03>とW2003AD1<00>の存在が確認できる。なお各項目の意味についてはsamba4winsのドキュメ\ ントなどを参照のこと。 </pre> このように比較的簡単な設定で、Windowsサーバとも複製可能なWINSサーバを構築することが可能です。 === ldbsearchの出力内容 === 上記の ldbsearch の出力内容では、本文で説明したエントリ以外にも多くの情報が出力されています。これらの意味について以下に記載しておきます。これらはldbeditコマンドで修正することが可能です。 なお、LDBとはSamba 4.0系列で導入予定のLDAPライクな簡易データベースで、ldbeditやldbsearchはLDBの操作ツールという位置付けになります。 <pre> エントリ名, 意味 dn, LDAPのDN名に相当し、各オブジェクトを一意に識別する識別子 distinguishedName, LDAPのdistinguishedNameに相当、システム上特に意味はない type, NetBIOS名のプレフィックス name, NetBIOS名 objectClass, 必ずwinsRecordが指定される recordType, 0:ユニーク名/1:グループ名/2:特殊なグループ名(0x1Cなど)、3:マルチホーム recordState, 0:アクティブ/1:解放済/2:破棄(tombstone)済 nodeType, 0:Bノード、1:Pノード、2:Mノード、3:Hノード isStatic: 0:動的エントリ/1:静的エントリ expireTime, 有効期限 versionID, バージョンID(所有者内で一意に付与されるID) winsOwner, 所有者(該当エントリが登録されたサーバのIPアドレス) address, 該当エントリのIPアドレスにwinsOwnerとexpireTimeを付加したもの </pre> == Sambaサーバとの共存 == 冒頭で、samba4winsサーバとSambaサーバの共存はできないと記載しました。これは両方のプロセスが同一のポートを使用するためです。ただし、同一のマシンに複数のIPアドレスを付与して、Sambaとsamba4winsを別々のIPアドレスで動作させることは可能です。ちょっと複雑ですが、以下192.168.10.15と192.168.10.16という2つのIPアドレスを持つマシン上で192.168.10.15ではSambaを、192.168.10.16ではsamba4winsを動作させる設定を行ないましょう。 === Samba側の設定 === Samba側では、以下の設定を行ないます。 <pre> [global] ... interfaces = 192.168.10.15 bind interfaces only = yes socket address = 192.168.10.255 wins server = 192.168.10.16 </pre> interfaces/bind interfaces onlyパラメータにより、基本的にSambaが192.168.10.15のみを利用するように構成します。加えて、socket addressパラメータにより、ブロードキャストアドレスを明示的に指定します。このパラメータを設定しないと、ブロードキャストアドレスが 0.0.0.0に設定されます。 一方、samba4wins側ではsamba4wins.confに以下の設定を行ないます。 <pre> [global] ... interfaces = 192.168.10.16 bind interfaces only = yes wins server = 192.168.10.16 nbtd:disable_broadcast = yes winsdb:local_owner = 192.168.10.16 </pre> nbtd:disable_broadcastパラメータは137/udpをブロードキャストアドレスで待ち受ける動作を抑止します。これによりポートの重複をなくします。winsdb:local_ownerパラメータは各エントリが登録されたマシンのIPアドレス情報(所有者情報)として設定するIPアドレスを明示します。これにより、netstatコマンドの出力は以下のようになり、同一マシン上での共存が実現します。 <pre> tcp 0 0 192.168.10.16:42 0.0.0.0:* LISTEN ← WINS複製の受付 tcp 0 0 192.168.10.16:51409 192.168.10.110:42 ESTABLISHED ← WindowsサーバからのWINS複製コネクション udp 0 0 192.168.10.16:137 0.0.0.0:* ← クライアントマシンからのWINS名前登録、解放の受付 ↓以下nmbdが受付しているアドレス udp 0 0 192.168.10.15:137 0.0.0.0:* udp 0 0 192.168.10.255:137 0.0.0.0:* udp 0 0 192.168.10.15:138 0.0.0.0:* udp 0 0 192.168.10.255:138 0.0.0.0:* </pre> ※説明のため、出力順の並び変えや不要な行の削除を行なっています。 == 参考 == * [http://www.ossexpo.net/wiki/index.php/Samba4Wins samba4wins] * [http://sourceforge.net/projects/samba4wins-tool samba4wins administration tool]
Samba4winsのインストールと設定
に戻る。
案内メニュー
ページ操作
ページ
議論
閲覧
ソースを閲覧
履歴
ページ操作
ページ
議論
その他
ツール
個人用ツール
ログイン
案内
メインページ
Sambaとは
メーリングリスト
Samba技術情報
マニュアル(4.20.4対応)
マニュアル(旧ver)
マニュアル(3.6.22対応)
公式のSamba3-HOWTO(β版:4.6.6対応)
公式のSamba3-HOWTO(β版:3.6まで)
Samba3開発者ガイド(β版)
プロジェクト
イベント
リンク
有料サポート等
ユーザー会
本家
お問い合わせ
ご支援&ご協力
最近の更新
ヘルプ
検索
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報