web-dev-qa-db-ja.com

VPN経由でSQL Serverに接続しない

VPN経由で既存のネットワークに初めて接続しました。 SQL Serverが使用するIPアドレスにVPNクライアントからpingを実行できますが、SSMSはSQL Serverに接続しません。正しいログインIDとパスワードを使用しています。

なぜこれが起こるのでしょうか?何か案は ?

ありがとう

16
Chakra

既定のインスタンスでは、SQL Serverは既定でTCP/1433をリッスンします。これは変更できます。名前付きインスタンスでは、別の方法で構成されていない限り、SQL Serverは動的TCPポートでリッスンします。つまり、SQL Serverは、ポートが使用中であることを検出すると、別のTCPポートを選択します。名前付きインスタンスの場合、クライアントが通常適切なポートを見つける方法は、SQL Serverリスナーサービス/ SQLブラウザーと通信することです。これはUDP/1434でリッスンし、変更できません。名前付きインスタンスがある場合は、静的ポートを構成できます。Kerberos認証/委任を使用する必要がある場合は、構成する必要があります。

決定する必要があるのは、SQL Serverがリッスンしているポートです。次に、ネットワーク/セキュリティ担当者に連絡して、VPN経由でそのポートへの通信を許可するかどうかを決定する必要があります。表示されている場合は、ファイアウォールの設定を確認してください。一部のシステムには複数のファイアウォールがあります(私のラップトップは例です)。その場合は、システムのすべてのファイアウォールを確認する必要があります。

これらすべてが正しい場合は、サーバーに、IPアドレスを介したSQL Serverポートへのアクセスを制限するIPSECポリシーがないことを確認してください。また、ブロックされる可能性があります。

14
K. Brian Kelley

これが私に起こるとき、それはDNSが正しく機能していないためです。 SQL Serverログインで、サーバー名の代わりにIPアドレスを使用してみてください。

5
WakeUpScreaming

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資格情報がハンドシェイクに使用されると考えられます。アカウントに適切なログイン権限があることを確認します。

4
RobS

SQL Serverが使用しているポートがファイアウォールまたはVPNによってブロックされていないことを確認してください。

2
Tom H

Hamachi VPN経由でリモート接続しようとしたときにもこの問題が発生しました。私はインターネットで入手可能なすべてのもの(この投稿を含む)を試しましたが、それでも機能しませんでした。ローカルネットワーク上のマシンに同じデータベースがインストールされている場合、すべてが正常に機能することに注意してください。最後に、次の修正を使用して成功を収めることができました。リモートマシンで、TCP/IPプロトコルのIPアドレスを有効にします。

リモートマシンで、SQL Server構成マネージャーを起動し、[SQL Serverネットワーク構成]を展開して、[SQLEXPRESSのプロトコル](または[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])に設定することで接続できるはずです。

お役に立てば幸いです。

2
BCA

この問題はCitrix Access Gatewayで多く発生します。通常、タイムアウトエラーが発生します。ネットワーク上のクライアントからはデータベースに接続できても、リモートクライアントからはVPNを介して接続できない場合は、サーバー側の問題に対処しているため、ここに記載されているほとんどの提案を忘れることがあります。

タイムアウトをデフォルト(15秒)から60秒に増やすと接続できます。適切な方法として、プロトコルをTCP/IPに強制します。これらは、ログインダイアログの[オプション]画面で実行できます。

`

1
cdonner

これは、VPN経由でSQL Server 2012データベースにアクセスする際の接続問題を修正したものです

SQL Server 2012構成マネージャーを使用すると、

SQL Serverネットワーク構成に行った

次に、新しいサーバーインスタンスをクリックし、TCP/IPプロトコルをダブルクリックしました[以前にこのオプションを有効にしてサーバーを再起動しましたが、まだ修正されていません]

tCP/IPが有効になったので、TCP/IPプロパティの詳細ダイアログボックスの[IPアドレス]タブにあるすべてのIPポートスロットがEnabled = Noに設定されていることに気付きました。

新しいインストールでこれらのIPスロットがすべて[はい]ではなく[いいえ]に設定された理由に興味があったので、それらを[はい]に変更しました。

VPNを介したサーバーへの接続がうまく機能するようになったので、ポート番号を変更しませんでした。

注:Visual Studio 2010からSQL Server 2008のデフォルトをアンインストールしましたが、それがTCP/IPの状況に直接影響したとは思いません。同僚から、Visual Studioに付属する2008および2005のインストールがSQL 2012に干渉する可能性があると言われました。

1
user3151233

SQL Serverインスタンスが使用しているポートを許可するようにファイアウォールを設定している限り、データソースを=Server nameから=IP,Portに変更するだけです。

つまり、接続文字列では次のようなものを使用します。

Data Source=190.190.1.100,1433;

クライアント側で何も変更する必要はありません。

1
user1452705

UDPポートが開いている/ VPN転送されていない可能性があります。ポート番号は1433です。

クライアントプロトコル名が「TCP/IP」であるにもかかわらず、mssqlはビットバンギングにUDPを使用します。

1
Pasi Savolainen

SQL Serverは、TCPポート1433を使用します。これは、VPNトンネルまたはサーバー上のファイアウォールによってブロックされている可能性があります。

1
Guffa

VPNに接続すると、すべてのメッセージがVPNサーバーを経由し、SQLサーバーが動作しているポートにメッセージを転送できませんでした。

試す

vPN設定を無効にする->プロパティ-> TCP/IPプロパティ->詳細->リモートネットワークでデフォルトゲートウェイを使用する。

この方法では、最初にSQLサーバーのローカルIPを接続してから、VPNサーバーを使用して転送します。

1
Sergej Andrejev

SQL Server 2017でもこの問題が発生していました。

VPN経由でサーバーと同じネットワーク上にあり、pingを実行できます。認証方法が機能しないことに苛立ちを感じた後、SQLサーバーにSSHサーバーをセットアップしましたが、正常に接続できました。これにより、正しいポートが何らかの理由でヒットしていないことが確認されました。新しいユーザーアカウント、ドメインアカウント、両端のファイアウォールチェックなども作成しました。

私に対する解決策は: 1. SSMSでTCP/IPを厳密に使用するように接続を設定します2.カスタムポートを使用してデフォルトポートをポイントします(例:データソース= 192.168.168.166,1433;)

上記の他のすべてのコメントはこれまで機能していません。 (デフォルトであっても)ポートを含めることが必須であるようです。

1
TheRealCode

sQL Server 2005を使用している場合は、最初にSQL Server Browserサービスを開始します

0
Happy