サービスを備えたWebサーバーに向かうWindowsサーバー上の静的ルートを追加する必要があります。 Windowsコマンドプロンプトでこのコマンドを使用して静的ルートを追加する必要があります。
ROUTE ADD -p IPADREESS GATEWAYIP
IPアドレスの代わりにDNSアドレスへのスタティックルートを実行する方法はありますか?どうやって ?
例えば:
ROUTE ADD -p DNSServer GATEWAYIP
route add
コマンドの構文は次のとおりです。
route adddestinationmaskサブネットマスクゲートウェイmetriccostmetricifインターフェース
宛先は、ネットワークのIPアドレスまたはホスト名またはホスト。
例:
route add webservices.example.com mask 255.255.255.255 10.11.12.13
このMicrosoftの記事を参照してください:静的IPルートを追加するには
エントリはIPアドレスに解決されるので、ホスト名のDNSが変更されても、ルーティングテーブルには元のIPアドレスが残っていることに注意してください。
これは私が使用する回避策の詳細です。このバッチスクリプトを使用できます。タスクスケジューラに追加するだけで、PCが起動するたびに実行されます。これにより、ドメイン名のIPが取得され、ルートが追加されます。
:: Get IP of Domain name
setlocal EnableDelayedExpansion
set myServer=your.server.com
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 !myServer!') DO (
if "%%b" NEQ "" set myServerIP=%%b
)
echo ip is %myServerIP%
route add %myServerIP% mask 255.255.255.255 <gateway ip address>
EXIT
-pオプションを使用しないでください。使用すると、ルートが永続的になります。ドメインIPが定期的に変化し続ける場合は、タスクスケジューラを使用して、これらの間隔でこのスクリプトを実行します。お役に立てれば!
いいえ、ネットワーク層にはありません。おそらくプロキシのようなものを使用して目標を達成できます。スクリプトを使用して動作をエミュレートすることもできますが、それはおそらく間違いです。
明確にするため、私のポイントは、ホスト名に基づいて動的にルーティングできないことでした。私はスプラッテンが言ったことに異議を唱えていません。
IPアドレスの代わりにDNSアドレスへのスタティックルートを実行する方法はありますか?どうやって ?
いいえ。ただし、/ etc/hostsをローカルでオーバーライドすることで、希望どおりの結果が得られる可能性があります。
これが私の経験から役に立った一例:
私は、(「新しい」ネットワーク上に)多忙なリバースプロキシを使用しています。これらのソースの1つに到達するには、トラフィックは古いネットワークを通過する必要があるため、回避することが望ましいです。ただし、そのバックエンドホストに(新しいネットワーク上に)別のインターフェースを追加した場合、トラフィックを新しいネットワークに通過させることができます。そのため、この特定のケースでは、バックエンドサーバーの新しいIPを指すリバースプロキシ/ etc/hostsを上書きするだけです。
(Windowsの場合、C:\ Windows\System32\drivers\etc\hostsを変更するだけです)
別の例として、今回はブラウザープロキシを使用します。
私は最近、私たちのWebサイトにメジャーアップグレードを展開しており、実際にテストを実施してもらいたいと思っていました(つまり、稼働後に使用されるURLと同じです)。
したがって、この場合、新しいマシンにブラウザ/フォワードプロキシ(squid)をセットアップし、/ etc/hostsを変更して新世界のIPを指すようにし、DNSは旧世界のIPのままにしておきます(住む)。その効果は、このプロキシを使用するようにブラウザを構成した場合、新世界のWebサイトに移動し、それ以外の場合、旧世界のWebサイトに移動したことです。また、どのURLがプロキシーを使用するか、その他のURLはすべてダイレクトにする必要があるかを示す一連のルールを含むPAC(プロキシー自動構成)ファイルをセットアップしました。かなりうまくいった。