2010-01-14

Mac Mini を使ってみる

 弊社の Mac OS X 環境を最新のものにするため、Mac OS X 10.6 Snow Leopard がプリインストールされている Mac Mini を購入して動かしてみました。
 以下、Mac Mini の接続とセットアップについて書いてみることにします。

さっそく接続

 Mac Mini には モニタ、マウス、キーボード等の周辺機器が付属していないため、Windows 環境で利用している 2 台切替用の KVM スイッチにこの Mac Mini を接続しました。


(Mac Mini を KVM スイッチに接続したときの様子)

 現在使っている KVM スイッチは、ELECOM 社の KVM-KP2N というモデルです(Shift + Scroll Lock キーでマシン切替)。 上の完成写真をご覧頂くとわかるように、PS/2 マウスおよび PS/2 キーボードのコネクタと、VGA 端子による構成ですので、Mac Mini 本体に接続するには、USB 変換、VGA 変換が必要となります。

 PS/2→USB 変換は ELECOM 社の USB-P2KM という変換パーツを使い、キーボード・マウスの 2 つのPS/2 端子を 1 本の USB 端子に纏めました。

 Mac Mini に付属のビデオケーブルは DVI なので、これを VGA に変換する必要があるのですが、変換パーツがネットショップで見つからなかったので、Apple 社純正品の Apple Mini DVI-VGAアダプタを別途購入して繋げてみました。 
 Mac Mini に電源を投入すると、モニタ、マウス、キーボードが無事認識されましたので、私と同じように、既存の VGA モニタ、PS/2マウス・キーボードを Mac Mini で共有してみたい方は参考になるかもしれません。

ここまでは良かったが...キーボードで日本語が打てない

 Windows 用の JIS 配列キーボードを Mac 環境に接続した直後は、英数字は打てても日本語が打てません。これはキーボード配列が Mac OS 環境に登録されていないことと、Windows 環境で使っている JIS キーボードの配列が Mac 環境では異なる理由からのようです。
 当然、コマンドキーに相当するキーが認識されない関係で、ことえり切り替えのショートカットキーも利きません。
 いろいろ探し回った結果、以下の有難いサイトに辿り着きました。

Windows用USBキーボードをMacで使う

 このサイトでは、Windows キーボードが Mac で認識されない理由だけでなく、Windows 用のキーボード配列を Mac OS に認識させるファイルのインストーラーまで配布されています。詳細は上記ページをご覧頂くとして、早速インストールと設定を行ったところ、ことえりで日本語入力ができるようになりました。
 ただし、前述したように、コマンドキーに相当するキーは認識されないため、コマンドキー + スペースバーによることえり/英数字切り替えはできません。
 この代わりとして、以下のように [Caps Lock キーの機能]を以下のように設定することで CapsLock キーを押すたびに英字と日本語入力が切り替わるようになります。


その他試した設定

ここまで準備できたら、今後の運用のために必須のマシン環境を整えていきます。
1.ClamXav のインストール
Mac OS 向けに無償で配布されているアンチウィルスソフトウェアです。以下のサイトからダウンロードしてインストールしました。
ClamXav
 常駐監視機能はないようですが(ざっと読んだだけでは見当たらなかった)、定義もまめに更新されているようですので、手動ウィルススキャンツールとしてインストールしておくと良いと思います。
 なお、Server 版の Mac OS X 10.6 Snow Leopard には ClamXav がバンドルされているようです。

2. VNC
 Mac OS 環境を VNC クライアントから閲覧できるようにするには、「システム環境設定」→「共有」を選択し、「画面共有」メニュー項目を選択して“編集...”ボタンを押し、以下のように「VNC 使用者が画面を操作することを許可」という項目にチェックを付けます。


これで VNC クライアントからこの MAC OS の画面を参照できるようになります。接続時が確立された直後に "WriteExact: Socket Error while writing." というエラーメッセージが表示されることがあります。

 接続時の Quick Option が AUTO (auto select best settings) になっていることが原因ですので、他のオプションを選択して接続してみてください。


3.Windows Active Directory への参加
 Windows Active Directory 環境からこの Mac Mini にアクセスさせるには、「システム管理設定」の「共有」から設定を行います。
 左ペインに表示される共有項目より、「ファイル共有」にチェックを付け、右ペインの“詳細設定”ボタンをクリックするとダイアログが表示されますので、この中から「SMB(Windows) を使用してファイルやフォルダを共有」にチェックをつけて、Mac Mini のデフォルト認証アカウントを選択しておきます。


 このダイアログを閉じ、共有するフォルダやディスクを登録し、アクセス権限を付与します。


 次に Active Directory への参加権限を Mac Mini のアカウントに付与します。
 「システム管理設定」の「アカウント」を選択し、表示されるダイアログの左ペインより、「ログインオプション」を選択し、右ペインの一番下に表示されている「ネットワークアカウントサーバ」の“接続...”ボタンを押して Active Directory ドメイン名を入力します。


 すると、次のように[クライアントコンピュータ ID](デフォルトで入力されているので変更不要)、[AD 管理ユーザ]、[AD 管理パスワード]入力欄が表示されますので、Windows Active Directory で使用しているドメイン管理者名およびパスワードを入力し、“ディレクトリユーティリティを開く...”ボタンを押します。


 すると「ディレクトリユーティリティ」ダイアログが開きますので、この一覧に表示されている「Active Directory」にチェックを付けてダブルクリックすると、以下のような画面が開きますので、内容を確認して“バインド...”ボタンを押すと、MacMini が Active Directory 環境で認識されるようになります。

 これで、Windows のエクスプローラからこのマシンおよび共有フォルダにアクセスできるようになります。

がしかし、Mac Mini から Active Directory が参照できず...。

 上記のように設定を行い、Active Directory から Mac Mini 環境にアクセスできるようになったのは良いのですが、未だ Mac Mini 環境から Active Directory を参照できていません。
 Finder から共有(ネットワーク)を見ようとすると、という寂しいアイコンが一つ表示されたままです。
 因みに、Mac OS X 10.3 Panther の頃はここでドメインの一覧が表示されるようになっていたのですが、同じように閲覧できるようにするには、この他にどのような設定を行えばよいのでしょうか...。

 この解決方法をご存じの方がいらっしゃいましたら、情報をいただけると幸いです。

2009-12-25

FileMaker V10による在庫管理、一考 その3

前回作成した在庫アプリ(ZaikoTestV0.fp7)の課題メモ

0.在庫と商品のテーブル分離
複数ユーザによる同時アクセス競合をできるだけ回避するため、在庫と商品のテーブルは分離し、在庫以外の商品情報はもっぱら商品テーブルに持たせる。 在庫テーブルは在庫データ専用とする。

1.競合発生時の処理
1-1 書き込みループ 
ZaikoTestV0.fp7では在庫更新時に競合エラーが発生すると、最終保存時点までRevert(ロールバック)してしまうので、競合するユーザの在庫書き込み処理が終了し、自身の在庫書き込みが成功するまで、書き込みをループさせる(最大ループ数有)。

1-2 遅延オプション
FileMaker Server 10 Advanced を使用すると、スペック的には999ユーザまでが同時アクセス可能となる。 つまり、最大999ユーザが特定の商品の在庫数を同時更新する可能性がある。
人気の新商品のリリース時に膨大な数の受注が想定される場合は、逐次処理を行うのではなく、一定間隔で明細レコードを集計して、在庫を更新するようなオプションを考慮する。 もちろん、在庫の算出は、“一定間隔”の分、遅延する。

2.在庫算出時点
特定の日付を指定して、その日付時点の在庫数を算出する場合は、「商品別末日時点在庫テーブル」を作成して月次処理を行い、この際に各商品の末日時点の在庫数をこのテーブルに書き込む。
これにより、日付指定により在庫を算出する場合でも、クエリの対象となるデータを最大1~2カ月程度に限定できる(高速化)。

以上


【関連リンク】


2012/8/1追記:
当社の在庫管理の講習で使用してるサンプルシステム「FMEasy在庫」を公開しました。フリー版/開発版のダウンロードは→こちら

【FMEasy在庫 の画面】

2009-12-24

FileMaker V10による在庫管理、一考 その2

前回作成した在庫アプリは新規出庫しか在庫と連動していなかったので、出庫伝票の更新/削除時も在庫が変更するように、修正してみた。 どんなものか見てみたい方は下記からどーぞ(パスワードはかかってませんよ)




【関連リンク】

2012/8/1追記:
当社の在庫管理の講習で使用してるサンプルシステム「FMEasy在庫」を公開しました。フリー版/開発版のダウンロードは→こちら

【FMEasy在庫 の画面】

ODBC ドライバ DataDirect SequeLink を使って FileMaker Pro にアクセスしたときの問題点

 FileMaker Pro 対応の ODBC ドライバは DataDirect SequeLink となっていますが、今回はこのドライバを使って FileMaker Pro にアクセスした場合の問題点について書いていきます。

備考:
1. php から ODBC 接続する方法として PDO を使っています。PDO を有効にするには、php.ini の以下の行を追加し、Web サーバを再起動しておく必要があります。

  extension=php_pdo.dll
  extension=php_pdo_odbc.dll

2. PDO ではシステム DSN を指定する必要があるため、SequeLink ドライバを指定して適当な名前のシステム DSN を事前に登録しておく必要があります。
php ソースの記述例は次のとおりです。
//$dbh = new PDO ("odbc:DSN=データソース名;UID=ユーザー名;PWD=パスワード");

try {
     $pdo = new PDO("odbc:dsn=test;host=127.0.0.1", "Admin", "somePWD");
 $sql = "select * from testdb where recno=1";
 $rec = $pdo->query($sql);
               //レコードセットから特定の列を取りだすときは bindColum を使用
 $rec->bindColumn("ID", $ID);
     $rec->fetch();

 echo $ID;

} catch(PDOException $e){
    var_dump($e->getMessage());
}

 上記のような php スクプトを連続操作を実行すると、ODBC ドライバの動作が不安定になることがわかりました。
 
 返されたエラーは次のとおりです。

1) Session refused by service, connection closed.

 このエラーはサーバプロセスが接続要求を受理できなかったときに発生します。
 このエラー発生後、FileMaker Pro ファイルを閉じたり、一度 Windows をログオフしたりしたのですが、それでも現象が改善せず、マシンを再起動することによってようやく復旧しました。

2) Maximum number of sessions reached.

 このエラーは設定済のアクティブセッション数を超過した場合に発生し、その後のクライアント接続要求は拒否されてしまうようです。
 このエラー発生後、ファイルメーカー Pro ファイルを一度閉じることによって復旧しました。

 以下のサイトにエラーコードの一覧が用意されていますので、その他のエラー内容と原因も参照できます。
SequeLink のエラーメッセージ一覧

 ただ、これだけ動作が不安定だと、ODBC 接続実験としては面白いですが、とても運用レベルには耐えられないという印象です。また、CD に付属の SequeLink は 64bit 対応ではないため、別途購入する必要がある(しかも金額不明)というのも利用者を遠ざける原因になってしまうかもしれません。
SequeLink® 5.5 Client for ODBC 製品紹介ページ


ODBC 接続に関する続きの記事はこちら:
API 別/サーバ別FileMaker カスタムWebパフォーマンス比較

2009-12-22

IIS の php から FileMaker Pro ファイルをオープンするのに四苦八苦

 Windows Server 2003 の IIS で php ファイルから FileMaker Pro ファイルを開くという操作を試しているのですが、どうもうまくいきません。

【目標】
 IIS で公開されている test.php というファイルからサーバディスクに配置した dbopen.vbs を起動し、vbs から FileMaker Pro ファイル test.fp7 を開く。

dbopen.vbs の中身は次のとおりです。ここでは、FileMaker Pro アプリケーションのインスタンスを作成し、それからローカルコンピュータの test.fp7 を開いて showMSG というスクリプトを実行するという流れになっています。このファイルを作って単独で実行すると正常に動作することは確認済みです。


Dim FMApp
Dim FMDocs, myOpenFile

Set FMApp = CreateObject("FMPRO.Application")
FMApp.Visible = True
Set FMDocs = FMApp.Documents
Set myOpenFile = FMDocs.Open("c:\hoge\test.fp7" ,"Admin","somePwd")
myOpenFile.DoFMScript ("showMSG")

Set myOpenFile = Nothing
Set FMDocs = Nothing
Set FMApp = Nothing



【試した操作】
1. IIS 経由で php を実行すると、その実行者は IUSR もしくは NETWORK SERVICE になるため、実行権限を必要なファイル群に与える必要があります。dbopen.vbs は WScript.exe から起動させるため、System32 ディレクトリの中にある WScript.exe に IUSR の実行権限を付与しました。
2. これだと dbopen.vbs で CreateObject を使って FileMaker のインスタンスを作成する時に書き込みエラーが発生するため、IUSR ではなく、ログイン中のユーザアカウントで実行できるよう、PsTools の psexec.exe を使って vbs のみログインユーザ権限で実行するようにしました。

PsTools の紹介とダウンロードはこちら

以下のように test.php のソースに指定しました。


$retval = `C:\hoge\PsTools\psexec.exe -u Administrator -p somePassword1234 -d WScript.exe C:\hoge\dbopen.vbs`;


備考:
1. psexec.exe に IUSR アカウントを割り当て、実行権限を付与しておく必要があります。
2. ``で囲ったコマンドラインがシェルコマンドとして解釈されるため、ここでは exec()関数を使用していません。
3. -d はスクリプトの終了を待たずに psexec を終了させるためのスイッチです(異常終了時のプロセス残留回避)。
4. vbs ファイルは単体では認識されないため、WScript.exe を明示的に指定する必要があります。

 このように設定してから Web ブラウザより test.php を実行すると、ブラウザが読み込み中状態となってしまいます。そこでタスクマネージャを起動して確認してみると、実行者 NETWORK SERVICE のプロセスとして psexec.exe が残っていることがわかりました。

【現象】
 psexec の実行ユーザが NETWORK SERVICE になっていると、デスクトップにそのアプリケーションが表示されず、バックグランドプロセスとして残留してしまいます。
 二台の Windows Server 2003 環境で実行したところ、一台は test.fp7 がデスクトップに表示され、showMSG スクリプトまで表示されたのですが、もう一台のマシンがどうもうまくいきません。

 psexec に NETWORK SERVICE を割り当てて実行権限を付与したり、IIS マネージャのアプリケーションプールのセキュリティアカウントを NETWORK SERVICE 以外に設定するなど試したのですが、やはりプロセスがバックグランドで残留したままの状態となります。


 IIS で運用中の php スクリプトからシェルコマンドでアプリケーションを起動し、そのアプリケーションをデスクトップに表示させる方法をご存じの方は、情報をお待ちしております。

2009-12-11

FileMaker V10による在庫管理、一考

久々のFileMaker(以下、FM)の話題。
V9以前のFMでは、在庫を算出する場合は、在庫テーブルで以下のようにやっていたのではないだろうか?

在庫::在庫(計算) = 在庫::前月分在庫 - Sum(出庫明細::出庫数) + Sum(入庫明細::入庫数)


このやり方は簡単でいいのだけれど、出庫明細や入庫明細のレコード数が多いと、1つの商品の在庫の算出にさえ、数十秒から数分の時間がかかってしまう可能性がある。 よって、商品数と伝票枚数(商品取引)が多く、リアルタイムの在庫を即時把握したいような業種では、FMは使えなかった。
言い換えると、在庫や各種残高算等、あるテーブル(上例では、出庫明細、入庫明細)のフィールド値に基づき計算を行いその結果を他テーブルの(計算フィールドではない)フィールドに精度を確保しながら保存する、ということができないということは、1995年のV3リリース以来、FMの長年の弱点の一つであった。

そんなところにFM V10が現れたのは一年程前だったか。 このバージョンでFMはイベント発生時のスクリプト起動(以下、スクリプトトリガ)に対応した。 スクリプトトリガ、特に、レコード保存時にスクリプトを実行する「OnRecordCommit」により、上記の弱点が解消される可能性がでてきたように思われる。
以下、その原案。

1. 想定(目標)
以下のような簡単な在庫管理データベースがあり、出庫伝票作成時に各商品の出庫数を在庫数から差し引くことを目的とし、その実装(スクリプト)を考えてみる。
尚、出庫伝票は新規作成のみであり、明細の更新は不可(ホンナ無茶な)とする。

【図1】


【図2】

図1の出庫伝票で、[出庫数]に入力をしレコードを保存する動作を行った時に、在庫リストの[在庫数]の値が[出庫数]を差し引いた値に更新されればいい。 但し、このとき在庫リストの[在庫数]は計算ではなく、数値フィールドである、というのが今回の肝である。


2.実装
まずレコードを保存(Commit)時に在庫テーブルの[在庫数]フィールドから[出庫数]を差し引くスクリプトが必要である。

【図3】


という具合に、出庫明細を1行づつ移動して、関連する在庫レコードの[在庫数]から[出庫数]を差し引き、[在庫数]にセットする。 途中あるエラー処理は、[出庫数]更新時にエラーが発生した場合、このスクリプトで行ったすべての処理を取り消し、レコードを最後に保存した状態に戻すためのものである。

では、ユーザの操作(クリック)に依存せず、レコード保存(Commit)時に必ずこのスクリプトを実行するにはどうしたらよいか? ここでFM V10の新機能、スクリプトトリガの「OnRecordCommit」を使用する。 詳細はマニュアルを見ていただくとして、下図のように上記で作成したスクリプトを登録すればよい。

【図4】

以上で完了。


3.テスト
テストをしてみると、一応、機能する。
図1の出庫伝票入力後に保存を行うと、商品1~3の[在庫数]は正しく「9」に更新される。

また、[在庫数]更新時にエラーが発生すると、その出庫伝票が最後に更新されたときの状態に戻り、在庫レコードも元の状態に戻る。
たとえば、商品1と2の[在庫数]の更新には成功したが、商品3の[在庫数]の更新に失敗すると、すべての処理が取り消され、最後の保存状態に戻る。 このとき、出庫レコード自体が一度も保存されていなければ、明細レコードだけではなく、出庫レコードも保存されない(作成されない)筈である。 


4.課題
さて、上記のように当初の思惑は達成されたが、いくつかの課題と懸念がある。
  1. 今回は出庫伝票は新規のみである、ことを前提としているが、当然、これでは実用には耐ええない。出庫明細の更新、削除にも対応する必要がある。
  2. 在庫テーブルで極力競合が発生しないようにテーブル設計する必要がある。
  3. 十分なテスト --- マルチユーザで競合が発生しないこと、また競合発生時も整合性が確保されること。
  4. 上記実装が正しく機能しているか、検証する仕組みの構築

1.は面倒だか、明細の主キー、商品ID、更新前の[出庫数]と更新後の[出庫数]の差分を変数に記憶しておき、Commit時に個々の商品の[在庫数]からその差分を減算すれば、解決可能である。

クリティカルな環境で上記のような在庫ロジックを実装し、実際の運用まで持ち込むのはなかなか大変だと思われるが、在庫や残高の算出遅延が運用上のネックとなっているシステムでは、一考の価値があるのではなかろうかと。

以上

土屋


【関連リンク】

2012/8/1追記:
当社の在庫管理の講習で使用してるサンプルシステム「FMEasy在庫」を公開しました。フリー版/開発版のダウンロードは→こちら

【FMEasy在庫 の画面】


2009-12-08

Panda Cloud Office Protection エンジン更新後に Hyper-V 搭載サーバ機でトラブル発生

 Panda Managed Office Protection(以降MOP)がクラウド型エンドポイントセキュリティサービスの Panda Could Office Protection(以降COP) として 2009年12月1日より新サービスとして提供が始まったことに伴い、11月下旬から順次既存ユーザへのエンジンアップデートが行われました。

 今月に入ってから弊社環境でも COP エンジンの自動アップデートが行われ、つい昨日アップデート後のサーバ機の再起動を行ったわけですが、Hyper-V 搭載サーバ機では再起動時にネットワークカード(以降NIC)の挙動がおかしくなることを確認したため、今回はその現象と対応方法をまとめます。

【現象】
 COP エンジンの自動アップデート後にサーバ機の再起動を促すメッセージが出るが、ここで再起動をかけると、Hyper-V を運用中のサーバ機の NIC が正常に動作しなくなる。
 Ping チェックを行うと、実体 NIC、仮想 NIC 共に Ping 応答が断続的になったり、まったく応答がなくなったりする。

【対応方法】
 この現象は前回のMOPエンジン更新時にも発生し、当方で試したかぎりでは以下に示す方法以外では成功したことがありません。

1. Hyper-V マネージャの右ペインのメニュー項目より「仮想ネットワーク マネージャ」を選択し、稼働中の仮想ネットワークカードをすべて削除します。(削除前に設定情報はメモしておいてください)

2. Ping テストやインターネットブラウジングなどを行い、実体 NIC が正常に動作するようになっていることを確認します。
 仮想ネットワーク マネージャに戻り、左ペインより「新しい仮想ネットワーク」を選択して、右ペインで“追加”ボタンを押して新しい仮想 NIC を追加します。

3. Hyper-V マネージャの仮想マシンリストにある仮想マシンを右クリックし、表示されるサブメニューより「設定...」を選択します。
 当該仮想マシンの設定画面が表示されるので、左ペインより「レガシ ネットワークアダプタ」を選択し、上記で追加した仮想 NIC を割り当て直します。

この操作をすべての仮想マシンについて行います。
4. 仮想マシンを再起動し、Ping テストやネットブラウジングを行い、仮想 NIC が正常に動作するようになっていることを確認します。

この件については Panda にも現象を報告済みですが、もし上記の方法以外で有効な対応方法をご存じの方は情報提供していただけると大変有難いです。

2009-12-07

Microsoft Forefront Threat Management Gateway

Panda Managed Office Protection は Proxy Server が使えるらしので、 Microsoft の Proxy Server 製品を探してみた。 かつては文字どおりの Microsoft Proxy Server という製品があったが、その後継が Microsoft Internet Security & Acceleration Server となり、最新版はこの11月に Microsoft Forefront Threat Management Gateway(TMG) として、リリースされた。

ところが、このTMG、日本語ではβ版のレビューとかの記事がほとんど見当たらない。 MSのサイトからは評価版のダウンロードはできるけど、説明はほんの少しあるだけ。 しかも、 Proxy の説明は全然なし。(以下、MSサイトから引用)

【主要な利点】

多様な種類の脅威から保護
  • ネットワーク レイヤーに対する攻撃保護
  • 統合されたマルウェア対策およびウイルス対策
  • アプリケーション レイヤーへの侵入の防止
高度にセキュリティで保護された接続
  • Web アプリケーションのよる攻撃からの Web ユーザーの保護
  • リモート ユーザー向け、高度にセキュリティで保護されたアプリケーションの公開
  • サイト間およびリモート ユーザーに対する VPN 管理
シンプルな管理
  • 一元化されたネットワークのセキュリティ管理
  • 使いやすいウィザード
  • 統合された電子メールのセキュリティ管理
--------------------------- 以上、引用終わり ---------------------------

Proxy のことは一言も書いてない(もしかして、Proxy機能は無いの?)し、MSを含む業界はあんまやる気無いっぽい。

2009-11-30

SonicWALL NSA E-Class セミナー(2009/11/27)

 SonicWALL NSA E-Class テクニカルセミナーに参加してきました。
 NSA E-Class は SonicWALL 製品でも上位クラスに属する製品群で、搭載されている CPU コア数が最大 16 というだけあって、ファイアウォール と UTM を同時に有効にしても平均 1 Gbps 以上のスピードを保持できるという優れものです(ちなみに CPU が 1 個の廉価版 TZ シリーズで出せるパフォーマンスはせいぜい 50Mbps なので、その差は歴然です)。

 NSA E-Class と TZ シリーズとの大きな違いといえば、上記で述べたマルチコア構成の他に RFDPI (Reassembly Free Deep Packet Inspection) があります。
 SonicWALL に送られてきたパケットを SonicWALL 内部で一度開梱して、それをもう一度再構築して LAN に送るというのが従来の方式ですが、この再構築プロセスによって処理速度が低下してしまうのがネックとなっています。これを解決させたのが RFDPI で、パケットを開梱せずにスキャンを行う分、速度低下が発生しないようになっています。また、従来の方法では開梱したパケットを一時的にメモリに蓄えられるため、ファイルサイズが大きければそれだけメモリを消費することになり、大量のデータを一度に扱う場合はそれだけ処理速度の低下が発生したり、ファイルサイズが大きすぎるために処理不能と判断されドロップされる可能性がありますが、RFDPI なら開梱を行わずにスキャンを行うため、ファイルサイズによって処理速度が左右されることがありません。

参考:SonicWALL NSA E-Classシリーズ概要と構成例

SonicOS 5.0 以降の基本機能について

  1. Layer 2 ブリッジモード
     ネットワーク構成を変えずに、ゲートウェイアンチウィルスやIPS機能を提供

  2. アプリケーションファイアウォール
     アプリケーション別にアクセス制限をかける

  3. Active-Passive ステートシンク フェイルオーバー
     セッション情報の常時同期を行い、ハードウェア障害時にセッション情報を予備のハードウェアに引き継ぐ。

  4. パケットキャプチャ
     パケットダンプ、HTML/CAP 形式でのパケット情報出力

  5. シングルサインオン
     Microsoft Active Directory にログインするだけで SonicWALL 環境へのアクセスログインを可能に


参考:SonicWALL NSA E-Class シリーズ

SonicWALL による HA (High Availability 高可用性)構成
 現用系と予備系の SonicWALL ユニットを配置し、障害時に予備系の SonicWALL にパケット送信が切り替わるようにする構成方法です。E-Class では障害復旧時にどちらの機器に優先的にパケットを流すかも設定可能です。

構成例:Tokyo FM における HA 構成

Global Management System
 Global Management System をインストールすることにより、セキュリティポリシー一括適応、全ユニットの集中管理/監視、ライセンスの集中管理、リモート管理を可能にし、管理コスト削減を実現します。

参考リンク:
SonicWALL NSAシリーズ 価格体系
Macnica Networks

SonicWALL E-Class シリーズ紹介ビデオ(英語)
(今回の東京での講習内容がほぼ網羅されています。)

04:34 Re-Assenbly Free Inspection 解説
05:06 マルチコアデザイン解説
06:15 Active-Passive ステートシンク フェイルオーバー解説
07:10 Layer 2 ブリッジモード解説
07:19 Wireless スイッチモード解説

2009-11-02

FileMaker Pro 5/5.5/6 でファイル名を指定して PDF 形式で印刷を実行する方法

 FileMaker Pro 7 以降では、「レコードの保存/送信」を使うことによってレコードを PDF 形式で保存できるようになっていますが、それより前のバージョンでは別途 PDF ドライバを入手して印刷コマンドから PDF 保存をする必要があります。

 今回は、FileMaker Pro 5/5.5/6 を使って PDF 形式ファイルを自動作成し、そのファイルに独自の名前を付ける方法について説明します。

【用意するもの】
1. PDF ドライバ
 プリンタドライバと同様、PDF ドライバと FileMaker Pro の相性が合わないことも考えられますので、デモ版や無料版が利用可能であれば、それを利用することをお勧めします。

 実験で FileMaker との相性がいまいち合わなかったドライバ
 Primo PDF --- 自動化の際にユーザダイアログが必ず表示されてしまうので、連続実行には不向き。
 瞬簡PDF3 --- 処理の連続実行、大量処理時に FileMaker Pro がクラッシュする。

 当方のテストで比較的安定したパフォーマンスを記録したのは、PDFCreator だったので、今回は PDFCreator を使います。
PDF Creator の詳細とダウンロードはこちら

 ただし、FileMaker 側でループによるバッチ処理で PDF 作成を行うと、サイズの比較的大きいファイルを処理中に次のループが回ってしまうという現象が起こり、それによってデータの一部が欠けた PDF ファイルが作成されてしまうことがあります。
 FileMaker 側でループ待ち時間を調整することでこういったデータ欠損のあるファイルが発生することを回避することはある程度できますが、それでも FileMaker Pro とプログラム連携をさせる時点で 100% 安定したパフォーマンスが得られるわけではないことは念頭に入れておくと良いでしょう。

2. PetaExecute プラグイン
 MS-DOS コマンドを実行したときの戻り値をこのプラグインで取得します。
 PetaExecute の情報およびダウンロードはこちら

【操作手順】
1. PDFCreator をインストールし、Options 画面の Auto-save 画面で次のように設定を行います。



1) [Use Auto-save]にチェックを付けます。
2) [Filename]に任意の一時ファイル名を英字で入力します。この名前は FileMaker 側でも同じものを指定する必要がありますので、分かりやすいものがよいでしょう。
3) [Use this directory for auto-save]にチェックを付け、その下のボックスにファイルの保存先を指定します。この保存先のパス名も FileMaker 側で指定する必要があります。

2. PetaExecute プラグインを FileMaker Pro のインストールディレクトリ配下の System フォルダにコピーし、FileMaker Pro を起動してこのプラグインが有効になっていることを確認します。


 処理の流れはざっとこんな感じです。
1) 印刷実行。
2) 1) で PDF ドライバを選択した場合は、一時ファイルを所定の名前に変更(この例では PDF_本日の年月日.pdf)。

 特に留意していただきたいのは、一時ファイルが作成されるのに多少の時間がかかるため、一時ファイルがディスクに書き込まれていない段階でファイル名変更コマンド(ren コマンド)が実行されるとファイル名変更が失敗する可能性があります。
 このため、一時ファイルが作成されるまで、ファイルメーカー内で待ち時間ループを設ける必要があります。

 本操作を確認、実行するためのファイル群を用意しましたので、興味のある方はここからダウンロードしてお試しください。
PDFサンプル

【MS-DOS コマンドによる実行方法】
 PetaExecute と MS-DOS コマンドの組み合わせにより、PDF ファイルを任意の名前で変更します。
 当方で動作検証を行った結果、大量バッチ処理で安定した運用が可能であることを確認したため、基本的にはこちらの方法をお勧めします。

1. サンプルファイル PDFtest.fp5 を開き、FileMaker 環境設定のプラグインで PetaExecute にチェックが付いていることを確認します。

2. PDFCreator の一時ファイル名とファイルの保存先を FileMaker 側にも指定します。
(画面下部の[VBSファイルパス]はここでは使いません。)


3. “日記へ”ボタンをクリックして日記内容を入力し、“印刷”ボタンを押し、プリンタとして PDFCreator ドライバを選択して印刷します。
4. 1. で指定したファイルの保存先ディレクトリに PDF ファイルが作成されていれば成功です。

 このスクリプトの仕組みは、スクリプトメニューより「日記印刷_DOS」を開いて参照してください。

【VBScript による実行方法】
 前述の MS-DOS コマンドによる実行方法と比べるとバッチ処理の安定性が低下する可能性がありますが、VBScript の方が MS-DOS コマンドより細やかなファイル操作が可能ですので、ファイルシステムの詳細設定を兼ねながらファイル操作を行いたい場合にはこちらの方法が適していると言えます。
 今回のサンプルスクリプトでは、実行結果が MS-DOS コマンドによる方法と同様になるように VBScript を組んであります。ただ一箇所異なる点は、既存ファイルのバックアップ機能が用意されている点です。

1. サンプルファイル PDFtest.fp5 を開き、FileMaker 環境設定のプラグインで Local Data Access コンパニオンと PetaExecute にチェックが付いていることを確認します。
(VBScript でエラーが発生した場合に、FileMaker にエラーを返すために Local Data Access コンパニオンを有効にしておく必要があります。)

2. PDFCreator の一時ファイル名とファイルの保存先を FileMaker 側にも指定します。
[VBSファイルパス]には、今回の記事で配布しているサンプルアーカイブに用意されている PDFrename.vbs ファイルを格納するディレクトリを指定します。


3. “日記へ”ボタンをクリックして日記内容を入力し、“印刷VBS”ボタンを押し、プリンタとして PDFCreator ドライバを選択して印刷します。
4. 1. で指定したファイルの保存先ディレクトリに PDF ファイルが作成されていれば成功です

 このスクリプトの仕組みは、スクリプトメニューより「日記印刷_VBS」を開いて参照してください。

2009-07-07

Windows Server 2003 で Windows ファイアウォールを開こうとすると、Ipnat.sys 関連のエラーメッセージが表示される

 Windows Server 2003 で Windows ファイアウォールを開こうとすると、以下のようなメッセージが表示されてファイアウォール管理画面を開けないことがあります。

「ネットワークアドレス変換コンポーネント(Ipnat.sys)を使用している可能性がある、別のプログラムまたはサービスが実行中であるため、Windowsファイアウォールを実行できません。」

 これは環境に「ルーティングとリモートアクセス(RRAS)」サービスがインストールされている場合にプロセスの一部(Ipnat.sys)が Windows ファイアウォールのプロセスと競合を起こすために発生するエラーのようです。

同現象でお困りの方は、以下の手順で RRAS を完全に無効化することで対応できる可能性があります。

1. 「管理ツール」→「サービス」より、Routing and Remote Access を停止させ、無効にします。
2. 「管理ツール」→「コンピュータの管理」を選択し、左ペインより「サービスとアプリケーション」を選択します。
 右ペインで、「ルーティングとリモートアクセス」を右クリックし、そこに表示されるサブメニューより、「ルーティングとリモートアクセスの無効化」を選択します。

 上記 2. の手順は「サービス」からは無効化できないので、注意が必要です。

2009-03-11

EdMax のデータを Outlook Express に移行する方法

EdMax のデータを Outlook Express に移行するには少々コツが要ります。

【概要】
 EdMax のメールデータは、本文テキストと添付で保存場所が分かれている。添付ファイルについては専用のフォルダに添付データがそのまま格納されている。
 これに対し、Outlook Express のメールデータはすべて .mdb という一つのデータベースに格納されており、個々のメールは .eml という形式のファイルで取り出すことができる。また、添付ファイルもこの .eml に一緒に保存されている。

 つまり、EdMax メールの本文と添付ファイルを一つにマージさせて、それを .eml 形式に変換する操作によって移行作業を行う。

【操作方法】
1. EdMax のメールを UNIX MBOX 形式でエクスポートします。
 移行対象のメールを選択した状態で、「ファイル」→「エクスポート」の順に選択するとエクスポート用のダイアログが開きますので、次のように指定します。ファイル名には適当なものを付けてください。



(重要)[形式]には「再構成して保存(添付ファイル付き)」を選択してください。これによって、添付ファイルが本文にマージされて書き出されます。

 .mbx という拡張子を付けて“保存”をクリックします。(上記の例では exportmail.mbxと指定する)。このファイルには、選択したすべてのメールが格納されています。

 メールの添付ファイルが大きすぎたり、指定したメールの総容量が大きすぎる場合(最大サイズは 200MB の模様)、エクスポートに失敗しますので、適度なところで区切りながらエクスポートすることをお勧めします。

2. メール変換ツールを使って .mbx 形式のファイルを .eml 形式に分割変換します。
ここでは MailExp というツールを使います。今回は以下のサイトで配布されているものを使用しました。

http://www2.lint.ne.jp/~lrc/in_mailutl.htm

使い方は、入力側に .mbx ファイル(変換前のエクスポート済ファイル)を指定し、出力側に出力先のフォルダとファイル形式を指定します。ファイル形式は .eml にしてください。
“変換+分割 開始”ボタンをクリックすると、メールが連番で分割されます。

3. 2. で分割された .eml ファイル群を、Outlook Express の適切な場所(受信フォルダ、送信済フォルダなど)にドラッグします。

この操作を行うと、.eml ファイルが Outloox Express に追加され、Outlook Express で読み取りできるようになります。

2009-01-27

FileMaker Pro 9 のアクセス権設定方法(2)

 さて、前回は FileMaker Pro 9 のデータベースのアクセス権設定方法について説明しましたが、今回はログインの認証設定とFileMaker Server 9 のセキュリティ設定について説明していくことにします。

認証方法を外部サーバーにする
1. この操作を行うには、FileMaker Server 9 をインストールしてデータベースを公開しておく必要があります。以下の青で囲った部分のように、クライアント認証には「FileMaker と外部サーバーアカウント」を選択します。

 また、画面下にある接続の保護の「FileMaker Server への接続を保護する」にチェックを付けると、FileMaker Server へのアクセスが SSL で保護されるようになります。

2. FileMaker Pro 9 のメニューより、「ファイル」→「管理」→「アカウントとアクセス権」の順に選択し、表示されるダイアログから、認証方法を変更したいアカウントをダブルクリックして、「アカウントの編集」ダイアログを表示させます。

 ここで[アカウントの認証方法]には「外部サーバー」を指定します。これによって、Active Directory (Mac OS 環境では Apple OpenDirectory) による認証を FileMaker Sever 9 経由で行います。今回の記事では ActiveDirectory 環境での認証方法について説明します。

3. [グループ名には] Active Directory に登録されているアカウントグループを指定します。たとえば、Administrator という Active Directory アカウントを使って FileMaker Server 認証を行いたい場合は、Administrator が所属するアカウントグループを指定します。
 以下の図は、Active Directory のグループ Domain Users が所属するアカウントについて、データ入力権限のみを与えるように設定したものです。

 この場合、Domain Users に所属する Active Directory のどのユーザアカウントでログインを行っても、FileMaker データベース側の操作はデータ入力のみとなります。"OK"ボタンを押してダイアログを終了させます。

4. 一度データベースファイルを閉じ、Domain Users に所属するアカウント名を使ってログインをしてみてください。パスワードは Active Directory のアカウントに設定されているものを使用します。
 データ入力のみが許可されているようになっていれば成功です。

2009-01-26

FileMaker Pro 9 のアクセス権設定方法(1)

FileMaker Pro 9 で開発したデータベースにアクセス権を設定することによって、データベースアクセスのセキュリティを向上させることができます。また、FileMaker Server 9 との併用によって、さらにセキュリティを向上させることができます。

基本的なアクセス権の設定方法
1. データベースを開いてから、FileMaker Pro のメニューより、「ファイル」→「管理」→「アカウントとアクセス権」の順に選択すると、「アカウントとアクセス権の管理」ダイアログが開きます。

 この図は、以前当ブログで紹介させていただいたFileMaker API for PHP を使ったアンケートフォーム作成で使用した Comment.fp7 のアクセス権を表示したものです。
 [ゲスト]、Admin、webuser という 3 つのアカウントが表示されています。そのうち、[ゲスト]および Admin は FileMaker Pro データベース作成時にデフォルトで用意されているアカウントです。
 ここでは新しいアカウント「input」を作成して、アクセス権を設定してみることにします。
 “作成”ボタンを押して、[アカウント名]の欄に input と入力し、[パスワード]に適当なパスワードを入力します。運用にあたっては、パスワードは長めで特定されにくい文字列と数値を混ぜたものを指定します。[アクセス権セット]に「データ入力のみ」を指定します。
 ここまで指定すると、ダイアログは以下の図のようになります。
 
 [アカウントの認証方法]には、次の 2 種類があります。
 「FileMaker」--- FileMaker Pro のデータベースに設定したアカウントを使って認証を行う。
 「外部サーバー」--- Active Directory(Windows ドメイン)や Apple OpenDirectory などのアカウントグループを使って認証を行う。
 外部サーバーによる認証方法については後ほど説明しますが、今はデフォルトの「FileMaker」を指定しておいてください。

“OK” ボタンを押してダイアログを閉じます。

2. 一度ファイルを閉じ、input アカウントでログインします。フィールド内容の編集やレコード作成、削除はできますが、レイアウトの編集やスクリプトの編集などはできません。

独自のアクセス権セットを作成してみる

ここまでが基礎的なアクセス権の設定方法ですが、今度はデフォルトで用意されている 3 つのアクセス権セット([完全アクセス]、[データ入力のみ]、[閲覧のみアクセス])とは別に、独自のアクセス権セットを作成して割り当てる方法について説明します。

1. 先ほどのように、「アカウントとアクセス権の管理」ダイアログを開き、input アカウントをダブルクリックして「アカウントの編集」ダイアログを開きます。ここの[アクセス権セット]の一覧の一番下に表示されている「新規アクセス権セット」を選択します。
 すると、次のようなダイアログが表示されますので、ここにデータベースへのアクセス条件を設定していきます。


2. 「アクセス権セット」には適当な名前を付けます(ここでは「編集用」という名前にします)。
仮にこのような入力条件を考えてみます。

1) レイアウトは照会することができるがデザインの編集はできない。
2) レコードへの入力はできるが、作成と削除はできない。
3) 値一覧は表示できるが、編集はできない。
4) スクリプトは実行できるが、編集はできない。
5) ファイルメーカー側のメニューコマンドは、編集絡みのものだけに限定する。
6) データの持ち出しを許可しない(データのエクスポートを禁止する)。
7) データの印刷を禁止する。
8) FileMaker Server 9 でこのデータベースを公開したときにはアクセスできるようにする。
9) そのほか、input ユーザにとって相応しくないアクセスはすべて禁止する。

これをざっと盛り込むと、設定は次のようになります。上記の条件が盛り込まれていることを画面を見ながら確認してみてください。
 注意: 2) のレコード条件については、作成と削除を禁じるための設定をさらに行う必要があるので追って説明します。とりあえずこの図では「すべてアクセスなし」という表示になっています。


3. さて、ここでレコードの扱いをさらに細かく設定します。2) ではレコード入力は許可するが、作成と削除は禁止するということですので、今「すべてアクセスなし」となっている設定を、条件一覧より「カスタムアクセス権」を選択します。すると「カスタムレコードアクセス権」というダイアログが表示されます。


 Comment というテーブルを選択すると、そのテーブルに対するアクセス条件を設定できるようになります。ここで上記の条件に沿った設定を行うと次の図のようになります。レコードの作成と削除に「なし」が設定されていることに注目してください。


4. “OK”ボタンをクリックしてダイアログを閉じ、この「編集用」アクセス権セットを input アカウントに割り当てて動作を確認してみてください。

2009-01-16

brother 複合機 MFC-820CN の設定方法(送受信環境となるマシンの移行方法)

 brother 複合機 MFC-820CN を通常の Fax, プリンタ、スキャナとして使うことはもちろんのこと、ネットワーク上のコンピュータに接続することによって、受信した FAX を当該コンピュータ上に保存できるため、ペーパーレス化を図ることができます。

 今回は、あるコンピュータに設定されている MFC-820CN ソフトウェア・ドライバ環境を別の環境に移行する方法について説明します。

 MFC-820CN に付属の CD では、今のところ対応 OS が Windows 98/98SE/Me/2000 Professional/Windows XP, Mac OS9.1~9.2/Mac X 10.24 以降とあるので、それ以外の環境に入れようとするとインストールチェックで弾かれてしまうようです。現に Windows Server 2003、Windows Server 2008 に入れようとしたら見事弾かれてしまいました。
 というわけで、今回は Hyper-V のゲストOS となっている Windows Server 2000 に入れることにしました。

 手順は次のとおりです。

1. brother MFC-820CN に Ethernet ケーブルを接続し、LAN に参加させ、接続対象のコンピュータも LAN に参加させておく。
2. 付属の CD-ROM を使ってドライバとユーティリティソフトウェアをすべてインストールする。インストール時の接続オプションとして、「有線LAN接続」を選択してインストールを続行する。
3. すべてうまくインストールできたら、「スタート」→「プログラム」→「brother」→「MFC-820CN」→「リモートセットアップ」→「MFC-820CN」の順に選択。MFC-820CN 本体の現在の設定内容がダウンロードされてくるので、それを参考に設定を修正する。
 特に修正が必要なのは、MFC-820CN 本体に割り振る IP アドレスと、受信した Fax の扱いとなる。
 受信した Fax を印刷せずにファイルとしてコンピュータに保存する場合は、以下のように設定する。



 この後“OK”をクリックすると、設定内容が MFC-820CN にアップロードされる。

4. 「スタート」→「プログラム」→「brother」→「MFC-820CN」→「PC-FAX 受信」→「MFC-820CN LAN」の順に選択し、Fax 受信プログラムをタスクトレイに常駐させる。Fax が受信されるとこのアイコンが緑色から青色に変化し、受信された Fax は Presto! FileManager を使うことによって照会できる。

Presto! FileManager のデータファイルの移行方法
以前の環境の Presto! FileManager のデータ情報を新しい環境に移行するには、My Documents\My PageManager 配下のファイル群を新しい環境の同じ場所にコピーします。

Hyper-VゲストOSからUSB/eSATA対応外部ディスクを使う

 以下のページによると、バーチャルマシンは USB をサポートしないとあります。

次世代仮想化プラットフォーム「Hyper-V」研究
http://www.windows-world.jp/news/-/102390-2.html

Virtual Server 2005 R2以前、バーチャルマシンは非常にレガシーなハードウェアをエミュレートするものであった。エミュレートされるチップセット「Intel 440BX」は1998年の登場で、最大1GBのメモリに対応し、初めてACPI(Advanced Configuration and Power Interface)の電源機能とUSB(Universal Serial Bus)を実装したことで有名だ(バーチャルマシンはUSBをサポートしない)。


確かに今の設定では Hyper-V ゲスト OS 環境では USB が認識されない模様ですが、もっと確実な情報が収集できたところで、こちらの記事に情報を追加していきます。

2010/01/12更新
USB 接続された HDD をパススルーディスクと認識させるのは依然として無理なようですが、その代りに仮想ハードディスクを作成し、それを追加ドライブとして Hyper-V のゲスト OS に認識させることは可能ですので、ここにその方法を記述します。

1. ゲスト OS が起動中の場合は終了させます。外付け HDD はホスト OS からアクセス可能な状態にしておきます。
 Hyper-V マネージャの当該ゲスト OS の設定画面(ここでは Windows Server 2003)を開き、図のように新規の IDE コントローラにハードドライブを追加します。


 追加したハードドライブに仮想ハードディスクを割り当てます。“新規”ボタンを押すと、仮想ハードディスク作成ウィザードが表示されますので、指示に従って外付け HDD に仮想ハードディスク領域を割り当てます。

 “適用”ボタンを押し、変更を反映させます。

2. ゲスト OS を起動します。起動直後は、上記で追加した仮想ハードディスクは認識されない状態ですので、管理ツールから「コンピュータの管理」を起動し、「記憶域」配下の「ディスクの管理」を選択すると、以下のようにウィザードが表示されます。

 このウィザードは、追加された仮想ハードディスクをゲスト OS に認識させるためのディスク変換を行うためのものですので、指示に従ってディスク変換を行います。

3. ディスク変換直後はボリュームにドライブ名が付いていない状態ですので、変換したディスクを右クリックして、ボリュームドライブの割り当てとディスクフォーマットを行います。
 ドライブ割り当てとフォーマットが終了すると、以下のようになります。


 エクスプローラーで確認すると、この仮想ハードディスクが E: ドライブとして認識されていることがわかります。


 eSATA 接続された HDD についても、同様の方法で仮想ハードディスクを追加ドライブとして設定することができます。

(2010/04/27追記)
 同一の HDD に複数の vhd を事前に作成しておき、複数のゲスト OS に割り当てて認識させることも可能です。

2009-01-15

データベースの正規化

データベースの正規化、テーブル設計、ということはデータベース・アプリを開発したことがある者なら、一度はやったことがある筈。 まして、これを職業にしているならなおさら。

しかしいざ「正規化のやりかたを説明してみて」と問われると、ほとんどの開発者は困惑してしまうと思う。 文献や参考サイトをあたってみても、帯に短し襷に長し、である。
Wikipediaの正規化のページを見てると、

  • 第2正規形---あるリレーションが、第1正規形で、かつ、すべての非キー属性が、すべての候補キーに対して完全従属するとき、第2正規形 (second normal form; 2NF) であるという。つまり、第2正規形では、候補キーの一部に関数従属する非キー属性があってはならない。
とか書いてある。 これって日本語?

小社ではFileMaker というデータベース開発アプリケーションの講習を、主として初心者向けに時たま行っているが、正規化の話は避け、「同じ性質のデータをまとめて一つのテーブルにいれ、なるべく重複登録が起きないようにします」みたいに説明してきた。 「第一正規化とは…」とかやりだすと、受講生もこんがらがるし、こちらもこんがらがる。  しかし、「こんなことではいけない!」と改心し、モチベーションの高い受講者向けに正規化をできる限り噛み砕いて説明するため資料を作成してみた。 前述のWikipediaのような厳格な正規化の定義とはほど遠いが、実務上、なにかしかの役には立つのではなかろうか。
興味のある方→ こちら(PDF)こちら(Word)

以上

追記
上記の「同じ性質のデータをまとめて一つのテーブルにいれ、なるべく重複登録が起きないように」テーブルは設計する、というのはいい得て妙、だと思うんですが。


土屋

2009-01-13

セカンダリ DNS サーバを設定する

 弊社では内向き(LAN内からの参照用)と外向き(WANからの参照用)の二台の DNS サーバを運用していますが、今回外向き用 DNS サーバに対するセカンダリサーバを設置してみることにしました。

 今回使用したのは Windows Server 2008 の DNS サービスです。既存の DNS サーバは どちらもWindows Server 2000 Advanced で運用しています。

 今回成功したセカンダリ DNS サーバの設定方法は次のとおりです。
 
1. サーバーマネージャの役割から DNS サービスを追加します。
2. プライマリ DNS サーバ(外向き用)の localhost.dns および 0.0.127.in-addr.arpa.dns 以外のゾーンファイルを新しいサーバ側のゾーンファイルディレクトリにコピーします。
(ゾーンファイルは Windows Server 2000 は \WinNT\System32\dns 配下、Windows Server 2008 は /Windows/System32/dns 配下にあります。)
3. セカンダリ DNS サーバ側のゾーン追加で localhost をプライマリとして一旦登録します。
前方参照ゾーンを右クリックすると表示されるサブメニューから、「新しいゾーン...」を選択すると「新しいゾーンウィザード」が表示されますので、ここより[プライマリゾーン]を選択します。



 “次へ”をクリックして、「localhost」と入力します。これはセカンダリ DNS サーバ自身の参照を指します。



localhost のゾーンファイルを自動作成します。


“次へ”をクリックして、localhost ゾーン設定を一旦終了します。

4. 現在は localhost ゾーンはプライマリ DNS として動作するようになっているため、これをセカンダリ DNS に変更します。
localhost ゾーンを右クリックしてプロパティを開き、「全般タブ」のプライマリゾーンを以下のようにセカンダリに変更します。



次に、図のように参照先のマスタサーバ(プライマリDNSサーバ)のIP アドレスを指定します。

4. 残りのゾーンについても、一旦プライマリとして登録するという要領は localhost と同じですが、ゾーンファイルはすでにプライマリ DNS からコピーしてきたものがあるので、それを採用します。



この後にlocalhost ゾーンと同じように、セカンダリゾーンへの設定変更を行います。これと同じ操作を、前方参照ゾーン、逆引きゾーンの両方に対して行います。

ここまでがセカンダリ DNS のゾーン設定となります。

5. 次に、プライマリ DNS のゾーン転送設定を行います。これは、プライマリ DNS 側で DNS レコードの更新があった場合に、セカンダリ DNS 側にも通知を行ってゾーンの同期を行うためのものです。

 プライマリ DNS 側(今回は Windows Server 2000 Advanced)のゾーンを右クリックしてプロパティを開き、「ゾーンの転送」タブより、ゾーン転送を許可するサーバとして、今回新設した DNS サーバの IP アドレスを登録します。



 これと同じ操作を、前方参照ゾーン、逆引きゾーンの両方に対して行います。

6. 最後にゾーン転送の確認を行います。
新設したセカンダリ DNS サーバ(Windows Server 2008)側でゾーンの右クリックで表示されるサブメニューより、「マスタから転送」を選択すると、プライマリDNS からゾーン内容が転送されます。ゾーン転送が成功したかどうかは、イベントマネージャで確認できます。




補足:
メールサーバーを立てている場合は、逆引き設定をお忘れなく。これを忘れてしまうと、メール送信先のサーバで逆引きチェックが設定されている場合、送信したメールが弾かれてしまい、届かなくなってしまいます。

2009-01-07

『FlexMy売管』を作るぞ! (3) --- FileMaker から MySQLに接続できない!?


【FileMaker/MySQL関連の追加情報】
『売上猫くん on MySQL』開発日記の記事一覧
FileMaker/MySQL関連の記事が増えてきたので、目次にしました。(2012/06/25追記)

AccessとFileMakerの実行速度比較テスト記事とその動画 (2011/11/17追記)

FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6~によるフリーウェア『売上猫くん on MySQL 5.0β』をリリースしました。ダウンロードは→こちら。 (2011/01/27追記)



前回、MySQL でデータベースとテーブルを一つ作成したので、FileMaker から接続できるか、試してみることにする。

1. 事前準備
FileMaker は MySQL には ODBC 経由で接続するので、まず、MySQLのODBCドライバ 3.51をインストール、さらにシステムDSNとして登録した。 接続テストを実行すると、「Success; connection was made!」と表示されるので、ここまでは問題ない。

2. FileMaker Pro 9 で接続できない!?いざFileMaker Pro 9を起動してテスト用ファイルを作成。[ファイル]メニュー→[管理]→[外部データソース...]を選択し、上記で作成したDSNを指定。

さらに、[ファイル]メニュー→[管理]→[データベース...]→[リレーションシップ]タグを選択し、ウィンドウ左下にある“+”ボタンをクリックしてMySQLのテーブルを選択、“OK”すると、

「必要なテーブルが見つからないため、この操作は実行できません。」

とメッセージが表示されてしまう。 そんなこと言っても、FileMaker はテーブルとして認識してるやん?
この後、いろいろやってみたが、どうも FileMaker Pro 9 は、MySQLのテーブル、コラムに日本語が使用されていると、そのテーブルは使用できないらしい。 SQL-Server は日本語使っても全然問題ないのに…
試しに、日本語を英語に変更してみると、ちゃんと使用できる。

ただ、今回はSQL-Server ベースの『FlexSql売管』をできる限り手間をかけずMySQL に移植する(テーブルさえ全部作ってDSNを入れ替えれば、『FlexMy売管』があっという間にできるだろう)ということを前提としていたので、いまさらコラム名(フィールド名)を変更する気力は、、、、無い、 全然。
ということで、FileMaker Pro 10 のリリースをまって、再度試してみる(かも)。

【メモ】
  • 実は、MySQLコマンドでもデータベース、テーブル、コラムに日本語を使用していると、文字化けする。My.iniをいじったり、コマンドプロンプトの環境をUTF8にしたりしてみたが、問題は解消せず。ただ、MySQL Administrator だけは、データベース構造に日本語を使用しても問題なく認識してくれる。
  • ODBC5.1を使用してDSNを作成しても駄目。
  • FileMaker Pro 10 プレリリース版を使用してもやっぱり駄目。
新情報
FileMaker社は公式にサポートを言っていないが、MySQL ODBC 5.1 だと、日本語OK。 昨年の3月位から某案件で使用し始め、今のところ大きなトラブルは無し。 この某案件については、時間があれば書きたいな、っとこちら
(2010/2/5追記)
(2010/2/19追記修正)
(2010/3/25ODBC5.1の部分を打ち消す)

2008-12-19

『FlexMy売管』を作るぞ! (2) --- MySQL データベースを作ってみる

(FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6 の環境であれば、→ここ(開発日記) とか ここ(日記番外) の方が参考になるかも。 2010/10/21追記 )

1. 取り合えず、リモートのMySQL Administrator で接続していみる

大分前にインストールしたMySQLの管理ツール MySQL Administrator と、今回インストールした MySQL 5.1 は異なるサーバ上にあるが、MySQL Administrator を起動して MySQL 5.1 に管理者権限でアクセスしようとすると、以下のエラーが出る。


    Could not connect to the specified instance.
    MySQL Error 1045.


MySQL 側に移動して、grant all priviledges on *.* to untara@"%" identified by "kantara" を実行し、ここで指定したユーザ名とパスワードとにより、リモートの MySQL Admin からアクセスできるようになる。 




2. Migrationツールはスキップ

MS SQL-Serverで作成した『FlexSql売管』のデータベースがあるので、本当ならこれを MySQL Migration Toolkit という奴で MySQLのデータベースに変換(マイグレーション)できるといいのだが、以前失敗してるので、今回はやめておく。



3. SQL-ServerでCreate文を生成し、MySQLでそのCreate文ファイル実行

まずは、create database flexmy うんたらとやって、データベースを作成。 

次に各テーブルは『FlexSql売管』の SQL-Server のデータベースから create table 文を生成して、MySQL側で実行しようと画策。 SQL-Server Management Studio Express を起動し、取引先テーブルを指定してcreate 文を作ると、こんな感じになる。

USE [neko]  //『FlexSql売管』のデータベース名
GO
/****** オブジェクト: Table [dbo].[取引先] スクリプト日付: 01/07/2009 13:35:41 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[取引先](
  [〒] [varchar](8) COLLATE Japanese_CI_AS NULL,
  [Fax] [varchar](50) COLLATE Japanese_CI_AS NULL,
  [Tel] [varchar](50) COLLATE Japanese_CI_AS NULL,
 ~~~~~~~~~~ 中略 ~~~~~~~~~~
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF


この文章をtorihikisaki.sqlとして保存し、プロンプトの画面で、

  $ mysql flexmy < torihikisaki.sql

を実行するも、SQL-Serverの吐いたSQL文をそのまま実行できるはずも無く、紆余曲折の末、以下のように変更して上記コマンドを実行すると旨く行った。

CREATE TABLE 取引先(
  〒 varchar(8) NULL,
  Fax varchar(50) NULL,
  Tel varchar(50) NULL,
  ~~~~~~~~~~ 中略 ~~~~~~~~~~
PRIMARY KEY (id) );

以上でSQL-Serverのテーブル等は比較的簡単にMySQLに移植できそうなことが解かった。ところがこの後に思わぬ悲劇が待っていた。

以上

2008-12-17

Wi-Fi Skypeフォンは時期尚早

Wi-Fi Skypeフォン: PC無し、単体でSkypeが実行できるWi-Fi 対応の携帯電話機

どのメーカーもやる気がないようで、後継版も無く発売停止になるか、評判は概して芳しくない。

・Logitec Skype専用 無線LAN携帯 --- 悪評有、2008年以降ファームのアップ無、でも販売継続中
・Belkin Skype 専用 Wi-Fi® フォン --- 速攻で発売終了、後継機無し
・Buffalo WSKP2-G/BK --- 速攻で発売終了、後継機無し
・Panasonic KX-WP800 --- 比較的評判良し、2008年発売、高い、市場モニタ製品? 松下はやる気あんの?

Wi-Fiじゃ無く有線
Webt@lker5000 --- よさげ

2008-12-09

【SonicWALL障害メモ】 IKE Responder: IPSec proposal does not match (Phase 2)

朝、メーラーを起動してみると、SonicWALL の警告の山。


IKE Responder: IPSec proposal does not match (Phase 2) -  221.189.***.***, ***.****.ne.jp -  219.163.***.**** -  192.168.0.66/32 -> 192.168.0.0/24
IKE Responder: No match for proposed remote network address - 221.189.***.***, ***.****.ne.jp - 219.163.***.*** - 192.168.0.66/32なに、これ? 大体、66なんてアドレスは無いし…


こんなのが1時間に何通も届く。 2ヶ月位前にも同様の現象で、同じ警告メッセージが一杯届いているので、なんとか解決したような気がするけど、思い出せない。 年には勝てないので、ちゃんとメモしよう。

参考サイト
Stange errors on TZ170 with unknown LAN subnet
RE: Problem: Site-to-Site VPN ISA2004 and Sonicwall


◇現象解消 --- 08/12/19追記
あっさり解消した。 ネットワークはSite-to-Siteで、

  こっちのTZ180(小社) ⇔ あっちのTZ180(客先)

となってて、「こっちのTZ-180」から上記のエラーログが送られてきてたので、こっちに障害があると思い込んだのがそもそも大間違い。 ただ、「あっちの」は客先の奴なので、滅多にいじることも無いわけで、原因となるのは「こっちの」だろうと、例によって思い込んだ。

結論としては、犯人は Panda MOP。 12月初め位からPandaが「アップデートしたのでPC(サーバを含む)を再起動しろ」とメッセージを表示していたが、うちは兎も角、客先のサーバをそう簡単に再起動できるわけもなくしばし放置。結局、この Panda のアップデートがSonicのエラーメッセージの原因だった。 12月某日12時(昼休)、客先に出向き2台のサーバを再起動。 12:00以降、あの警告メールがピッタリとまった。

クッソォ~、おぼえてろよぉ~、 パンダぁ! ヽ(`Д´)ノ ウワァァァン


◇メモ見つかる --- 08/12/19追記
上に「2ヶ月位前にも同様の現象で」と書いたが、メモが見つかった。それも堂々とテスクトップに置いてあった。 以下、そのメモ。

VPNの設定/詳細設定がこちらとあちらで全く同じことを確認する
  • 0.254と1.252のSAをOFFにし、エラー継続を確認(0.1と1.253と競合していないことを確認)
  • 0.1と1.253で、SonicOS Standard 3.8.0.3-36s.jpn の一致を確認
  • 0.1と1.253で、MTUの一致確認

ネットワーク>ルーティング の誤ったルート設定が原因か? 削除したらエラー解消の模様(08/9/17)


◇今回12月のエラーログ発生時のメモ-- 08/12/19追記
12/13、170/180の2台と客先の180×2台が通信するときに、上記のエラーログを多数受信(但し、客先2台からはこのエラーログを受信していない) 。 亀がNPTの設定を弄ったとうので、4台のNTP設定を一致させるが、現象解消せず。


◇さらに-- 08/12/19追記
上記の英語サイトにもあるように、このエラーはさまざまな要因で起こるようで、発生前後で何か特別な事象が発生していないか、冷静に思い出すことが重要。


(終)

2008-12-08

『FlexMy売管』を作るぞ! (1) --- MySQL 5.1 のインストールでコケる

(FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6 の環境であれば、→ここ(開発日記) とか ここ(日記番外) の方が参考になるかも。 2010/10/21追記 )

FileMaker Pro と MS SQL-Server を使用した外注・加工業向け売上・原価管理システム --- 『FlexSql売管』 をリリースしたのは2008年3月。  これを MySQL に移植しようというかねての計画を実行することにする。
まずは MySQL 5.1 (Windows x64版)をダウンロードしてきて、Dell Power Edge T105 (Windows Server 2008 x64)のEドライブにインストール→普通に成功。 ところが、「それは(Eドライブ)は Hyper-V 用のボリュームだから使わないで下さい! ヽ(`Д´)ノ」と怒られたので、仕方なく一旦抜いて他のドライブに再インストールすることに。 ところが、MySQL Server Instance Config Wizard の最後のところで、

   Error Nr. 2003 : Can't connect to MySQL server on 'localhost' (10061)

とか出てくれる。 あぁ、やっぱりインスコで躓いた。 いろいろググってウン時間も費やしたところで、「C:\mysql を削除せよ 」という神の啓示を発見。 レジストリ内の「MySQL」を検索して、かかってきた登録を取捨選択して削除した後に、アンインストールして C:\mysql を手動により削除、さらに再インストール…  あっさり成功、 ありがとう神様。


参考サイト
インストール --- DBOnline

 

Windows 2003 に FileMaker Web Server Connector をインストールする...が失敗

Windows Server 2003 に Web Server Connector をインストールしようとしたら、こんなメッセージが出たことはないでしょうか?



A SCRIPTS virtual directory was not found. You must configure a SCRIPTS virtual directory before FileMaker WSC 5 - IIS can be installed.

FileMaker Unlimited 5.5 に付属の Web Server Connector は Windows Server 2003 での動作保証をしていなのですが、手動設定を取り入れながら FileMaker Web Server Connector をインストールしてみることにしました。試行錯誤の結果、やはり動作はしないようだ、という結論には達したのですが、もし今までに Windows 2003 に Web Server Connector をインストールした成功例があるいう方がいらっしゃったら、助言いただけると非常にありがたいです。

今回試してみた Windows Server 2003 環境への FileMaker Web Server Connector インストールは次のとおりです。

1. IIS 6.0 をインストール。
コントロールパネルの「アプリケーションの追加と削除」より、「Windows コンポーネントの追加と削除」を選択し、表示されるコンポーネントの中からインターネットインフォメーションサービス(IIS)をインストールします。

2. FileMaker Pro 5.5 Unlimited をインストール。
3. IIS 管理ウィンドウを開き、「規定のWebサイト」を選択して、右ペインに scripts という名前の仮想ディレクトリを作成。実行アクセス許可は、下図のように、「スクリプトおよび実行可能ファイル」にしておく。

4. レジストリ値を追加。
Windows Server 2003 のデスクトップに戻り、「スタート」→ 「ファイル名を指定して実行」の順に選択し、regedit と入力してレジストリエディタを起動する。

下図のように、\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters に Virtual Roots というキー値を追加し、そこに文字列値 /Scripts を新規追加する。値のデータは、c:\inetpub\scripts,,204 とする(この値は WSC で運用中の Windows 2000 Server 環境のレジストリ値を参照)。



5. FileMaker Web Server Connector をインストールする。
インストールが終わるとマシンを再起動するようメッセージが表示されるので、マシンを再起動する。

この時点で、以下のメッセージが表示される。



というわけで、手動で IIS フィルタを設定する必要があるということで、いろいろ探し回ったのですがとうとう解決策が見つかりませんでした。

2008-12-03

Hyper-V にゲスト OS をインストール(覚え書き)

Windows Server 2008 の便利な機能の一つに Hyper-V があります。
これは、仮想的にディスクを用意することによって、別の OS を同居させて運用するというものです。

たとえば、Windows Server 2008 上で Windows Server 2000、Windows XP、Linux などを運用できます。

詳細は以下のサイトを参照していただくとして、ここではゲスト OS のインストールのヒントを簡単にまとめたいと思います。

第14回 Windows OSに標準搭載された仮想化機能「Hyper-V」

●仮想ハードディスクについて

仮想ハードディスク(VHDファイル)形式 -- ディスクドライブの領域をゲスト OS 用に確保して使用。スナップショットを撮ることができ、必要に応じてスナップショットを撮った時点の状態に復旧することが可能。

パス・スルー形式 --- ディスクドライブを丸ごと使用。動作速度は VHD 形式に比べると高速だが、スナップショットを撮ることができないので要注意。

●ゲスト OS として Windows 2003 をインストールするときの注意点
Windows 2003 は SP2 以降でないとインストール中にブルースクリーンが表示されてしまうので注意が必要。

ゲスト OS をインストールする際は、以下のページを参考にするとよいでしょう。

Hyper-V におけるゲスト オペレーティング システムのサポート

2008-11-28

Windows 2008 で FileMaker Server 9 の Instant Web Publishing は動作しない模様...

さて、先日 Windows Server 2008 環境に FileMaker Server 9 Advanced を入れてからというもの、ぼちぼち動作を検証していますが、いろいろ試した結果、 Instant Web Publishing はどうやら動作しない模様です。

FMForums の方でも「恐らく動かないだろう」と言っている人がいるように、動く機能があるかもしれないし、動作的に微妙なものもあるだろうという感じなのでしょうか。
とにかく Instant Web Publishing の方は当方の調査では無理、という結論に達しました。

参考:
[Windows] FMSA9,0 on Windows Server 8
Windows Server 2008 上で FileMaker Pro Server 9 は動作するか?

あと、FileMaker Server 9 のアップデータが出ていたので、以下のページより V2 をダウンロードしてインストールしようとしたのですが、Windows Server 2008 環境でこの Setup.exe を実行させるとエラーメッセージが出てしまい、続行できませんでした。

FileMaker Server 9v2 & FileMaker Server 9v2 Advanced Windows 版 アップデータ




やはり、対応を謳っていない環境でのインストールは無理、ということなのかもしれませんが、この件については引き続き調査中です。

2008-11-25

64 ビット版 Windows Server 2008 の IIS7 で php が動くようにする

64 ビット版の Windows Server 2008 に 32 ビット版のみ提供されている php5 をインストールするのには、ちょっとコツがいることがわかりました。

従来の方法ではまず動かない

従来どおりにインストールを行い、phpinfo() を表示させようとすると、エラー 503 が表示されました。ISAPI フィルタもハンドラマッピングも php 向けに指定したにもかかわらずエラーが表示されるので、ネットで調べてみると、DefaultApplicationPool の「32ビットアプリケーションの有効化」を[True]にすると良いとあったので、True にしてみたところ、程なくして DefaultApplicationPool が停止してしまいました。

そのときに報告されたものがこのイベントエラーです。

イベントID:2280
モジュール DLL C:\Windows\system32\RpcProxy\RpcProxy.dll を読み込めませんでした。このデータはエラーです。

暫く試行錯誤を繰り返していたのですが、この環境では ISAPI フィルタによる設定は無理そうだということがわかってきたので、途中で FastCGI を使う方法に切り替えました。

FastCGI で PHP を動かす
IIS 7 のインストールオプションで、CGI を選択して IIS7 をインストールすることによって、php-cgi.exe を呼び出して実行させることが可能です。

手順を説明します。
1. php5 の最新版をダウンロードして、適当なところに配置する(例:c:\php)。
php5 はここからダウンロードできます。
2. php.ini-recommended ファイルをコピーして php.ini というファイルに名称変更し、これをメモ帳などで開いて次に該当する行を修正して保存する。
(先頭のセミコロンを外して修正。該当するものがない場合は行を追加。)

fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
open_basedir ="c:\inetpub\wwwroot"
extension_dir = "./ext"

3. コントロールパネルより「システム」をダブルクリックして、左ペインのメニューから「システムの詳細設定」をクリック。“環境変数”ボタンをクリックして システム環境変数の一覧に表示される path 変数に php へのパスを追加。
(c:\php; を追加すれば良いです。)

4. インターネット インフォメーション サービス(IIS) マネージャーを開き、ハンドラマッピングから「モジュールマップの追加」を選択し、以下の情報を追加。

要求パス:*.php
モジュール: FastCgiModule
実行可能ファイル(オプション): C:\php\php-cgi.exe
名前:PHP

OK を押して保存します。

5. IIS を再起動して、php テストページを表示させる。
以下のファイルを作って phpinfo(); を入れた php ファイルを作成してブラウザで表示確認。

php の情報ページが表示されれば成功です。

今回は以下のサイトを参考にしました。
Using FastCGI to Host PHP Applications on IIS 7.0

2008-11-21

Windows Server 2008 の認証でつまずく

Windows Server 2008 を導入してから Windows ライセンス認証をするのを忘れていたのですが、残りが 31 日となっていたので、今のうちにライセンス認証をしておくことにしました。

ところが、認証手続きをしようとすると、次のようなエラーが発生。



ネットワークカードの TCP/IP 設定にも DNS サーバの IP アドレスがきちんと設定されていたため、ネット検索で以下の情報を見つけました。

Windows Vista のライセンス認証の手続きを行うとエラー メッセージ "エラーが発生しました" が表示される

要は、「プロダクトキーの変更」を選択して、プロダクトキーを入力することによって解決するということのようです。
プロダクトキーを入力しなおさなければならないのは、不正ユーザ対策のようですが、気づかないとこれで時間を取られてしまうので(私を含め)、ちょっと人騒がせな仕様だと思いました。

2008-11-20

Windows Server 2008 上で FileMaker Pro Server 9 は動作するか?

FileMaker社はこの構成をサポートしていないし、する予定もないらしい。

実際はどうなのか? 「Windows server 2008」「FileMaker Pro Server 9」をキーワードにググってみると、案の定、日本語ではほとんど情報がない。 やっぱり頼りになるのは英語サイト。


http://www.fmforums.com/forum/showtopic.php?tid/195407/



とりあえず動くらしい(「動かん」という人もいる)ということで、小社でもインストール。
どうやら動く。 上のサイトによると、動いているところでは、半年以上、問題なく動いているらしい。

とうことで、FileMaker社の保証はないけど、FileMaker Pro 5.5 に加え、FileMaker Pro Server 9 も Windows Server 2008 で動く(こともある)。

注:ファイアウォールでポート5003を開けるのを忘れずに。

2008-11-17

【Windows障害メモ】サーバの時刻が狂う

 ドメインコントローラのイベントビューアで NTP サーバのエラーが出ていました。
 イベント ID 11 NTP サーバー から応答がありませんでした

 NTP サーバの同期ミスということで、以下のコマンドを打って調べてみることにしました。

 NET TIME /querysntp

 結果は「このコンピュータは現在、特定の SNTP サーバーを使用するよう構成されていません。」だったため、外部の NTP サーバを登録して同期させることにしました。
 以下のサイトより、米国 NASA および東京大学の NTP サーバを指定してみました。

NTP サーバ一覧

 以下のコマンドで NTP サーバを指定することができます。この例では NASA の NTP サーバを指定しています。

 NET TIME /SETSNTP:198.123.30.132

 また、NTP サーバを複数指定したい時は、以下のように列記した NTP サーバ名(またはIPアドレス)を二重引用符で囲みます。この例では NASA の NTP サーバと東京大学の NTP サーバを一緒に指定しています。

 NET TIME /SETSNTP:"198.123.30.132 130.69.251.23"
 
 同期は 8 時間ごとに行われるということですが、レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters の Period 値を修正することで、同期の頻度を変更できます。


0 = 毎日 1 回。
65535, "BiDaily" = 2 日に 1 回。

65534, "Tridaily" = 3 日に 1 回。

65533, "Weekly" = 毎週 (7 日に) 1 回。

65532, "SpecialSkew" = 3 回正常に同期されるまでの間、45 分ごとに 1 回。その後、8 時間ごとに 1 回 (1 日に 3 回)。[デフォルト]

65531, "DailySpecialSkew" = 1 回正常に同期されるまでの間、45 分ごとに 1 回。その後、毎日 1 回。

freq= 1 日に freq 回同期する。


一応は NTP サーバーを設定して同期することは確認できましたが、例のイベント ID がまた出ていたので、ひょっとすると二つ指定したどちらかの NTP サーバとの同期に失敗したのかもしれません。

参考ページ:
W32Time サービスのレジストリ エントリ

【Windows障害メモ】 リモートディスクにアクセスできない

◇現象
アクセスできていたリモートディスクに、いつのまにかアクセスできなくなる
(NICを交換が原因か?)

発生イベント
イベントの種類: 警告
イベント ソース: LSASRV
イベント カテゴリ: SPNEGO (Negotiator)
イベント ID: 40960
日付: 2008/11/17
時刻: 11:29:53
ユーザー: N/A
コンピュータ: SC420
説明:
サーバー cifs/192.168.X.X の認証エラーを検出しました。 認証プロトコル Kerberos からのエラー コードは "指定されたユーザーは存在しません。
(0xc0000064)" でした。


◇解決策
http://www.eventid.net/display.asp?eventid=14&eventno=4189&source=Kerberos&phase=1

There were password errors using the Credential Manager. To remedy launch the Stored User Names and Passwords control panel applet (註:コンパネの「ユーザ名およびパスワードの保存」のこと)and reenter the password for the credential .

試してみて駄目だった(ような気がした)ので、エントリそのものを削除、さらに再アクセスしてアカウントとパスワードを再入力したらうまくいった。 尚、上記の「ユーザ名およびパスワードの保存」にこのときした入力したそれらは記録されず、どのような状況下でここに登録または誤登録されるのかは不明(調べていない)。

以上

【Windows障害メモ】ActiveDirectory へのログイン失敗

 最近、ネットワークコンピュータのうち一台がドメインに参加できなくなるという現象が発生しました。
 そのコンピュータに関しては、一ヶ月ほど前にネットワークカードを交換してからというもの、他のネットワークコンピュータからディスクドライブの参照ができなくなってしまいました。
 そしてつい先日、ActiveDirectory のドメインコントローラになっているサーバ機の Kerberos 認証サーバのリセット作業を行った後は、そのコンピュータはまったくログインできない状態となりました。

 ActiveDirectory サーバ機にはイベント NETLOGON ID 5722、クライアント機には NETLOGON ID 3210 が記録されたので、原因を調べてみると、ドメインコントローラでの認証エラーのようだったのですが、ネット検索により、以下の解決方法に辿りつきました。

Windows NT/2000/XP/2003 ドメインにログオンできない(その2)
ドメインに参加できない:コンピュータ・アカウントを登録し直す

 これらの情報に従って、一度そのコンピュータをドメインから外してワークグループにしてから、再度ドメインに参加させることによって、何とか解決することができました。
 単純なようで、意外とこれは裏技的な対応方法ではないかと思います。今回は上記サイトに助けられました。

2008-10-21

Panda MOP のファイアウォール設定方法

さて、前回は Panda MOP (Managed Office Protection) インストールのトラブルについて書いたのですが、うまくインストールできた MOP の設定もぼちぼち始めています。WebAdmin と比較すると、アンチウィルス機能にファイアウォール機能が追加になっているところが大幅なアップグレードなのではないかと思います。

 アンチウィルスとファイアウォールのどちらをインストールするかは、Web 管理画面(https://managedprotection.pandasecurity.com/console/)のプロファイルで設定します。
 最初は DEFAULT プロファイルしかありませんが、新しいプロファイルを追加していくことによって、アンチウィルスとファイアウォール機能のインストールおよび設定条件を細かく指定していくことができます。

 
 ファイアウォールの設定は、プロファイルページの左に表示される「ファイアウォール」をクリックします。同じプロファイルを持つコンピュータに対し、まとめてファイアウォールを適用することも、クライアント側で個別にファイアウォールを適用することができるのも特長です。管理するコンピュータ台数が多い場合は、サーバ側で一括管理するのが楽かもしれません。

 デフォルトで Panda ルールが適用されるので、基本的なファイアウォール設定は自動的に行われますが、管理者が個別にルールを追加することもできます。使用する通信系プログラムがわかっている場合は「プログラム」、ポート別に管理する場合は「システム」を選択して設定項目を入力します。

 この設定はリアルタイムに反映されるわけではないので、設定後に次回自動更新のタイミングまで待つか、クライアント側で個別にアップデートを実行します。
 

2008-10-20

Panda Managed Office Protection に泣かされる

 Panda WebAdmin AntiVirus (以下Webadmin)の後継版として Panda Managed Office Protection (以下 MOP)がリリースされました。これにより、WebAdmin の提供は今年一杯になるそうです...。
 ということは、WebAdmin を適用済みのすべてのコンピュータに於いて今年中に MOP への移行が必要になるというわけです。

 WebAdmin の提供が近々終了になるだろうということはある程度予想していたため、英語ベータ版としてリリースされていた MOP を 8 月中旬あたりから少しずつテストインストールしてきたのですが、インストールなんて簡単という予想に反し、トラブルが続出してしまったため、ベータ版の段階から MOP に対する不安が一気に募ってしまいました。

 当方で発生したトラブルはこのような感じです。

1. Vista に MOP をインストールした後に Panda アイコンをマウスで右クリックして表示される Update メニューで定義ファイルの更新を行おうとすると、以下のメッセージが出てプログラムがクラッシュする。

Panda Interface Manager Application [Local and Mail Alerts] は動作を停止しました。

2. 弊社の Windows XP 機においては、MOP インストール途中に再起動を促すメッセージが表示され、その指示に従って再起動を行うと、また同じ再起動メッセージが表示され、延々と再起動のループから抜けられなくなる。

3. Windows Server 2008 で MOP をインストール中に、「Downloading signature file」でエラーが発生してしまい、先に進めなくなる。
  この現象については、SonicWall のセキュリティ設定を修正したところ、無事インストールが続行できるようになりました。


 一応その他の Windows Server 2000, 2003, Windows XP マシンには MOP のインストールに成功したのでホッとしておりますが、上記 1.、2. については未決のまま....。まだ泣かされております。

 現在、WebAdmin お使いで MOP について御存じない方は、この機会に以下の情報をご覧になることを強くお勧めしたいと思います。
 Panda WebAdmin Antivirus製品の販売及びサポート終了(END OF LIFE)
 および後継製品Panda Managed Office Protectionへのマイグレーションのご案内

2008-10-10

拠点間VPNネットワークの構築 (2) --- 回線の冗長化

近年、インターネット回線やルータなどのネットワーク機器はかなり安定してきているようですが、回線かルータのいずれかが落ちると拠点間の通信は一切できなくなるので、冗長化する --- 回線とルータを複数用意する--- ことが重要です。 

【回線とルータの冗長化イメージ図】
画像を追加
上図のように、重要な拠点間の回線とルータは二重化または多重化しておきます。 回線は異なるキャリアのものを使用し、一つのキャリアの回線(例:NTT Bflets)が落ちても、生きている他のキャリア(KDDI)に切り替えて運用を継続します。 回線の切替は自動的に実行される(SonicWALLによる冗長化の例)が理想ですが、そのようなネットワーク構成は通常、高額になります。 よって、規模の大きくない拠点においては、障害発生時は手動によりTCP/IPプロパティのデフォルトゲートウェイを切り替えれば良いでしょう。 また、回線にかかる負荷を分散させるために、拠点にあるPCの何台かを1つの回線へ、残りのPCをもう一つの回線へと、通信をゲートウェイの指定により割り振るのも良いと思います。


デフォルト ゲートウェイの冗長化に関するメモ
TCP/IPプロパティのデフォルトゲートウェイに複数のルータのIPアドレスを指定して冗長化すれば、ルータの障害発生時に自動的にゲートウェイを切り替えてくれる筈だが、冗長設定を行うと、通信が不安定になる(断続的に切断される)ので要注意。


回線メモ
◇KDDI
インターネットゲートウェイ 
イーサシェア 光ファイバー、100Mベストエフォート型、¥184,800/月~(関東) *1
Business-ADSL 下り最大12Mbps/上り最大1Mbps、ベストエフォート型、¥27,000/月~ *2
  1. 田舎は使用できないところが多そう。
  2. 微妙に(一部)NTTの電話網を使っているようで、NTTが落ちた場合、影響を受ける可能性有。
◇Usen
光ビジネスアクセス  光ファイバー、100Mベストエフォート型、¥52,500/月~
  • 田舎では使用できない。

2008-10-09

拠点間VPNネットワークの構築 (1)

一昔前であれば、膨大な初期費用とランニングコストを要した拠点間の高速ネットワーク。 近年の光回線等のブロードバンドと、各種ネットワーク関連機器の普及と低価格化により、従来に比し非常に低価格で実現できるようになりました。 今回は最近、小社で手がけた小規模な支店間VPNネットワークの構築について紹介します。


要件定義(お客様、ご要望

  1. 4拠点間+α VPNネットワーク構築
  2. 回線冗長性(ルータや回線障害時に回線を切り替え、業務を継続できること)
  3. 主なアプリはFileMaker Pro 5.5
  4. Windows Server 2008 と Terminal Service を導入、支店でも社内LAN並みのパフォーマンスを出すこと
  5. 堅牢なセキュリティ環境と集中監視・管理
  6. システム管理者が拠点のネットワークを遠隔保守
  7. 初期コストを最小化する
  8. 社内システム管理者の負担を最小化
  9. 拠点間の通信コスト限りなく0に、そしてスムーズな意思疎通

と、テンコ盛りの要件、しかも低予算...



1. 4拠点間+αのVPNネットワークを構築する

本社、工場、支店、土屋企画、出先ノートPC(緊急対応用)間のVPNネットワークを構築。  このうち、本社、工場、土屋企画間はSite-to-Site VPN(SonicWALL TZ180同士で暗号化)、支店と出先ノートPCはVPNクライアントにGVP(SonicWALL Global VPN Client)を使用。


4. 回線冗長性

万が一の回線やルータ障害の時にも、工場で生産や配送の指図書や送状が照会・印刷できますように。 大分前ですけど、OCNが大規模回線障害で何時間も不通になってる、って、NHKの夜のニュースでやってもやってましたね。 はい、うちも被害者です。


3. 主なアプリはFileMaker Pro 5.5

少しはクライアント/サーバっぽいFileMaker 8.5とか9を使うと、クライアント⇔サーバ間のパフォーマンスもよくなると思うんですけどね…  お客様の暗黙の(しかも強力な)要請により、既存のFileMaker Pro 5.5/FileMaker Pro Server 5.5によるシステムを継続利用。 既存システムのできる限りの延命も重要なミッションでございます。


4. Windows Server 2008 と Terminal Service を導入

「2008でFileMaker Pro 5.5が動くん?」 --- Ans:はい、立派に動いてますね。 しかもTerminal Server 上で。 

「印刷は? ローカルディスク利用は?」 --- Ans:お客さんの環境では、問題なく動作しておりますです。 

「で、Vistaは?」 --- Ans:動くかも…


5. 堅牢なセキュリティ環境と集中監視・管理

SonicWALL と Panda で、統合的、集中的な管理。企業の社会的信用にかかわるセキュリティ関連リスクの低減に、万全を期しましょう。


6. システム管理者が拠点のクライアントPCを含むデバイスを保守

遠隔地よりシステム管理者(≒小社)が、サーバ、クライアントPC、ルータ(SonicWALL)、プリンタ等を管理・保守できるようにしています。 請け賜っているのは SonicWALLの保守と各PCのセキュリティ管理だけなのですが、「これ、セキュリティの問題ではありませんね」って言えるまでの調査過程で、大体は原因が判明してしまうんですけどね。


7. 初期コストを最小化する

  • Dell PowerEdge R300 (RAID 1)
  • Windows Server 2008 + Terminal Service Client ラインセンス
  • SonicWALL TotalSecure TZ-180 × 4台
  • Panda WebAdmin クライアントライセンス(追加ユーザ分)

合計60万位。 既成のハード/ソフトだけでこれだけはどうしてもかかってしまいます(クライアントPCやプリンタは既存のモノで新規導入無し)。 ホントに大変なのは、これらの機器やソフト、PC、プリンタを最適に設定して、テスト、テスト、そしてテスト。この部分は小社の営業努力で ・゚・(ノД`)・゚・


8. 社内システム管理者の負担を最小化する

経営者  「システム、特にセキュリティなんかじゃ飯は食えんのよ」

小社 「ごもっともでございます(トホホ...)」


9. 拠点間の通信コストを抑える

IP電話より、Skypeとか、AOL IMの方が、使い勝手も、生産性が高いですね。

(続く)

2008-08-13

SonicWALL を使った Site-to-Site VPN の構築

 VPN ルータ同士を接続して常時 VPN 接続を確立することを Site-to-Site VPN と言いますが、最近弊社では SonicWALL 同士の Site-to-Site VPN 接続の設定テストを行っています。

 VPN ルータが各終点に一つずつの場合は、比較的設定は容易です。
 基本的には VPN のポリシー設定で「主格 IPSec ゲートウェイ名またはアドレス」に対岸のルータアドレス(ゲートウェイアドレス)を入力し、「事前共有鍵」に任意の共有鍵コード(両方のルータに同じ共有鍵を設定)を指定し、そして「対象先のネットワーク」に対岸 LAN のネットワーク(たとえば 192.168.3.0)とサブネットマスクを指定するだけです。

 しかし、ネットワークが落ちたりすると業務に支障が出るような環境では、回線を複数用意しているところもあります。そのようなときに、現用回線と予備回線の両方に対して VPN トンネルを張っておき、現用回線がダウンしたときに予備回線の VPN トンネルを使うことがあります。これを冗長 VPN ゲートウェイと呼んでいるそうですが、この設定は、理屈では「主格 IPSec ゲートウェイ名またはアドレス」に現用回線のルータアドレス、「副格 IPSec ゲートウェイ名またはアドレス」に予備回線のルータアドレスを指定すれば動くということになっているのですが、何故か副格ゲートウェイの方だけが採用されている状態となりました。主格の方が無視されている状態なので、現在この原因について調査中です。

2008-08-04

Windows Server 2008 の TS EasyPrint について

 前回の投稿に引き続き、今回は Windows Server 2008 の TS EasyPrint の動作を検証してみました。
 TS EasyPrint とは、リモートセッションが確立されている場合に、クライアント側のローカルプリンタを使って印刷が可能となるものです。従来は、サーバ側にもクライアントのドライバをインストールしておき、プリンタポートマッピング設定をしておく必要があったのですが、TS EasyPrint ではユーザによるプリンタポートマッピングが不要となるため、ドライバをサーバ側に入れなくても良い、というシナリオになるのでしょう。TS クライアントは Windows Vista SP1 であることが最低条件のようですが。

 上記に従って、VPN 経由で TS 接続を行い、プリンタ情報を見てみると、最初のうちはクライアント側プリンタ 2 台のうち 1 台(Canon BJ 895PD)が「リダイレクトされた」という表現でサーバ側に表示されていることを確認できました。このプリンタを使ってテストページ印刷には成功しました。
 しかし、もう一台のプリンタ(Dell All-in-one Printer 810)は表示されることがなく、ポート設定をいろいろ弄ってやってみたのですが、努力空しくこちらの EasyPrint は実現しませんでした。

 そうこうしているうちに、Canon BJ 895PD も出てこなくなり、TS EasyPrint の不安定感が募ってきました。ひょっとすると VPN 経由だと不安定になる可能性が高くなるのかもしれません。

 この辺はもうすこし研究課題にしたいと思います。

参考:
Windows Server 2008 のターミナル サービス