Connection timeout expired help

Hi, my dear expert friends,

I am running out of options, so please give any suggestion.

First here is the error message:
Connection failed!
Unable to connect to database. Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=21022; handshake=0;

We have build these two servers, one as database server and the other web server. They are both windows server 2012 R2 DC. I restored a full backup from a 2008 R2 to the database server, which has a newly installed sql server 2014 enterprise default instance, now try to connect to it from the web server and got above error.

They are on the same AD domain within the firewall. I could ping/nslookup each other by name or ip.

Now come the hard part, I tried this connection through a third party vendor installer app, i.e a black box. So while I have escalated the issue with the vendor, I want to solve this mystery on my own if I could.

I can connect to my 2008 R2 database from this installer app, and I can connect to the 2014 database by ODBC DSN on the same web server.

Any suggestion?

Thanks!

and, I just found out, if I run the installer from the same database server to connect to itself, it went through without any issue. So dose this sound a network issue?

Did you try connecting with DatabaseServerName,PortNumber?

Database server name (or tcp/ip); Database Name; User ID; and password are four inputs parameters.

No port number. and the database server has all IPs active/enable on default port 1433.

Turn on both TCP port 1433 and UDP port 1434 on your database server.