2011-11-10 133 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)。 –