NAT突然Hyper-VのNATが動かなくなってしまって面倒になってRASをアンインストールして、さてどうしようかと仮想アダプタとかを眺める。ケチがついてレジストリかメタデータベースの奥底にゴミが残っているのだろうと、全部まず削除した。Hyper-Vゲストはネットワーク無し状態となる。ホストOSは、固定IPアドレスが1つふられているだけなので、これをうまく利用する必要があるわけだ(ふられているIPアドレス以外で外に出ようとするとルータ警察に見つかって連行されることになるからNATを使うしかないのだった)。Hyper-Vというのが目についた。Shellのコマンドレットにいろいろ用意してあるようだ。Shellで動かしたらパラメータが違って怒られるのもあるが入るのもある。仮想スィッチを作ってみる。作った仮想スィッチを見てみる。10のWebで見かける例だとInternalIPInterfaceAddressPrefixというパラメータがあるが、2012R2だとExternalIPInterfaceAddressPrefixで逆なのが不思議きわまりない。外部IPアドレスで、無事にHyper-Vのゲストにここで作った内部スィッチを割り当てると外に出られるようになったし、StaticMappingで受けもできるようになった。こんな楽ちんなものがあったのか。今までRASでさんざんわけのわからないパラメータで苦労したのは何だったのだ?が、ホストのDNSクエリがすべて失敗する(IPアドレス指定のTCP/IPはすべて成功するので、どうもこのNATは何かがおかしい。動作していたときのRASではホストはホスト、ゲストもホストで動いていたわけだが)。Analyzerで見るとDNSクエリに対してレスポンスは返っているのだが(なんで*Module=DNSでフィルタリングできないんだろう?)、ホストOS上のDNSクライアント(nslookupとか)にはレスポンスが戻っていないようでみんなタイムアウトする。これはやってられないなぁ。Hyper-Vのゲスト群は元気に動く。多数決でホストに犠牲になってもらうことにするのだが、実に釈然としない。