1

SOHO 環境のインターネット gw の簡単なソリューションを考え出す必要があります。2 つのインターネット接続があります - メインは adsl リンク経由、バックアップは USB 3G モデム経由。どちらの接続も標準の PPP インターフェイスをエクスポートするため、コマンド ラインまたはスクリプトを介して簡単にオン/オフを切り替えることができます。スクリプトは次のことができる必要があります。

  1. メインのインターネット接続がまだ利用可能かどうかを、たとえば 30 秒ごとに確認します。
  2. たとえば、連続して 10 回 (つまり、約 300 秒間) 利用できなかった場合、メイン接続を切断し (まだ接続されている場合)、再接続を試みる必要があります。
  3. (2)で問題が解決しない場合は、メイン接続を切断し(接続されている場合も)、バックアップ接続をオンにする必要があります。
  4. (3) が正常に実行された場合は、定期的に (たとえば、1 時間ごとに) メイン接続に戻して、まだ使用できないことを確認する必要があります。そうでない場合は、その後、再度バックアップにフォールバックします。ある場合は、メインにとどまります。
  5. 上記のすべての遷移を単純なテキスト ログ ファイルに反映できます。

これらのタスクを簡単にするために、私が借りることができる提案や有用なコードスニペット/フラグメントはありますか?

4

1 に答える 1

2

次のスクリプトを使用すると、接続が確立されているかどうかを確認できます。いくつかのスリープとループを追加すれば問題ありません。

Function ExecPing(strTarget)
  Set objShell = CreateObject("WScript.Shell")
  Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strTarget)
  strPingResults = LCase(objExec.StdOut.ReadAll)
  If InStr(strPingResults, "reply from") Then 
    WScript.Echo VbCrLf & strTarget & " responded to ping."
    ExecPing = True
  Else
    WScript.Echo VbCrLf & strTarget & " did not respond to ping."
    ExecPing = False
  End If
End Function

ExecPing inputbox( "Give the ip/unc/url to ping:")
于 2013-04-30T13:56:23.483 に答える