お知らせ

  • シスキュー技術部

OpenVPNの設定メモ

noimage

OpenVPNの設定メモ

OpenVPNについて OpenVPNはソフトウェアVPNの一つです。 オープンソースのSSL-VPNソフトウェアで、比較的設定も簡単で、鍵交換方式により、安全な接続が行えます。 WindowsやLinux、MacOSでも利用可能なので、幅広い範囲で利用が可能です。 OpenVPNの接続上の問題の発生 OpenVPNの設定はサーバー、クライアントでそれぞれ持つ必要があり、それらの内容は協調して設定されることになります。 今回、筆者が担当したのは、このOpenVPN上の通信が安定しない、接続されても十分なパフォーマンスが出ないというものでした。 実際に通信を行うと、OpenVPNの接続は確立していました。 相手先ローカルネットワーク上にあるWebサーバに対して、ブラウザによる接続は不安定、あるいはタイムアウトします。 pingはサーバーに対して正常に送出され、帰ってきます。 これらの障害を解決するうえで、サーバーの設定やログなどを確認する方法がありますが、現在自社で構築されたサーバーでなく、またこちら側の端末以外では正常に動作するとのことですから、サーバーの設定を見直すのは最後の手段としておきたいところです。 問題点の推測 OpenVPNで接続できているのに、通信速度が十分に出ない、あるいは不安定であるという場合、MTUの設定の見直しが重要になります。 MTUとは一度の一度のデータの通信量の最大をしめす数値です。MTUが回線の上で通信できる通信料を超えると、パケットの断片化が発生します。 パケットの断片化はパフォーマンスの低下をもたらし、パケットの再送などを繰り返していく過程で、このような通信の不安定が発生するのではないかと考えました。 そうであれば、pingのような小さいパケットが正常に通るのは納得のいくところです。 問題の解決 MTUの設定値を変更するためにはサーバーとクライアント両方の設定ファイルに、MTUの記述を行う方法がありますが、前述の理由でクライアントの設定のみで解決するのが最善の方法と考えました。 mssfixディレクティブでこれを指定することでMTUをクライアントの設定のみで変更できることがわかりました。 接続用のクライアント設定ファイル、ovpnファイルの最後に mssfix 1200 と追記して、再度接続を行ってみます。 Windowsのovpn設定ファイルは、ProgramFilesフォルダの中にありますので、VISTA以降のOSでは、エディタの権限を管理者にしておかないと、設定が反映されずに、VirtualSoteに保管されてしまうので、正常に書き込みが終わったようにみえて、変更されないので注意が必要です。 接続の結果、正常に通信が行えるようになり、正常なネットワーク速度が出るようになりました。 この辺りは回線の品質や、帯域にもよる部分ですので、多い目に幅を取って設定し、安定性を狙うか、ぎりぎりまで数値を大きくして、パフォーマンスを選ぶかというところになってくると思います。 これで今回の一件は解決となりました。

  • シスキュー技術部

Microsoft Accessの移行について

noimage

Microsoft Accessの移行について

Microsoft Office Suiteの中に含まれる、データーベースアプリケーションAccess(アクセス)について、過去にも Access2013へのコンバージョン Accessのリプレースシステム開発 という記事を書かせていただいております。 今回Accessがどうなるのか、今あるAccessの資産をどうすればいいのか、ということについて考えてみます。 Microsoftサポートへの問い合わせ 現在RTM(Release to manufactureing、製品リリース用バージョン)版が一部提供開始されているOffice2013ですが、これについて、気になる点をサポートに問い合わせてみました。 ・Office2013はいつ発売になるのか (回答)現在のところ、正確な発売日は決定されていない。 ・Office2013リリース後はOffice2010は継続して入手できるのか (回答)従来であれば、後継製品リリース後にも旧バージョンはしばらく併売となるのが慣例。今回、必ずしもそうであるとは回答できないが、Office2010がすぐに手に入らなくなることはないのではないか。 ・Office2013からOffice2010へのダウングレードなどはあるのか (回答)ダウングレードはないが、現在Office2010を購入すると、Office2013への無償アップグレードはある。現在Office2010を購入して、Office2013へアップグレードしても、アンインストールしてOffice2010を再インストールすることは可能。 ということでした。 AccessについてもOfficeSuiteの一部ですから、同様に考えることができるでしょう。 旧来のAccess資産について Access97のmdbファイルはそのままAccess2007/2010に変換することはできません。 この場合、一度Access2000あるいはAccess2003で一度形式変換すれば、Access2007/2010に読み込ませることが可能となります。 Access97はかなり古いバージョンではありますが、業務用途に作りこまれている場合、なかなか入れ替えが難しいという状況もあるのではないでしょうか。 ここで気を付けなければならないことが何点かあります ・LenBの挙動が変更されている LenBは文字列のバイト数を数えるVBA関数です。Access97では半角文字を1、全角文字を2として計算されていましたが、Access2000以降では、すべての文字が2として計算されるようになっています。 Access97も内部ではUnicode(UTF-16)としてデータを持っているようですが、以前のバージョンのVBAとの互換性のためにこのような仕様となっていたものと思われます。 UTF-16は一つの文字を16bit(2バイト)として取り扱う符号化形式ですので、半角英数文字も全角文字も2バイト文字として扱われます。 ・レポート、フォームなどで文字が切れることがある テキストフィールドの仕様が変更になったようで、そのままではレポートの文字が切れてしまう、入力フォームのフィールドの幅が足りないといったことが頻繁に起こります。 レポートやフォームを精査すれば、これらの変更には対応できますが、変換してすべてチェックしないと、レポートで一文字でも落ちていたりすると、重大な不具合になりかねません。 ・VBAでのコードの変更 コードを例示すると、Access97では下記になります。 [vb] Dim db As Database, cust As Dynaset, chk As String If IsNull(日付) Then Exit Function End If Set db = CurrentDb() Set cust = db.CreateDynaset("年月テーブル") [/vb] これが、Access2003以降では、下記のようになります。 [vb] Dim db As DAO.Database Dim cust As DAO.Recordset Dim chk As String If IsNull(日付) Then Exit Function End If Set db = CurrentDb() Set cust = db.OpenRecordset("年月テーブル",dbopenDynaset) [/vb] このように、Accessのバージョンに応じたVBAコードの書き直しが必要となります。 Access2013で廃止された機能 Access2010まで提供されていたアップサイジングウィザードは、ADPとともに廃止になるようです。 アップサイジングウィザードはAccessデーターベースから、SQLServerへデータを移行し、AccessをSQLServerのクライアントとして使用するツールです。 テーブルはそのままSQLServerのテーブルに変換、クエリはストアドプロシージャに変換して接続、フォームとレポート、マクロ、モジュールなどをAccessのADPで実行する形になります。 これらの機能がAccess2013ではなくなってしまいます。 必ずしもうまくいくケースばかりではない、あるいはSQLServerとAccessのバージョンの組み合わせなどでうまく完了しないといった問題もありましたが、これらの機能が完全になくなってしまうのは、AccessからSQLServerへのアップサイジングの手段が一つ失われることになります。 Accessをこれからどう扱えばいいか 旧来の資産を活かす、あるいはSQLServerへのアップサイジングを予定している場合は、Access2010が発売されているうちに行うべきかもしれません。 Windwos8ではAccess2003以前のAccessが動作サポートされていないため、これから新規にPCを調達する場合はWindows7へのダウングレード権と所有しているAccessのバージョンを確認しておくことも必要です。 Accessはデータベースとしての基本機能と、レポート、フォーム、VBAの開発環境が一体となっており、代替のソフトウェアについては乏しいのが現実です。 互換性はありませんが、FileMakerが同じような分野のソフトウェアといえます。 .netで作成されたクライアントとSQLServer環境への移行についても、それなりの規模の開発となります。 弊社でもAccessから.net+SQLServer環境への移行は複数行っておりますので、もしお力になれるようでしたら、一度ご相談ください。

  • シスキュー技術部

Hamachiの変更について

noimage

Hamachiの変更について

お手軽なVPNソフトにLogmeIn Hamachiがありますが、これに本日変更が加えられました。 従来5.0.0.0/8のアドレスが割り振られていましたが、これが25.0.0.0/8のアドレスに変更になりました。 IPアドレスが最初の1バイトが5から25に変更された以外、残りの3バイトのアドレスは同じようです。 宛先のアドレスをHamachiに付与されたアドレスで利用している場合は、変更が必要です。 この変更はすべてのHamachiのユーザーに適用されているようです。 http://b.logme.in/2012/11/07/changes-to-hamachi-on-november-19th/ 上記Blogに詳細が告知されています。

  • シスキュー技術部

ClamAVがアップデートした際にfreshclamが正常に動かない

noimage

ClamAVがアップデートした際にfreshclamが正常に動かない

当サーバはClamAVというアンチウィルスソフトで保護されていますが、このClamAVの日々の更新がうまくいっていない旨のメールが届くようになりました。 メール本文は以下の通り /etc/cron.daily/freshclam:ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).   freshclamは定義ファイルの更新プログラムですが、それがログを追記できないのが原因のようです。 早速リモートでサーバーに接続して/var/log/clamavのあたりをチェックしてみます。 すると所有者がclamに変更されており、clamavやfreshclamはclamavの権限で動作するよう設定していますので、この齟齬がエラーの原因と考えられます。 この状態でfreshclamしても、ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log). メール本文と同じエラーが出力されます。   この/var/log/clamavあたりの所有権を訂正しないと、clamavが定義ファイルを更新できないので、 [bash] # chown –R clamav:clamav /var/log/clamav [/bash] として、/var/log/clamav以下のディレクトリをclamavの所有権に変更します。 これで [bash] # freshclam [/bash] すると、ClamAV update process started at Mon Oct 15 13:39:27 2012nonblock_connect: connect timing out (30 secs)Can't connect to port 80 of host db.jp.clamav.net (IP: 219.106.242.51)Downloading main.cvd [100%]main.cvd updated (version: 54, sigs: 1044387, f-level: 60, builder: sven)Downloading daily.cvd [100%]daily.cvd updated (version: 15460, sigs: 276636, f-level: 63, builder: guitar)bytecode.cld is up to date (version: 190, sigs: 36, f-level: 63, builder: neo)Database updated (1321059 signatures) from db.jp.clamav.net (IP: 211.10.155.48) エラーも出ず、正常に終了しました。 (追記) ふたたびcronが正常に動作していないメールが流れてきていました。/etc/cron.daily/freshclam:ERROR: Can't create temporary directory /var/lib/clamav/clamav-fb2e8913efa2473d6fce1646e98b3a64 定義ファイルを格納してる/var/lib/clamavディレクトリも所有者がclamになっています。 そこで同様に [bash] # chown –R clamav:clamav /var/lib/clamav [/bash]して [bash] # freshsclam ClamAV update process started at Thu Oct 18 10:19:09 2012 main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven) nonblock_connect: connect timing out (30 secs) Can't connect to port 80 of host db.jp.clamav.net (IP: 219.106.242.51) Downloading daily-15461.cdiff [100%] Downloading daily-15462.cdiff [100%] Downloading daily-15463.cdiff [100%] Downloading daily-15464.cdiff [100%] Downloading daily-15465.cdiff [100%] Downloading daily-15466.cdiff [100%] Downloading daily-15467.cdiff [100%] Downloading daily-15468.cdiff [100%] Downloading daily-15469.cdiff [100%] Downloading daily-15470.cdiff [100%] Downloading daily-15471.cdiff [100%] Downloading daily-15472.cdiff [100%] daily.cld updated (version: 15472, sigs: 277314, f-level: 63, builder: ccordes) bytecode.cld is up to date (version: 190, sigs: 36, f-level: 63, builder: neo) Database updated (1321737 signatures) from db.jp.clamav.net (IP: 219.94.128.99) [/bash] 同様のエラーが出力される場合は、いちどClamAVで設定されているユーザーと、ログファイルディレクトリや定義ファイルディレクトリの所有権に齟齬がないかを確認してみてください。

1 2 3