LAB トンネル インターフェイス経由で到達可能なネットワーク内のデバイスへの /32 ルートを自動的に作成するためのバット スクリプトを作成しています。
これを行う必要があるのは、宛先へのルートがない場合に LAB トンネルを別のトンネル (企業トンネル) に設定し、その内部でパケットを自動的に転送する必要があるためです。したがって、企業トンネルの転送を防ぐために、ネットワーク内のデバイスのすべての /32 ルートを作成します。
次のスクリプトはトリックを行いますが、理由は不明ですが、機能する前に3〜4回実行する必要があります。(私はバットスクリプトの初心者です)
@echo off
c:
cd %systemroot%
set /P input=Please enter a LAB ID:
set /A labid=%input%
if %labid% GTR 98 (
if %labid% LSS 255 (
set "net=10.%labid%"
for /f "tokens=1-5 delims= " %%A in ('route print ^| findstr %net%') do (
echo Adding static routes for LAB %labid%...
set gatewayssl=%%C
echo Gateway is SSL interface: %gatewayssl%
for /l %%h in (1,1,254) do call :add_route %%h %gatewayssl%
goto:EOF
)
goto:EOF
)else (
echo Invalid Lab ID
goto:EOF
)
) else (
echo Invalid Lab ID
goto:EOF
)
:add_route
set ipaddr=%net%.0.%1
route add %ipaddr% mask 255.255.255.255 %2% metric 1
goto:EOF
通常、生成される出力は次のとおりです。
[...]>Z:\ALU\SGCC\LAB\labrouting.bat
Please enter a LAB ID:104
FINDSTR : Ligne de commande erronée
C:\WINNT>Z:\ALU\SGCC\LAB\labrouting.bat
Please enter a LAB ID:104
Adding static routes for LAB 104...
Gateway is SSL interface:
Manipule les tables de routage du réseau.
ROUTE [-f] [-p] [cmde [destin]
[route manual apperas many times because of the for loop...]
C:\WINNT>Z:\ALU\SGCC\LAB\labrouting.bat
Please enter a LAB ID:104
Adding static routes for LAB 104...
Gateway is SSL interface: 192.168.104.1
できる限り、このスクリプトを 3 回実行した後、最終的に機能します。この問題の原因を特定するのを手伝っていただけませんか?
平素より格別のお引き立てを賜り、厚く御礼申し上げます。
よろしくお願いします、
シルヴァン。