RTX810 の DNS が 起動してしばらくすると反応しなくなる

社内ネットワークで、インターネット、メールセグメントを分割するために、RTX810を設置してIPマスカレードで、事務所ネットワークと接続することにしました。

 

事務所ネットワークセグメント 192.168.1.0/24 で

インターネット、メールセグメント 192.168.2.0/24  とします。

 

事務所ネットワークセグメントは、インターネット・メールセグメントにアクセスする必要がないので、あえてルーティングせずに、IPマスカレードで192.168.1.253にインターネットセグメントのIPを変換します。

 

というところまでは、前もやっていたので問題なし。

さて、今回はメールだけ通すフィルタを設定し、ほかの通信はすべて遮断します。

必要なのは、DNS の通信と、メール送信のサブミッションポートと、受信のポート(私のところは995でした)の通信を通すところ。

試行錯誤してできました!(これは次の記事で書きます。)

 

さて、様子を見ていると、しばらくするとなぜかメールの送受信ができなくなりました。? nslookup ~.co.jp でDNSの解決を試みると、なぜかタイムアウトします。

?? RTX810 を再起動してみると。 つながりました!・・・・またしばらくすると送受信でエラーが出ました。DNSも解決できなくなる。意味がわからないいい。

 

何を試してもうまくいかないので、クライアントPCのDNSサーバの設定を、事務所ネットワークセグメントのDNSサーバに設定すると、安定してくれました。

しかしなぜ、RTX810のDNS参照機能がダメなのか?????

 

次の日、いろいろ試しているうちに、事務所セグメント側からのPING に4回中の最初だけ反応して次からタイムアウトする現象に出会いました。

LANケーブルの不良か? ケーブルを抜き差しして確認しましたが、やはり症状は治まりません。

 

フリーズ(?)するタイミングは、再起動して一分くらい。

機器の不良(中古でした)を考えて、別のRTX810に設定を流し込んで試しましたが、

同じような挙動をします。

フィルタを一度はずし、IPマスカレードの設定も見直して、だんだん原因の範囲が狭まってきました。原因はわかりませんが、とにかくDNSが解決できないということですね。

show log reverse で何度もログをみましたが。

フィルタできちんとパスしています。が、戻ってこない。意味が分からない。

ここで一度整理します。

1 フィルタや、IPマスカレードの設定不備ではない。(フィルタは無効にした)

2 クライアント側の問題ではない。

3 RTX810が壊れているわけではない。

4 ログを見ると動作しているが、DNSの応答が返ってこない。

5 ケーブルの問題ではない。

6 RTX810のDNSの設定は問題ない。

 

さて、最初に疑われた1については、フィルタをオフにすることで原因ではないことが分かりました。IPマスカレードも問題なく動作しているように思えます。

 

次に2。そういえば、一つのイーサネットアダプタに複数のIPアドレスを設定すると、特定のIPと通信できなることがありました。(なぜかはわからない)

それを思い出して、IPを確認し、念のために他のネットワークアダプタは全て無効にしました。

さて、最も深く疑った3の、RTX810が壊れているですが。

他の稼働しているRTX810に同じ設定を流してみたところ、現象が再現したので、これも否定されました。危うく返品するところでした。

 

なんかフリーズしているように見えるので、ログを見たところ、機器に異常はなく、動作しているように見えるログでした。

わからない・・・。けどおかしい。

 

そして何度目かのログ確認でついに見つけました。

2018/08/07 10:30:18: ARP: Duplicate IP address(192.168.2.XXX) 00:a0

IPが重複していたのでした。

IPの変更により、動作は完全に安定しました。

1日かかりました・・・・・。

OutLook VBA で送受信の開始を検出する

以前、OutLookVBAで、送受信の終了を検知する記事を書きましたが、

今度は、「送受信の開始」を検出する必要が出てきました。

 

その方法。

以前とほとんど一緒ですが。

 

'以下をClass1に記述します。

Dim WithEvents mySync As Outlook.SyncObject

Sub Initialize_handler()
    Set mySync = Application.Session.SyncObjects.Item(1)
    mySync.Start
End Sub

'↓これで送受信のスタートを検知できます。

Private Sub mySync_SyncStart()
    MsgBox "送受信開始"
End Sub

'↓これで送受信の完了を検知

Private Sub mySync_SyncEnd()
    MsgBox "送受信が完了しました"
End Sub

 

'以下をThisOutLookSessionに記述します

Private Sub Application_Startup()
    Set ReceiveObj = New Class1
    Call ReceiveObj.Initialize_handler
End Sub

 

’以下を標準モジュールに記述

Public ReceiveObj As Object

 

※注意 サンプルソースでメッセージボックスを、送受信開始、送受信終了で表示していますが、送受信が終了する前に、「送受信開始」のメッセージボックスを消さないと、「送受信が完了しました」のメッセージは表示されません。

VirtualBox で ヴァーチャルマシンが起動しない話

BIOSで VT を 有効にしているのだが、

なぜか再起動しても VT-x が有効にならない。

何をしてもヴァーチャルマシンが起動しない。

 

 

 

asus のマザーなのだが、

BIOSをのCPUのところには、VT の設定がなくて、

他の場所に見つけた。

システムエージェント設置に、VT-d が。

これを有効にしてみる。

 ダメ。

Hiper-Vが有効だとだめだと聞いて、

Hiper-Vをチェックするとちゃんと無効になっている。

一度有効にして無効にしてみるが効果なし。

 

もう一度BIOSを見ると。

 

CPUのところに、ひっそりと縦スクロールバーがありました。

隠れていただけでした。

Intel(R) Virtualization Technology !!!!!!!

やった!!!

有効!

マネージ デバッグ アシスタント 'DisconnectedContext'  VB.NET で発生。 Excel出力

一度の処理で、100個くらいのエクセルファイルを出力する処理を作りました。

 

ループしながら、出力、保存を繰り返すのですが、

大体同じようなタイミングでエラーが発生し、

20個目のエクセルを出力、保存し終わって、

エクセルのオブジェクトをReleaseComObjectするときにエラーが出ているようです。

21個目のこともあれば、もっと早くエラーが起こることもあります。

 

'DisconnectedContext'が検知されるのですが、これは無視することができます。

'DisconnectedContext'で停止しないように、チェックを外したところ、

今度は

'ContextSwitchDeadlock'

が発生しました。

色々検索すると、DoEvents するとよいとのことでしたので、

 

エクセルを出力、保存、ReleaseComObjectの後に、DoEventsすると、

'ContextSwitchDeadlock' は解消されました。

同時に'DisconnectedContext'も解消されました。

VB.NET WindowsService から画面をロックする 3

 さてさて、もともと指紋認証アプリのための仕組みだったのですが、

なぜか、バックアップバッチが走っているサーバ上で、タスクスケジューラに登録された指紋認証アプリが起動しないとのこと。

 

うーん。バックアップバッチが最初に走って、それが終わるまで起動しないのだろうか?それとも他の要因が?

とりあえず実験をして検証をしてみるつもりです。

 

ダメならスタートアップに入れるか。

 

エクセル VBA Rangeメソッドが失敗する

VBAでRangeメソッドが失敗するので、少し悩みました。

 

エラーがでるのは .Range("A1") = "テスト"

のところ、値を入れるだけでエラーが?

と思いましたが、

 

WorkSheetChangeのなかで、A1の値が変更されると、A1に書き込むようにループになっていたようでした。

ループしてWorkSheetChangeが起きないようにしたら、治りました。

Amazon FireFox ログインできない カスペルスキー

なぜか昨日2018/06/16の夜から、FireFoxでアマゾンにログインできなくなっていました。

???不正ログインとか思ったけれど、そうでもなさそう。

 

いつの間にか英語版になっていたFireFoxを一度アンインストールし、再度インストール。その際に情報をクリアしました。

すると、あらゆるサイトに「証明書が~」といわれるようになったので、

 

カスペルスキーの証明書をFireFoxにインストールしたら、

無事、アマゾンにログインできるようになりました。

どうもカスペルスキーで安全な接続で開くときに、エラーが起こっていたようです。