VPN 経由で SQL Server に接続しない
-
21-08-2019 - |
質問
VPN 経由で既存のネットワークに初めて接続しました。VPN クライアントから SQL Server が使用する IP アドレスに ping を実行できますが、SSMS が SQL Server に接続しません。正しいログインIDとパスワードを使用しています。
なぜこのようなことが起こるのでしょうか?何か案は ?
ありがとう
解決
デフォルトのインスタンスでは、SQL Serverは、デフォルトではTCP / 1433で待機します。これは変更することができます。異なる構成にしない限り、名前付きインスタンスでは、SQL Serverは、動的なTCPポートでリッスンします。 SQL Serverはポートが使用されている、それは別のTCPポートを選択することを発見しなければならない何それが意味することです。クライアントは通常、名前付きインスタンスの場合は右側のポートを見つける方法SQL Serverのリスナー・サービス/ SQLのブラウザに話をすることです。それはUDP / 1434をリッスンし、変更することはできません。名前付きインスタンスを持っている場合は、静的ポートを設定することができますし、Kerberos認証/委任を使用する必要がある場合は、必要があります。
あなたが決定する必要がありますことはあなたのSQL Serverがリッスンしているポートです。そして、あなたは彼らがVPN経由でそのポートへの通信を許可するかどうかを判断するために、あなたのネットワーク/セキュリティの人々を取得する必要があります。その場合、示されているように、ファイアウォールの設定を確認してください。一部のシステムでは、(私のラップトップは一例です)複数のファイアウォールを持っています。もしそうなら、あなたのシステム上のすべてのファイアウォールをチェックする必要があります。
それらのすべてが正しい場合は、、サーバーはIPアドレスを経由してSQL Serverのポートへのアクセスを制限IPSECポリシーを持っていないことを確認します。それはまた、あなたがブロックされているにつながる可能性があります。
他のヒント
これが私に起こるとDNSが正常に動作していないので、それはあります。 SQL Serverログインではなく、サーバー名のIPアドレスを使用してみてください。
SQL Server が TCP/IP に対して有効になっていることを確認します (誰かが無効にした可能性があります)。
これは、SQL インスタンスが使用しているポート番号を確認/確認するのにも役立ちます (誰かがデフォルトのポート 1433 から変更した場合に備えて)。
明らかに、ポート 1433 (または SQL がリッスンしているポート) は、マシンと SQL が実行されているボックスの間のファイアウォールによってブロックされている必要があります。
SQL のネットワーク構成を確認するには (SQL Server クライアント ツールがインストールされている必要があります):[スタート] -> [プログラム] -> [SQL Server 200x] -> [構成ツール] -> [SQL Server 構成マネージャー]
必要なマシンに接続し、ツリー項目 (LHS) の「SQL Server ネットワーク構成」を展開し、インスタンスを選択します。共有メモリ、名前付きパイプ、TCP/IP、VIA の 4 つのオプションがあるはずです。RHS ウィンドウで TCP/IP が有効になっていることを確認できます。
TCP/IP をダブルクリックして「詳細」タブをクリックすると、ポート番号も表示されます。
他の考え..SQL 認証または Windows (ドメイン) 認証を使用していますか?
SQL 認証 (ユーザー名とパスワードを言っているので、これを使用していると思います) の場合、接続している SQL インスタンスで混合モード認証が有効になっていますか?そうでない場合は、管理者として接続し、SQL 認証を許可するようにデフォルトのセキュリティ設定を変更する必要があります。
Windows 認証の場合、ネットワークで Kerberos が使用されている可能性がありますか?VPN 認証情報がハンドシェイクに使用されると考える人もいるでしょう。あなたのアカウントに適切なログイン権限があるか確認させていただきます。
SQL Serverが使用しているポートがファイアウォールやVPNのいずれかによってブロックされていないことを確認します。
私もこの問題を抱えていました。私は(この記事を含む)インターネット上で利用可能なすべてのものを試していたし、それはまだ動作しませんでした。同じデータベースを自分のローカルネットワーク上のマシンにインストールされたとき、すべてがうまく働いていることに注意してください。
:そうのように、リモートマシン上で、TCP / IPプロトコル上のIPアドレスを有効にします。最後に私は、次の修正を使用して成功を達成することができましたリモートマシン上で、「SQLEXPRESSのプロトコル」を選択し、SQL Serverネットワークの構成]を展開し、SQL Server構成マネージャを起動します(または「MSSQLSERVER」)、右クリックしてTCP / IP上で、表示されたダイアログボックス上のIPにアクセスしてください[アドレス]タブ、および「IP1」要素がActive=Yes
とEnabled=Yes
であることを確認してください。 IPアドレスを書き留めておきます(私のために、これらを修正する必要はありませんでした)。その後、SQL Serverのサービスを停止して開始します。その後、リモートマシン上のファイアウォールが無効になっているのいずれか、または例外がローカルサブネットと前のダイアログボックスで指摘アドレスのサブネットの両方が含まポート1433のために許可されていることを確認してください。ローカルマシン上では、192.168.1.22\SQLEXPRESS
(または[ip address of remote machine]\[SQL server instance name]
)にサーバー名を設定することで接続できるようになります。
希望に役立ちます。
あなたはオープン/ VPN-転送UDPポートを持っていない可能性があり、それはポート番号1433です。
"TCP / IP" のクライアントプロトコルの名前にもかかわらず、MSSQLはbitbangingのためにUDPを使用します。
SQL ServerはTCPポート1433を使用していますこれはおそらく、VPNトンネルによって、またはサーバー上のファイアウォールのいずれかによってブロックされます。
すべてのメッセージは、VPNサーバーを経由して、サーバーが取り組んでいる、そのポートのSQLにあなたのメッセージを転送することができませんでした。
試してみてください。
無効VPN設定 - >プロパティ - > TCP / IPプロパティ - >詳細設定>リモートネットワーク上のデフォルトゲートウェイを使用します。
この方法は、あなたが最初の
あなたを転送するためにVPNサーバーを使用するだけで、その後SQLサーバーのローカルIPを接続しようとします私は、Citrix Access Gatewayをして、この問題をたくさん持っています。私は通常、タイムアウトエラーが発生します。あなたがVPNを介してネットワーク上のクライアントからではなく、リモートクライアントからデータベースに接続することができるならば、あなたは彼らのすべてのアドレス、サーバー側の問題ので、ここに与えられたほとんどの提案を忘れることができます。
私は60秒にデフォルト(15秒)からのタイムアウトを増やし、質を測るために、TCP / IPのプロトコルを強制する際に接続することができています。これらのことは、ログインダイアログの[オプション]画面で行うことができます:
これは、VPN 経由で SQL Server 2012 データベースにアクセスするという接続の問題を解決したものです
SQL Server 2012 構成マネージャーを使用すると、
SQL Server ネットワーク構成に移動しました
次に、新しいサーバーインスタンスをクリックして、TCP/IPプロトコルをダブルクリックしました[以前にこのオプションを有効にし、サーバーを再起動しましたが、それでも修正しませんでした
TCP/IP が有効になったので、[TCP/IP プロパティ] 詳細ダイアログの [IP アドレス] タブにあるすべての IP ポート スロットが [有効 = いいえ] に設定されていることに気付きました。
新しいインストールでこれらの IP スロットがすべて「はい」ではなく「いいえ」に設定されている理由に興味があったので、単に「はい」に変更しました。
VPN 経由でのサーバーへの接続はうまく機能するようになりました。ポート番号は何も変更しませんでした。
注記:Visual Studio 2010 のデフォルトの SQL Server 2008 もアンインストールしましたが、それが TCP/IP の状況に直接影響したとは思えません。同僚から、Visual Studio に付属の 2008 および 2005 インストールが SQL 2012 に干渉する可能性があるとのことです。
限り、あなたはあなたのSQL Serverインスタンスがすべてを行う必要が
=Server name
する=IP,Port
からのデータソースの変更で、使用しているポートを許可するようにファイアウォールを設定してきたように
つまり、接続文字列で、このようなものを使用します。
Data Source=190.190.1.100,1433;
あなたは、クライアント側では何も変更する必要はありません。
私は、SQL Server 2017で、あまりにもこの問題を抱えていた。
私は、VPNを介してサーバと同じネットワーク上だし、それをpingすることができます。何の認証方法が機能しないことをイライラされた後 - 私は、SQLサーバー上のSSHサーバをセットアップする - と私は正常に接続することができました。これは、正しいポートが何らかの理由でヒットされていませんでした確認しました。私も新しいユーザーアカウント、ドメインアカウント、両端のファイアウォールのチェックなどを作成...
を私のためのソリューションでした:の 厳密にSSMSのTCP / IPを使用するために1セットの接続 2.デフォルトのポートを指すようにカスタム文字列を使用します(例:データソース= 192.168.168.166,1433;)
すべての他のコメントは、上記のこれまで働いていません。 (たとえそのデフォルトが)ポートを含めることは必須だったように見えます。
は、SQL Server 2005を使用している場合、最初のSQL Server Browserサービスを開始