複数NICの場合に、どのNICが利用されるかについて

Windowsで複数NICを搭載している場合、どのNICが利用されるのかを調べたのでメモ。
ちなみに背景は、複数のWANに接続するサーバを構築する場合に、どのように設定すれば各通信を意図通りのゲートウェイに渡して貰えるかを確認すること。

インタフェースの優先順位

Metric値が小さい方が優先される。
Metricは以下の2種類の指定方法がある。設定は、IPアドレス設定画面>詳細設定>自動メトリック にて。

  • 自動設定(インタフェースの物理的な最高速度に応じてWindowsが自動設定)
  • マニュアル設定

Metric値が同じ場合は、優先順位が高い方が利用される。
優先順位の設定は、ネットワーク接続の表示>(メニューの)詳細設定>詳細設定 にて。上側ほど優先度高。

異なるDNSサーバ指定

以下の順序で解決を試みるらしい?
1. 1番目のインタフェースの優先DNS
2. 2番目のインタフェースの優先DNS
3. 1番目のインタフェースの代替DNSと、2番目のインタフェースの代替DNS

複数ネットワーク、異なるデフォルトゲートウェイ。利用インタフェースを指定しての通信

どうやら、普通は複数ネットワークに属するサーバは作らないよう。
それでもやりたい場合は、静的ルートの設定を行うことになる(つまり、ルーティングしちゃう)。
しかし、 route add ではホスト名指定でのエントリー登録はできないので、通信先のIPをあらかじめ調べて登録する必要がでてくる。
しかし、通信先が動的アドレスの場合は、これだと上手いやり方でない(IPが変わる毎に静的ルートの更新が必要になるため)。
となると、アプリないしミドルウェアレベルで、通信に利用するインタフェースを指定とかできれば比較的シンプルに解決できそうだ。
・・・が、そんな設定やAPIは一般には提供されてないのか・・???