web-dev-qa-db-ja.com

ローカルホストWebサーバーにランダムに接続できません

数週間前に発生し、解決できなかった非常に奇妙な問題があります。

IIS(ポート80,443)とApache(8080,8090)ですべて同じWindows Server 2003 SP2マシン上でいくつかのWebサイトを実行しています。この構成は、今から数年。

IIS connectで実行されているWebアプリケーションは、クライアントに応答する前に、(同じサーバー上で)Apacheで実行されているアプリケーションに接続する場合があります。また、アプリケーションが別のサーバーで実行されているデータベースサーバーに接続する場合もあります。 、場合によっては、別のサーバー上のWindowsファイル共有にも接続します。

上記の3つのシナリオすべてで、アプリケーションが次のエラーのいずれかを散発的に報告します。

  • トランスポート接続からデータを読み取れません:確立された接続は、ホストマシンのソフトウェアによって中止されました。
  • 基になる接続が閉じられました:受信時に予期しないエラーが発生しました。

さらに、問題が発生しているときにサーバーにログインしているときに、 http:// localhost/etchttp://127.0)にリクエストを実行しようとしていることに気付きました。 0.1/etchttp://192.168.xxx.xxx/etc (ローカルIP)すべてに「接続がリセットされました」というエラーメッセージが表示されます(Firefox)。 IISとApacheWebリクエストの両方が失敗します。(IPアドレスまたはホスト名を使用して)別のマシンからサーバーに接続でき、サーバーから外部サイトに接続して、その期間中、自分自身へのpingはドロップアウトしません。

問題は、ランダムな期間、魔法のように自動的に修正されます。問題なく24時間以上かかることもあれば、20〜30分だけかかることもあります。問題が発生している間、数秒から数分(通常は10〜15分以内)続く可能性があります。

また、他のサーバーからデータベースサーバーまたはファイル共有サーバーに接続する際に、このサーバーから問題が発生することはありません。

私たちがどこを見るべきかについてのアイデアはありますか?

更新:したがって、まだこの領域を取得していますが、さらに詳細を追加すると、複数のサーバーおよびいくつかの異なるタイプの接続でこれらのエラーがランダムに発生します。接続。これは、cifs(ファイル共有)、SQL Server、およびLANとWANの両方の複数のサーバー、およびそれ自体へのWeb接続で取得されます。ほとんどの場合、「確立された接続は、ホストマシンのソフトウェアによって中止されました」です。

NETSH DUMP

#========================
# Interface configuration
#========================
pushd interface

reset all


popd
# End of interface configuration

#========================
# Interface configuration
#========================
pushd interface ipv6

uninstall


popd
# End of interface configuration



# ----------------------------------
# ISATAP Configuration
# ----------------------------------
pushd interface ipv6 isatap



popd
# End of ISATAP configuration



# ----------------------------------
# 6to4 Configuration
# ----------------------------------
pushd interface ipv6 6to4

reset



popd
# End of 6to4 configuration

#========================
# Port Proxy configuration
#========================
pushd interface portproxy

reset


popd
# End of Port Proxy configuration



# ---------------------------------- 
# Interface IP Configuration         
# ---------------------------------- 
pushd interface ip


# Interface IP Configuration for "SW-1A"

set address name="SW-1A" source=static addr=192.168.xxx.51 mask=255.255.255.0
add address name="SW-1A" addr=192.168.xxx.50 mask=255.255.255.0
set address name="SW-1A" gateway=192.168.xxx.254 gwmetric=0
set dns name="SW-1A" source=static addr=192.168.xxx.2 register=PRIMARY
add dns name="SW-1A" addr=192.168.xxx.3 index=2
set wins name="SW-1A" source=static addr=none


popd
# End of interface IP configuration


# ------------------------------------
# Bridge configuration (not supported)
# ------------------------------------

# ------------------------------------
# End of Bridge configuration
# ------------------------------------


# ----------------------------------------- 
# aaaa Configuration                         
# ----------------------------------------- 
# This script will NOT work across different versions of IAS.
# ----------------------------------------- 

# aaaa configuration script.  
# Known Issues and limitations: 
# Import/Export between different versions is not supported.
# IAS.MDB Version = 7
pushd aaaa
set config  blob=\
blob snippped
\
AA\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*\
A7ACI/wD\
\
*
popd

# End of aaaa show config


# End of aaaa configuration.                  




# ----------------------------------------- 
# Remote Access Configuration               
# ----------------------------------------- 
pushd ras

set authmode mode = standard
delete authtype type = PAP
delete authtype type = SPAP
delete authtype type = MD5CHAP
delete authtype type = MSCHAP
delete authtype type = MSCHAPv2
delete authtype type = EAP
add authtype type = MSCHAP
add authtype type = MSCHAPv2
delete link type = SWC
delete link type = LCP
add link type = SWC
add link type = LCP
delete multilink type = MULTI
delete multilink type = BACP
add multilink type = MULTI
add multilink type = BACP

set user name = ASPNET dialin = policy cbpolicy = none 
set user name = Guest dialin = policy cbpolicy = none 
set user name = IUSR_WX-WWW1 dialin = policy cbpolicy = none 
set user name = IWAM_WX-WWW1 dialin = policy cbpolicy = none 
set user name = customuser1 dialin = policy cbpolicy = none 
set user name = customuser2 dialin = policy cbpolicy = none 
set user name = customuser3 dialin = policy cbpolicy = none 
set user name = SUPPORT_388945a0 dialin = policy cbpolicy = none 
set user name = customuser4 dialin = policy cbpolicy = none 


popd

# End of Remote Access configuration.        




# ----------------------------------------- 
# Remote Access AppleTalk Configuration     
# ----------------------------------------- 
pushd ras appletalk

set negotiation mode = allow

popd

# End of Remote Access AppleTalk Configuration. 



# ----------------------------------------- 
# Remote Access Diagnostics Configuration   
# ----------------------------------------- 
pushd ras diagnostics

set rastracing component = * state = disabled

set modemtracing state = disabled

set cmtracing state = disabled

set securityeventlogs state = disabled


popd

# End of Remote Access Diagnostics Configuration.




# ----------------------------------------- 
# Remote Access IP Configuration            
# ----------------------------------------- 
pushd ras ip

delete pool

set negotiation mode = allow
set access mode = all
set addrreq mode = deny
set broadcastnameresolution mode = disabled
set addrassign method = auto

popd

# End of Remote Access IP configuration.     



# ----------------------------------------- 
# Remote Access IPX Configuration           
# ----------------------------------------- 
pushd ras ipx

set negotiation mode = allow
set access mode = all
set nodereq mode = allow
set netassign method = autosame

popd

# End of Remote Access IPX configuration.    




# ----------------------------------------- 
# Remote Access NBF Configuration           
# ----------------------------------------- 
pushd ras netbeui

set negotiation mode = allow
set access mode = all

popd

# End of Remote Access NBF configuration.   




# ----------------------------------------- 
# Remote Access AAAA Configuration          
# ----------------------------------------- 
pushd ras aaaa

set authentication provider = windows
set accounting provider = windows

delete authserver name = *
delete acctserver name = *



popd

# End of Remote Access AAAA configuration.     


# Routing Configuration
pushd routing
reset
popd
# IP Configuration
pushd routing ip
reset
set loglevel error
add preferenceforprotocol proto=LOCAL preflevel=1
add preferenceforprotocol proto=NetMgmt preflevel=10
add preferenceforprotocol proto=STATIC preflevel=3
add preferenceforprotocol proto=NONDOD preflevel=5
add preferenceforprotocol proto=AUTOSTATIC preflevel=7
add preferenceforprotocol proto=OSPF preflevel=110
add preferenceforprotocol proto=RIP preflevel=120
add interface name="SW-1B" state=enable
set filter name="SW-1B" fragcheck=disable
add interface name="SW-1A" state=enable
set filter name="SW-1A" fragcheck=disable
add interface name="Internal" state=enable
set filter name="Internal" fragcheck=disable
add interface name="Loopback" state=enable
set filter name="Loopback" fragcheck=disable
popd
# End of IP configuration



# ---------------------------------- 
# DNS Proxy configuration            
# ---------------------------------- 
pushd routing ip dnsproxy
uninstall


popd
# End of DNS proxy configuration



# ---------------------------------- 
# IGMP Configuration                 
# ---------------------------------- 
pushd routing ip igmp
uninstall


popd
# End of IGMP configuration



# ---------------------------------- 
# NAT configuration                  
# ---------------------------------- 
pushd routing ip nat
uninstall


popd




# ---------------------------------- 
# OSPF configuration                 
# ---------------------------------- 

pushd routing ip ospf
uninstall

popd
# End of OSPF configuration




# ---------------------------------- 
# DHCP Relay Agent configuration     
# ---------------------------------- 
pushd routing ip relay
uninstall


popd
# End of DHCP Relay configuration



# ---------------------------------- 
# RIP configuration                  
# ---------------------------------- 
pushd routing ip rip
uninstall


popd
# End of RIP configuration



# ---------------------------------- 
# Router Discovery Configuration     
# ---------------------------------- 
pushd routing ip routerdiscovery
uninstall
add interface name="SW-1B" disc=disable minint=7 maxint=10 life=30 level=0
add interface name="SW-1A" disc=disable minint=7 maxint=10 life=30 level=0
add interface name="Internal" disc=disable minint=7 maxint=10 life=30 level=0
add interface name="Loopback" disc=disable minint=7 maxint=10 life=30 level=0


popd


# ---------------------------------- 
# DHCP Allocator Configuration       
# ---------------------------------- 
pushd routing ip autodhcp
uninstall


popd
# End of DHCP Allocator Configuration


Loading of DLL WinsEvnt.dll failed.
Wins Operation failed with Error There are no more endpoints available from the endpoint mapper.

更新:7月下旬に同じハードウェアにWindows Server 2008 R2をインストールすることになり、問題は解決し、それ以来振り返っていません。損失を減らし、弾丸を噛み、それを実行するだけでよいという点があります。

3
Lloyd Cotten

1つの可能性:一時的なポートの枯渇。 netstat -an | find /c ":"のようなものを試して、さまざまな状態すべてでの接続数を数えます。その数が1万程度を超える場合は、これが問題である可能性があります。

5
BMDan

イベントログに役立つものはありますか?ドライバーは起動時にロードに問題がありますか?スイッチをチェックして、システムのアップリンクインターフェイスに送信エラーまたはチェックサムエラーがあるかどうかを確認できますか?

とにかくネットワークに関連する再起動時にエラーが発生した場合は、最初にそれらを追求します。スイッチエラーが発生した場合は、ケーブルを交換して、スイッチの別のポートに移動します。

エラーが発生しない場合は、新しいネットワークカードのインストールを検討してください。せいぜいそれが問題を修正し、最悪の場合、新しいケーブルと別のスイッチポートとともに、物理的に完全にリストから外すことができます。

[〜#〜]更新[〜#〜]

これが複数のマシンで発生していることを考えると、物理層の問題を除外できると思います。

それが断続的で複数のサービスに影響を与えることを考えると、私の考えはTCP Chimneyです。このKB記事を参照してください: http://support.Microsoft.com/kb/945977 そしてそれが役立つかどうかを確認してください。

その後、クライアント、共有、IPプロトコル以外のネットワーク接続パネルのすべてをオフにします。 QOS、ファイアウォール、NLB、ベンダーレベルのポート結合ドライバーなどはありません。

再度更新

さて、それをすべてオフにして、次にドライバーレベルの詳細設定を実行する必要があると思います。可能であれば、ここに投稿してください。そうでない場合は、それらを書き留めてから、これを試してください。フロー制御がオフの場合はオンにします。ドライバーに応じて、RXとTXをオン/応答して生成します。次に、オフロードとマークされているものを見つけてオフにします。ジャンボフレームとVLANサポートをオフにします。 QOSとマークされているものはすべてオフにします。基本的に、ハードウェアにすべての作業を行わせ、OS /ドライバー/ CPUタスクをデータパスから取り除きます。

そして最後に、「イベント」中にサーバーをキャッチできる場合は、この記事の手順に従ってカーネルページの使用状況を確認し、それが問題の診断に役立つかどうかを確認してください。 http://blogs.msdn.com/b/ david.wang/archive/2005/09/21/howto-diagnose-iis6-failing-to-accept-connections-due-to-connections-refused.aspx

私の最後の提案

SynAttackProtectおよびその他のカーネルレベルの保護をオフにすることを検討してくださいTCP保護: http://technet.Microsoft.com/en-us/library/cc781167(WS.10).aspx または、少なくともTcpMax *設定を上げると、起動する可能性があります。

1
Mark

私は2つのことを考えることができます:

  • エフェメラルポートが不足しています。 Linuxを使用している場合、デフォルト設定は通常非常に保守的であるため、本番環境で使用するために常に調整する必要があります。 cat /proc/sys/net/ipv4/ip_local_port_rangeで確認できます。特にNATを使用している場合、この問題はサーバー自体ではなくファイアウォールにある可能性があることに注意してください。

  • ファイル記述子が不足しています。各TCP接続には2つのファイル記述子が必要です。したがって、開いている接続の数を数えることで、必要なファイル記述子の数を見積もり、システムの制限と比較できます。ulimit -aは現在の制限。ここでも、デフォルトのLinux設定は控えめです(Centos 5.xではデフォルトの制限は1024です)ので、いくつかの調整が必要になる場合があります。

0
dtoubelis

サービスがKerberos(AD経由)を介して相互に認証し、認証の問題が原因で呼び出されたサービスが応答を停止した可能性がありますか?これは、NetMonまたはWireSharkで検出できるはずです。

0
oleschri