MSDTC communication fails over VPN - vpn

I have an application that runs transactions spanning over multiple databases on the same server. Naturally this involves the Microsoft Distributed Transaction Coordinator and everything works like it is supposed to.
Howver, when I remotely connect to the network where the server is hosted via VPN and run the application on my local machine I receive the following error:
System.Transactions.TransactionManagerCommunicationException:
"Communication with the underlying transaction manager has failed."
Caused by:
System.Runtime.InteropServices.COMException:
Error HRESULT E_FAIL has been returned from a call to a COM component.
Here is the stack trace for the originating exception:
at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
The problem arises only when I connect to the server through a VPN tunnel.
Note also that I have temporarly disabled Windows Firewall on my local machine, just to be sure it doesn't block the MSDTC.
Does anyone know of any issues when running MSDTC through VPN?

I suggest you run DTCPing (available from the Microsoft site somewhere) This is run at the same time on both machines and detects all manner of DTC problems.
Be careful I had great difficulties with this tool until I actually read the instructions and started both sides of the test up before I clicked the start test button.

Do you administer the VPN connection? There might be restricted ports on the VPN. Likewise, do you administer your servers? Your servers might only allow connections from IP addresses on the inside and not on the segment used for VPN service. If you are the administrator, perhaps saying which VPN software you are using will help.

I'm having the same problem using a Windows 7 x64 client and a Server 2003R2 server. I have been able to make it work (on the same vpn, same server) using XP, Vista x86, and Windows 7 x86. I have a support call with Microsoft open and they are looking into it. I'm curious - what operating system are you guys using on your client machines?

Related

Error in communicating LabView Client VI with WinCC OPC Server over the network (LAN)

I'm trying to automate some system using Siemens PLC; for that we have developed a WinCC Flexible RT application for control and monitoring, and have also declared the PC based HMI panel as the OPC server. Which is working fine.
Now, when i try to create a OPC Client application either in WinCC or Labview, on the same PC, am able to access all the tags of the server on the client, am able to do so.
When i try to create the client application on some other computer connected over the local area network [perfectly fine and well configured network working], am unable to access the OPC server/tags in that case.
What can be done in this case.?
The easiest way to establish connection between OPC client and server applications is to perform the following:
turn off the firewalls on both machines
create the same windows account on both machines using the same login name and password
for windows account (pointed out in 2) allow all "access permissions" and "Launch and Activation Permissions" by running "dcomcnfg" command and navigating to "console root->component services->computers->my computer->com security"
The more detailed example of how to do steps described above is given in this article http://opc-da.com/Winsetup.html
Also, there is a powerful OPC client API implemented on LabVIEW using OPC .NET API with detailed documentation on how to use: http://opc-da.com
It would be helpful if you mentioned the OS on the server and the client computers. Anyway, I'm guessing that this is a DCOM issue, as #Ken mentioned.
It's been a while since I worked with this sort of thing, but you can try this article: http://www.opcactivex.com/Support/Tutorials/DCOM_Tutorial_-_Configuring_th/DCOM_XP/dcom_xp.html and see if it helps.
Make sure the firewall isn't blocking the connection. Disable it on both sides.
Take a look at this NI article: http://zone.ni.com/reference/en-XX/help/371361G-01/lvhowto/psp_firewall/
keep in mind, the tcp ports used by OPC/shared variables changed somewhere between LV2009 and LV2011, so depending on what version you have, the ports may be different.
In addition to the ports and the firewall...
Make sure that the account in which the the OPC client is running has access to the OPC server, either through the DCOM default settings or the OPC Server-specific settings (also part of DCOM configuration) on the server machine.

VPN Connection Manager in asp.net

I want to create a VPN Connection Manager on user's PC. The connection Manager must set up 3 VPN protocols on user's PC for Windows XP, Windows Vista, Windows 7 and Windows 8.
PPTP and
L2TP/IPSec and
OpenVPN
The Connection Manager shall receive server list from our servers.
Please help me to soulve the above issue. I google it since last 2 days bit not find any approproate solution to this. So please help me in this.
You can find details on creating a VPN Connection in .NET using:
Set up VPN Connection using C#
Remote Access Server Spec
However using ASP.NET is unlikely as browsers can't instantiate a VPN connection, they are sandboxed away from that functionality. Even services like GoToMyPC have a desktop client to perform the main functionality.
However you could create the RAS file then provide a download link on a website to it.
You can find the file at:
C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk
The person downloading the file can then just import that and have all the set up provided.

Windows Server 2008 R2/IIS 7 refuses all outside tcp connections

I am unable to connect, for example, via http to a brand new installation of 64-bit Windows Server 2008. The server is on a domain, but is not DC (that's another problem altogether).
The IIS7 is running on the server and the website is accessible locally via http://localhost, but when I try to connect from another machine on the same network, the connections is refused, even though Windows Firewall is disabled.
I am able to connect to and browse the shared folders on the server using Windows Explorer, so it is not a physical connection issue. I can ping other machines on the network from the server, but trying to ping the server from another machine results in "Destination host unreachable".
As far as I can tell, the server refuses any TCP connections from any machine. I am thinking, there must be some other configuration setting that I am missing... Please, help.
NS
Like in Windows 7 the behaviour is determined by the network type (home, work, internet) the OS thinks it is connected to... even with a disabled firewall it respects these settings and accordingly refuses/allows connections...
The solution is embarrassignly simple, and the credit goes to Ashley Steel, on ServerFault.com for asking just the right questions. It turns out that the DNS was resolving the name of the server incorrectly, because the machine was named the same as an old, since decommissioned workstation that used to live on the same subnet.
The solution: rename the server.
NS[Now hiding under a rock]

Computer/Application having trouble and getting slow while accessing Sql server through LAN, Network is fine

I have an web project in asp.net in one of my computers which are connected internally through LAN. The database is in Sql Server kept in another computer. The LAN is connected well. There is no connection error in my programming also. But sometimes in this particular system the page is taking long time to be open, sometime it is showing some exceptions(not everytime again and again). What can be the problem? How can it be solved?
The same project is running good in other computers as well.
My network seems ok, as I can acccess the computer hosting SQL server.
You're just having connection problems.
The page waits for the SQL query's answer to return, and it won't load until it gets the answer.
Check your LAN's connection by pinging between the computer with the project and the SQL server.
If this really is the problem, then the exceptions are probably time-outs.

trouble hosting asp.net on iis

I'm doing some test hosting of an asp.net program I created
I can access it fine from the local machine (both debugging and pointing the virtual directory to it)
I can also access (local) by using the localhost or using the ip
however when i get on a different machine on the same network (i can ping my machine)
I get the following error:
Connection Interrupted
The connection to the server was reset while the page was loading.
The network link was interrupted while negotiating a connection. Please try again.
Does anyone have any idea what I'm doing wrong?
Crash893
EDIT:
I have duplicate this question on serverfault.com
I would generally take a snapshot of the network traffic with Wireshark (or other network sniffer) and see what is happening on the wire. Compare this to a site that works. Windows firewall, a browser proxy, or some other network software may be at fault.

Resources