it-swarm-ja.com

IPアドレスを使用して共有にアクセスする場合でもVPNを使用するWindows

Windows10マシンから同じサブネット内のWindowsServer 2012R2マシンに接続しています。また、オフィスに接続するOpenVPN接続があり、サーバーにも独自の接続があります。

サーバー上のファイルにアクセスしているときに、気付かないうちに接続がVPNを経由することがあります。もちろん、これは私が望んでいることではありません。ローカルネットワークでギガビット接続があり、VPN経由で非常に遅いからです。

これについての奇妙なことは、ローカルIPを指すようにhostsファイルのサーバー名を設定したことです。さらに奇妙なことに、エクスプローラーのアドレス行に\\192.168.23.45\shareを書き込んだとしても、接続は実際にはVPN(\\10.12.34.56\shareになります)を経由します。

正しく動作させる唯一の方法は、VPNを無効にし、ファイルにアクセスしてから、VPNを有効にすることです。

neverそのサーバーのVPNアドレスの使用を試みてalwaysであることをWindowsに伝える方法はありますか?ローカルネットワークアドレスを使用しますか?

ローカルルートのメトリックは、たとえば276であり、VPN接続の場合、VPN接続の使用を停止するために5120に設定されます。それでもWindowsは、指定されたIPを無視し、VPNを通過するIPを使用することにしました。

ローカルネットワークは192.168.23.0/24で、VPNネットワークは10.12.34.0/24なので、完全に分離されています。 VPNにはIPv6がなく、ローカルネットワークにはローカルIPv6アドレスがあります。

ファイルの転送中やファイル共有で何でもしているときにOpenVPNを停止することもできます。 Windows 10マシンは少し待ってから、非VPN接続に切り替えて続行します。また、再起動すると、転送はVPN接続に切り替わります。したがって、Windowsは、私が指定したIPを使用するだけでなく、そのサーバーに使用するIPを内部的に選択しています。

サーバーも2016年にアップグレードされましたが、何も変更されていません。問題はどういうわけかWindows10マシンにあります。これは、同じサブネット、同じドメイン、同じOpenVPN構成にある別のWindows10マシンからもまったく発生しません。しかし、そのマシンは通常、イーサネットおよび/またはより良いwifi接続を備えています。

編集:ある時点で、WindowsはOpenVPNアダプターを1Gbpsネットワークと見なし、もちろん1Gbpsではないwifiよりも優れていると考えているように見えました。それで、もしそうなら、「この機能を無視する」と言う方法はありますか?または、「VPNは実際には悪い悪いネットワークです。他の方法を使用できない場合にのみ使用してください」と言いますか?

編集:ルーティングテーブルは次のとおりです。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0   192.168.23.254   192.168.23.220    266
       10.12.34.0    255.255.255.0     10.100.101.1    10.100.101.14   5120
     10.100.101.0    255.255.255.0         On-link     10.100.101.14    356
    10.100.101.14  255.255.255.255         On-link     10.100.101.14    356
   10.100.101.255  255.255.255.255         On-link     10.100.101.14    356
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
    VPN.SERVER.IP  255.255.255.255   192.168.23.254   192.168.23.220   5120
     192.168.23.0    255.255.255.0         On-link    192.168.23.220    266
   192.168.23.220  255.255.255.255         On-link    192.168.23.220    266
   192.168.23.255  255.255.255.255         On-link    192.168.23.220    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link    192.168.23.220    266
        224.0.0.0        240.0.0.0         On-link     10.100.101.14    356
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link    192.168.23.220    266
  255.255.255.255  255.255.255.255         On-link     10.100.101.14    356
===========================================================================

前述のように、VPNがオンの場合、\\192.168.23.45\shareにアクセスすると代わりに\\10.12.34.56\shareに接続します。 192.168.23.0/24アドレスが使用可能な場合は、10.12.34.0/24ブロック内の他のマシンと同じように。 VPNがオフの場合は、問題なく動作します。ファイルのコピー中にオフにすると、透過的に192.168.23.45に切り替わります。オンに戻すと、再び10.12.34.56に透過的に切り替わります。ルーティングはどこでも問題なく、当然、10.12.34.0/24アドレスしかないサーバーは、notを持っている192.168.23.0/24内のマシンと同じように問題なくアクセスできます。 VPNブロックのアドレスは問題ありません。

サーバーの内部DNSには2つのIPが設定されており、他には何もありません。したがって、Windowsが何かを解決したい場合は、IPを取得できず、取得しないため、動作を説明できません。

これがWiresharkのダンピング情報のショットです。ご覧のとおり、私は\\192.168...パスに移動しましたが、Windowsはまだ10.100.101.21に共有とファイルに関する情報を要求します。したがって、アドレスバーに手動で書き込んだIPではなく、文字通りサーバーの他のIPを使用することに疑問の余地はありません。

enter image description here

以前に書いたように、wifiアダプターは300Mbps、VPNは1Gbpsであり、VPNが低速として表示されることがありましたが、これは発生しませんでした。したがって、明らかに1Gbps接続ではない場合でも、サーバーへの接続には1GbpsVPNがwifiよりも優れていると想定しているのはWindowsである可能性があります。しかし、これに関する情報も無効にする方法も見つかりません。

TAPアダプターには、1Gbpsからそれよりも小さいものに変更するための設定がありません。

arp -a

Interface: 192.168.23.220 --- 0x5
  Internet Address      Physical Address      Type
  192.168.23.45         d8-cb-8a-xx-xx-xx     dynamic
  192.168.23.254        c4-6e-1f-xx-xx-xx     dynamic
  192.168.23.255        ff-ff-ff-ff-ff-ff     static
  224.0.0.2             01-00-5e-00-00-02     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  224.0.0.252           01-00-5e-00-00-fc     static
  239.255.255.250       01-00-5e-7f-ff-fa     static

Interface: 10.100.101.14 --- 0x7
  Internet Address      Physical Address      Type
  10.100.101.1          e2-e0-45-xx-xx-xx     dynamic
  10.100.101.21         00-ff-52-xx-xx-xx     dynamic
  10.100.101.255        ff-ff-ff-ff-ff-ff     static
  224.0.0.2             01-00-5e-00-00-02     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  224.0.0.252           01-00-5e-00-00-fc     static
  239.255.255.250       01-00-5e-7f-ff-fa     static
  255.255.255.255       ff-ff-ff-ff-ff-ff     static

また、ファイルVPNなしのコピーを開始し、途中でVPNをオンにするとどうなるかを再度ダンプしました。 domain.local(接続しているサーバーではなく、ドメインのみ)に関するDNSクエリ、WPADクエリ、SRVレコードクエリ、ネットワークへのマシンのNBNS登録、プロトコル要求/応答のネゴシエーション、セッションセットアップ要求があります/ Responseを実行すると、中断することなく直接接続した場合、代わりにファイルデータがVPNを介して流れ始めます。

1
Sami Kuhmonen

質問が異なって書かれたときからの古い答え

Windows 10がVPNsplit-dnsに対してDNS要求を発行する方法が原因で、VPNでDNS待機が発生する可能性があります。これは、以前のWindowsバージョンとは大きく異なります。

Windows 10は、すべてのアダプターと並行してDNSクエリを発行し、最初の回答を取得して到着することになっています。

残念ながら、最初の回答を受け取るのではなく、すべての回答を待つ場合があります。この新しいバグがまだ修正されていない場合は、動作を可能な限り以前のWindowsバージョンの動作に戻すために、次のレジストリの変更を行います。

DisableSmartNameResolution(DWORD)

レジストリキー内HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
値は、無効にするには1、スマート解決を有効にするには0です。
From スマートマルチホーム名前解決をオフにする

マルチホームDNSクライアントがネットワーク全体の名前解決を最適化する必要があることを指定します。この設定は、すべてのネットワークにわたって並列DNSリンクローカルマルチキャスト名解決(LLMNR)およびNetBIOS over TCP/IP(NetBT)クエリを発行することにより、パフォーマンスを向上させます。複数の肯定応答が受信された場合、ネットワークバインディングの順序を使用して、受け入れる応答が決定されます。このポリシー設定を有効にすると、DNSクライアントは最適化を実行しません。 DNSクエリは、最初にすべてのネットワークで発行されます。 DNSクエリが失敗した場合はLLMNRクエリが発行され、LLMNRクエリが失敗した場合はNetBTクエリが発行されます。このポリシー設定を無効にするか、このポリシーを構成しない場合、DNS LLMNRおよびNetBTクエリを発行するときに、名前解決の設定が最適化されます。

DisableParallelAandAAAA(DWORD)

レジストリキー内HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
値は有効にする場合は0、DNS AおよびAAAAクエリが構成済みのすべてのDNSサーバーで並行して実行されるのを無効にする場合は1で、理論的には最速の応答が最初に受け入れられます。

PowerShellを使用してこれらのポリシーを設定することもできます。

Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters‌​" -Name DisableParallelAandAAAA -Value 1 -Type DWord
1
harrymc

OpenVPNには、他の物理アダプターと一緒に「仮想」ネットワークアダプターがコンピューターにインストールされている必要があります。

この記事にあるように、これらのネットワークアダプターの優先度を変更してみてください: https://blogs.technet.Microsoft.com/networking/2015/08/14/adjusting-the-network-protocol-bindings-in -windows-10 /

OpenVPNインターフェースを物理アダプターよりも多く(優先度を低く)する必要があります。

1
Appleoddity

コンピューターにイーサネットとVPNの2つのネットワークインターフェイスがあり、1つの特定のネットワークインターフェイスでネットワーク共有にアクセスするためにSMBを使用していますが、同じ名前の共有を使用していることに気付きますが、他のネットワークインターフェイス上。共有をホストしているコンピューターにIPアドレスを使用しても効果はありません。

Server Message Block(SMB) は非常に古いプロトコルであり、インターネットとIPよりずっと前からのものです。 Microsoftの記事 SMB over TCP/IP の直接ホスティングには次のフレーズがあります:

NetbiosSmbはグローバルデバイスであり、アダプタごとにバインドされていません。つまり、Microsoftネットワークのファイルとプリンターの共有を完全に無効にしないと、Windowsで直接ホストされたSMBを無効にすることはできません。

VPN上の一部のコンピューターがネットワークのマスターブラウザーとして設定されていると思います。そのため、ルーティングテーブルに関係なく、すべてのSMB要求はVPNに送信されます。VPNマスターブラウザーは送信されません。要求されたIP、共有名のみを確認し、指定された共有に接続します。

VPNアダプタのプロパティを変更することで役立つ可能性のあるいくつかの対策:

コントロールパネル>ネットワークとインターネット>ネットワーク接続に移動し、VPNネットワークアダプタのプロパティを入力して、次のことを試してください。終了したら、[OK]をクリックします。

  • 「Microsoftネットワークのファイルとプリンターの共有」を無効にします。

  • [インターネットプロトコルバージョン4(TCP/IPv4)]をクリックし、[プロパティ]ボタンをクリックし、詳細ボタンをクリックして、WINS]タブに移動します。 [NetBIOS over TCP/IPを無効にする]を設定し、[OK]をクリックしてアダプタのプロパティに戻ります。

  • 「インターネットプロトコルバージョン6(TCP/IPv6)」を無効にします。

上記のいずれかの方法で問題が解決した場合は、VPNアダプターを作成するときに最初に設定したことについてVPNサポートに苦情を申し立てることができます。


「Microsoftネットワーク用のファイルとプリンターの共有」のネットワークアダプターオプションは、使いやすさのために、コマンドラインから無効または有効にできます。

0
harrymc

VPN接続にOpenVPNクライアントを使用している場合は、特定のドメイン/ IPのカスタムルートを追加できます。

そのため、ルートを追加すると、それらのドメイン/ IPへの接続は特定のルートを経由します。

OpenVPN構成ファイルのルート構文は次のとおりです。

route [ip or website name] [subnet mask] [your gateway]

したがって、あなたの場合、ゲートウェイが192.168.23.1の場合、OpenVPN構成ファイルに次の行を追加する必要があります。

route 192.168.23.45 255.255.255.0 192.168.23.1
0