2011-11-10 78 views
-1

提醒:不在局域网内。是否需要一些SQL Server的配置?将使用哪些连接字符串? C#.net是编程语言。远程访问SQL Server 2008 R2

+0

@JayRiggs ...尼斯...我需要一个好笑 –

+0

@ _ @ ............ –

回答

0

所有SQL服务器都可以通过tcp/ip连接,MS也不例外。如果您的机器位于NAT路由器或防火墙之后,则只需设置相应的端口访问权限即可。在大多数消费级设备上,这被称为针孔。您必须允许入站到1433的SQL Server端口或您选择的任一端口。

大多数 ISP现在给你一个WAN(真实世界)的IP地址,这是你的路由器的WAN端。局域网侧的所有机器通常位于192.168.x.x/10.x.x.x/172.16.x.x地址方案中,因为所有路由器都被编程为忽略这些地址块并且不让它们通过,所以地址方案不可路由。

请记住,除非您特别要求静态IP地址,否则您的WAN端将会不时发生变化,因此您需要通过ipchicken.com这样的东西让您的朋友知道它发生了什么变化。

此外,由于攻击者的LOTS在MS-SQL的标准端口上查看,所以我强烈建议您使用上面的一些随机端口,而不是标准1433,如果您的设备无法限制源地址。

+0

你有一些样品怎么做?tut?非常感谢你:D –

+0

嗯,其实不是真正的smaps本身,但当你安装SQL服务器其中一个程序是通信配置工具wchi允许你选择像tcp/ip,netbui,命名管道等东西。在tcp/ip部分可以选择端口。我在上面指出,您直接连接到调制解调器。这对于一个windows服务器的人来说有点吓人。只是在说。 – FlyingGuy

+0

为什么先生?因为这只是一个案例研究,并且实现这一点以表明它是否适用于所有先生。谢谢4 d帮助 –

2

我不知道很多关于C#或MS SQL Server 2008,但是我已经设置了许多服务器

连接到互联网的每台计算机都有一个地址......我敢肯定,你知道

现在,如果您使用路由器,您将知道路由器已连接到调制解调器,并通过路由器通过无线连接或以太网连接(电源线)进行分配,路由器组织事物的方式是分配每台计算机一个私有IP地址(类似于192.168.1.2)......这个私有IP地址根本无法被外界访问......因为路由器收到一个包,并且不知道该把它放在哪里,所以它立即放下它(忘记它)

这是非常安全的,因为这意味着坏人可以连接到您的计算机的唯一方式是,如果他们在同一个网络上......但是,有时您需要托管一台需要由服务器访问的服务器外面的世界...... 这一点解释,只是阅读

现在也是每个网络数据包(这是什么,围绕网络发送)做到了这点与引用的特定端口

常规数字:即(端口80,160,55等)

关于端口的好处是,不同的计算机程序可以同时处理不同的端口!

所以一台电脑可以同时运行多台服务器。因为相应的数据包被发送到相应的端口,因此针对特定应用的数据包不会被另一个意外干扰。

所以结论是我们需要做的是告诉我们的路由器说...

是端口等于在MS SQL服务器使用的端口?

如果是拿包,并将其发送到(你的服务器的私有IP地址) 这就是所谓的Port Forwarding

你需要先找到你的服务器的私有IP地址。一旦你找到了服务器的私有IP地址
ipconfig
在Linux和Mac OS X
ifconfig

:在Windows

你需要在命令提示符下输入去。使它成为一个静态的...这意味着它不能改变

你必须研究这个,因为我不使用Windows

记住:Static IP Address

现在,一旦你的服务器获得一个静态IP地址你需要ms sql server 2008使用的端口。

,一旦你发现你需要设置端口转发路由器上

然而,这从路由器到路由器不同,如果你有一个美国网件路由器,你可以去到Web管理页面的浏览器指向http://192.168.1.1/ 这将带你到网络路由器管理页面。在边栏上找到端口转发/端口触发,然后单击添加自定义服务,然后添加输入。

现在最后一步是要找到你的公网IP地址,告诉你的朋友,这是地址,他/她将要http://www.ipchicken.com/

访问服务器

你可以找到这个真正轻松

这应该工作

无论其

如果你只有一个调制解调器,并通过直接获得你的互联网。你有不同的情况

所有的数据包被发送到连接到广域网端口的一台计算机(意思是一切都被发送到你的电脑,无论端口)... 如果是这样的话

你应该忘记关于端口转发,只是给你的朋友使用ipchicken或其他方法你的公网IP发现....

这应该工作,除非MS SQL有我不没有关于

希望这个额外的安全层帮助

EXTRA

默认情况下,Windows会添加一个防火墙,用于阻止所有连接,但有些使用后建立的例外情况除外......所以首先,您需要在Windows防火墙中添加一个例外来打破一个漏洞。 ..这是通过点击你正在使用的当前连接并点击属性或其他东西来完成的,但是一旦你知道如何做到这一点,就完全不知道。只是告诉防火墙端口“ms sql使用的任何端口”是安全的。

完成之后,你的朋友应该可以通过输入你的IP地址作为主机来连接....我对C#没有太多了解,但是你的朋友会做的是使用nessecary如果他们连接到任何旧的sql服务器,他或她将拥有这些程序。除了“主机”是您的服务器的IP地址。

我不太清楚连接字符串是什么意思,你可以试着给我更多的信息吗?

+0

谢谢你这么多先生,它帮助了很多..im不使用路由器它是直接连接到调制解调器.. –

+0

没问题...高兴地帮助 – 2011-11-10 01:56:32

+0

@Angelo塞拉诺如果Windows防火墙打开,你将不得不打开那里的端口(也许你记得大约在2002年SQL Slammer)。另外,如果您正在查找如何配置端口,请参阅[如何配置SQL Server实例以侦听特定的TCP端口或动态端口](http://support.microsoft.com/kb/823938)。 –