背景:局域网向外只开放80端口,其他端口因策略都被禁掉。
一、如果数据库mssql放在公网这台电脑(IP为201.215.92.56)上,则:
1)因局域网向外只开放80端口,局域网内的电脑可以访问外部所有网站,但无法通过客户端C/S软件,连接访问公网电脑(IP为201.215.92.56)的mssql数据库。
2)公网中的其他所有电脑都可以通过C/S软件连接访问公网电脑(IP为201.215.92.56)的mssql数据库。
二、如果数据库mssql放在局域网这台电脑(IP为10.115.238.39)上,则:
1)局域网内的所有电脑访问局域网这台电脑(IP为10.115.238.39)的数据库mssql没问题。
2)但公网中的其他电脑无法通过C/S软件连接访问这台电脑(IP为10.115.238.39)的mssql数据库。
我的需求:如何让公网和局域网所有电脑都可以访问该mssql数据库,这个mssql数据库放在哪台电脑上比较合适?增加一个路由器或花生壳可以解决问题吗?

解决方案 »

  1.   

    可以把DB server放在局域网内,然后在局域网的网关,一般是路由器(前提是它能获得公网IP),做端口映射,比如1433端口,映射到DB server的内网IP上,或者将DB Server这台机器设置为DMZ主机(一般TP-LINK路由器都支持),这台机器就和放在公网上一样,所有端口都可以从外部访问,不需要一一映射。
      

  2.   

    楼上的办法,是通过连接公网的路由器,做端口映射到你的局域网中的服务器的IP。
    因局域网向外只开放80端口,其他端口因策略都被禁掉。很可惜未能利用上固定IP 特点。 
    这样,你也不好通过路由器,做端口映射了。建议将你的局域网的服务器IP,通过花生壳映射以公网即可。
    使用花生壳,不要通过路由器了,直接在服务器上安装花生壳,搭配内网穿透功能,实现外网访问。
      

  3.   

    如果你的路由可以建立VPN,则可以把外网机器通过外网完成VPN连接,则相当于内网电脑使用。你这个网络拓扑并不完全。通常我们用的公网IP是连接到路由器的,而不是一台电脑,所以在这个路由上是可以做很多事。
    还有,让一台电脑使用两个网卡,其中一个是内网IP,另一个是公网可访问的地址(公网IP或NAT)。C/S程序内外网各自访问不同的IP。再建议所有的网络处理最好使用路由,以保障必要的安全性与稳定性。