I want to connect to SQL Server via Internet:
- I turned off the firewall
- I enabled the the DMZ in the router, host address is 192.168.1.24 which is the SQL Server LAN IP
- I open port in the router for both SQL Server and SQL Server Browser (1433 – 1434)
- I checked the open port via (canyouseeme) website, and the result is success for 1433 and error for 1434 (I don't know the reason for the error)
- I made the necessary configuration for the TCP protocols
- I checked that the server is allowed remote connection
But I failed to connect to the server via Internet.
My LAN IP is 192.168.1.24
The instance is default instance
My public IP is 95.218.156.146 (for example)
When I type (192.168.1.24) in the server name text-box I succeed to connect to the server,
but I fail to connect when I type 195.218.156.146 or 95.218.156.146 ,1433
Note:
Best Answer
The recommended way to do this is to set up a VPN between the two sites. The steps to do this vary depending on the particular firewall/router being used. If a VPN cannot be used, the following information is provided for how to set up a connection with port mapping. If port-mapping is used, it should only be used in conjunction with additional firewall rules to restrict what source IP addresses can route through the mapped port so that every hacker on earth doesn't have access to your SQL Server.
1. Server IP Configuration
Check your Windows Server's IP configuration by running
IPCONFIG / ALL
. Your results can contain both IP addresses, but at least your internal IP:-
192.168.1.24
-
95.218.133.168
2. Check your routing
Start a traceroute with the following command:
TRACERT <external IP of server>
. Verify that you receive the route to your server.3. Check your SQL Server IP Configuration
Protocols for 'MSSQLSERVER'
)'Enabled'
.Now right click the TCP/IP setting and open up the properties. In the Protocol tab...
a) Verify again that
Enabled
is set toYes
.b) Verify that the setting
Listen All
is set toYes
.c) The screen should look like this:
Switch to the IP-Addresses tab and verify for each
IPn
that ...a) Active is set to
Yes
b) Enabled is set to
Yes
c) IP address is your external IP address (or your internal address if you are unable to assign the external address to your SQL Server, because you only have one public IP.)
d) TCP Dynamic Ports is set to
(No value/empty)
e) TCP port is set to
1433
f) The screen should look a bit like this, but with your IP address:
An then verify the settings for the
IPAll
portion, by checking that ...a) TCP Dynamic Ports is set to
(No value/empty)
b) TCP Port is set to
(No value/empty)
c) The screen should look like this:
4. Check your router configuration
Your public IP is not the server's, it's the router's. If your server is behind the router then you have to ensure your router is forwarding the request to your SQL Server. This configuration setting can vary from router to router. Here a few examples for configuring routers:
- Port Forwarding (Zyxel)
- Setting up static port sharing (Fritz AVM)
- How do I configure Port Forwarding on my router? (D-Link)
With the provided tips and tricks you should be able to set your SQL Server to accept connections from the Internet.