關於如何建立伺服器的解答。
一.花生殼的作用
首先,我們先來瞭解一下花生殼的到底有什麼作用。因為ADSL每次撥接所獲得的IP地址每次都是不同的,花生殼起到的作用就是方便使用者訪問我們的伺服器(只需要輸入欄位名便可),而不用每次都輸入IP地址那麼麻煩(因為我們也不可能每次重新撥接後,又去告訴使用者現在的伺服器的IP地址什麼)。
例如,我們的花生殼護照下有一個網域名稱www.oray.net ,那麼只要在電腦上用該護照登陸了花生殼用戶端。當別人輸入www.oray.net的時候,會自動解析到那台電腦所在的網路的公網IP地址。
也就是說,具體的伺服器,是要我們自己去設定完成的。而不同的上網方式,建立伺服器的方式是不同的,下面介紹兩種常見上網方法的伺服器的建立。(這兩個上網方法主要區別在於用來做伺服器的電腦,能否得到公網的IP地址)。
二.ADSL直接撥接(不經過路由器等路由裝置)
如果是通過ADSL Modem直接ADSL撥接,那麼您的電腦獲得的是公網的IP地址。
可以參考這裡面的文章來直接建立伺服器:http://www.oray.net/Help/Samples/Help_Samples.htm 。
三.通過路由器共用上網(也就是處於區域網路內部)
如果您是通過路由器上網,那麼則需要在路由器上做連接埠映射,外網的電腦才能訪問你的伺服器。
背景知識:
1.什麼是私人IP地址(內網IP地址)?
私人地址,這些地址被大量用於企業內部網路中。一些寬頻路由器,也往往使用192.168.1.1作為預設地址。私人網路由於不與外部互連,因而可能使用隨意的IP地址。保留組的地址供其使用是為了避免以後接入公網時引起地址混亂。使用私人網路在接入Internet事,要使用實質翻譯(NAT),將私人地址翻譯成公用合法地址。在Internet上,這類地址是不能出現的。
2.私人IP地址的範圍(形式):
192.168.x.x (如裡面的192.168.1.10到192.168.1.12)
10.x.x.x
172.16.x.x ~172.31.x.x
為什麼區域網路內做伺服器要在路由器上做連接埠映射?
首先,我們必須清楚:
(1)Internet網路中,只有公網IP是能夠互相通訊的。
(2)區域網路內,通一網段的私人IP地址能夠互相通訊。(但公網IP不能和私人IP直接互相通訊。)
(3)路由器一般有兩個IP:一個是公網IP地址(用於和公網的電腦通訊)。一個是內網(私人)IP(用於和內網的電腦通訊)。
(4)與路由器串連的電腦,擷取的只是內網(私人)IP地址。只能通過路由器和公網的其它電腦進行通訊。
(它自己是不能直接和外網的電腦通訊的)
注意第(2)點,這就是為什麼許多朋友都問:“為什麼我的網站在區域網路的電腦上可以瀏覽,但外網的電腦卻打不開?”的主要原因。
常見的伺服器連接埠號碼:
WEB伺服器(網站伺服器):80連接埠
FTP伺服器(檔案伺服器):21連接埠
終端伺服器:3389連接埠
郵件伺服器:25連接埠(SMTP)和110連接埠(POP)
VPN伺服器:1723連接埠
執行個體說明
假設現在外網有一台ADSL直接撥接的電腦,所獲得的是公網IP(61.168.45.23)。然後它想訪問區域網路內的電腦
(192.168.1.10)上面的網站。
(路由器上已經做好了連接埠映射。具體規則是:將所有發向自己80連接埠的資料,都轉寄到內網的電腦192.168.1.10上。)
訪問過程如下:
①公網電腦(61.168.45.23)向路由器(218.6.146.31)發送請求,要求訪問它的80連接埠。(相同道理,如果是要訪問FTP伺服器,
則發送訪問路由器21連接埠的請求。)
②路由器收到請求後,按照連接埠映射的規則,通過內網IP地址192.168.1.1把請求的資料發送到區域網路內的電腦192.168.1.10上。
③電腦192.168.1.10收到請求後,把自己電腦中網站的資料發送到路由器。
④路由器收到電腦192.168.1.10發來的資料後,通過公網IP 218.6.146.31把它們發送到公網的電腦61.168.45.23上去。
下面我們就結合花生殼,再來說明上面的例子:
例如
我們的花生殼護照abc下有一個網域名稱www.oray.net,那麼我們在192.168.1.10上,用護照abc登陸花生殼用戶端。這時候,www.oray.net 對應的IP地址就是路由器的公網IP地址218.6.146.31了。具體訪問過程如下:
①公網電腦(61.168.45.23)的使用者輸入www.oray.net,想要訪問192.168.1.10上的網站。
②花生殼的網域名稱伺服器告訴電腦61.168.45.23,www.oray.net這個網域名稱對應的IP地址是218.6.146.31。
③於是,電腦61.168.45.23向路由器(218.6.146.31)發送請求,要求訪問它的80連接埠。
④路由器收到請求後,按照連接埠映射的規則,通過內網IP地址192.168.1.1把請求的資料發送到區域網路內的電腦192.168.1.10上。
⑤電腦192.168.1.10收到請求後,把自己電腦中網站的資料發送到路由器。
⑥路由器收到電腦192.168.1.10發來的資料後,通過公網IP 218.6.146.31把它們發送到公網的電腦61.168.45.23上去。
可以看到,其實正個過程和原來差不多是一樣的,只是前面部分稍微有點不同,多了個網域名稱解析過程而已。
四.到底什麼是連接埠
在網路技術中,連接埠的英文是Port,它有有兩種解釋:
一是物理意義上的連接埠,比如,ADSL Modem、集線器、交換器、路由器用於串連其他網路裝置的介面,如RJ-45連接埠、SC連接埠等等。
二是邏輯意義上的連接埠,一般是指TCP/IP協議中的連接埠,連接埠號碼的範圍從0到65535,比如用於瀏覽網頁服務的80連接埠,用於FTP服務的21連接埠等等。我們這裡將要介紹的就是邏輯意義上的連接埠。
連接埠的分類
邏輯意義上的連接埠有多種分類標準,下面將介紹兩種常見的分類:
1. 按連接埠號碼分布劃分
(1)知名連接埠(Well-Known Ports)
知名連接埠即眾所周知的連接埠號碼,範圍從0到1023,這些連接埠號碼一般固定分配給一些服務。比如21連接埠分配給FTP服務,25連接埠分配給SMTP(簡易郵件傳輸通訊協定)服務,80連接埠分配給HTTP服務,135連接埠分配給RPC(遠端程序呼叫)服務等等。
(2)動態連接埠(Dynamic Ports)
動態連接埠的範圍從1024到65535,這些連接埠號碼一般不固定分配給某個服務,也就是說許多服務都可以使用這些連接埠。只要啟動並執行程式向系統提出訪問網路的申請,那麼系統就可以從這些連接埠號碼中分配一個供該程式使用。比如1024連接埠就是分配給第一個向系統發出申請的程式。在關閉程式進程後,就會釋放所佔用的連接埠號碼。
不過,動態連接埠也常常被病毒木馬程式所利用,如冰河預設串連連接埠是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。
2. 按協議類型劃分
按協議類型劃分,可以分為TCP、UDP、IP和ICMP(Internet控制訊息協議)等連接埠。下面主要介紹TCP和UDP連接埠:
(1)TCP連接埠
TCP連接埠,即傳輸控制通訊協定連接埠,需要在用戶端和伺服器之間建立串連,這樣可以提供可靠的資料轉送。常見的包括FTP服務的21連接埠,Telnet服務的23連接埠,SMTP服務的25連接埠,以及HTTP服務的80連接埠等等。
(2)UDP連接埠
UDP連接埠,即使用者資料包協議連接埠,無需在用戶端和伺服器之間建立串連,安全性得不到保障。常見的有DNS服務的53連接埠,SNMP(簡易網路管理通訊協定)服務的161連接埠,QQ使用的8000和4000連接埠等等
怎樣去查看(找)連接埠呢?
提示:本人對Windows系統熟悉點,所以不闡述其它系統了!見諒!
在Windows 2000/XP/Server 2003中要查看連接埠,可以使用Netstat命令:
依次點擊“開始→運行”,鍵入“cmd”並斷行符號,開啟命令提示字元視窗。在命令提示字元狀態下鍵入“netstat -a -n”,按下斷行符號鍵後就可以看到以數字形式顯示的TCP和UDP串連的連接埠號碼及狀態()。
QUOTE:
Microsoft Windows [版本 5.2.3790]
(C) 著作權 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>netstat -a -n
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:110 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:143 0.0.0.0:0 LISTENING
TCP 0.0.0.0:366 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1040 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1045 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1863 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3004 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
TCP 0.0.0.0:4449 0.0.0.0:0 LISTENING
TCP 127.0.0.1:3001 0.0.0.0:0 LISTENING
TCP 127.0.0.1:3002 0.0.0.0:0 LISTENING
TCP 127.0.0.1:3003 0.0.0.0:0 LISTENING
TCP 127.0.0.1:3009 127.0.0.1:3306 ESTABLISHED
TCP 127.0.0.1:3306 127.0.0.1:3009 ESTABLISHED
TCP 127.0.0.1:9189 0.0.0.0:0 LISTENING
TCP 127.0.0.1:23883 0.0.0.0:0 LISTENING
TCP 192.168.1.100:80 59.49.233.34:31456 ESTABLISHED
TCP 192.168.1.100:80 61.141.167.189:1177 ESTABLISHED
TCP 192.168.1.100:80 218.56.136.208:5285 ESTABLISHED
TCP 192.168.1.100:80 221.237.165.17:1213 ESTABLISHED
TCP 192.168.1.100:80 222.168.11.186:4422 ESTABLISHED
TCP 192.168.1.100:139 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1038 222.47.205.27:5050 ESTABLISHED
TCP 192.168.1.100:4079 219.136.252.79:80 ESTABLISHED
TCP 192.168.1.100:4604 83.149.119.17:80 CLOSE_WAIT
TCP 192.168.1.100:4605 83.149.119.17:80 CLOSE_WAIT
TCP 192.168.1.100:4691 165.21.32.111:80 FIN_WAIT_1
TCP 192.168.1.100:4694 165.21.32.104:80 FIN_WAIT_1
UDP 0.0.0.0:161 *:*
UDP 0.0.0.0:500 *:*
UDP 0.0.0.0:1028 *:*
UDP 0.0.0.0:1044 *:*
UDP 0.0.0.0:3005 *:*
UDP 0.0.0.0:3010 *:*
UDP 0.0.0.0:3348 *:*
UDP 0.0.0.0:3581 *:*
UDP 0.0.0.0:3956 *:*
UDP 0.0.0.0:3958 *:*
UDP 0.0.0.0:4500 *:*
UDP 0.0.0.0:4714 *:*
UDP 0.0.0.0:27099 *:*
UDP 0.0.0.0:29367 *:*
UDP 0.0.0.0:29368 *:*
UDP 127.0.0.1:123 *:*
UDP 127.0.0.1:1037 *:*
UDP 127.0.0.1:3006 *:*
UDP 127.0.0.1:3363 *:*
UDP 127.0.0.1:3551 *:*
UDP 127.0.0.1:3600 *:*
UDP 127.0.0.1:4321 *:*
UDP 192.168.1.100:123 *:*
UDP 192.168.1.100:137 *:*
UDP 192.168.1.100:138 *:*
UDP 192.168.1.100:17985 *:*
UDP 192.168.1.100:17987 *:*
C:\Documents and Settings\Administrator>
這些,就是你的機器開放和正在使用的連接埠了!
(上面的具體參數是什麼意思,我們後面再講,這裡不講那麼多,免得新手一下接受不了)
不過這個操作命令我還是要解釋一下,因為我自己也經常忘記
Netstat命令
命令格式:Netstat -a -e -n -o -s
-a 表示顯示所有活動的TCP串連以及電腦監聽的TCP和UDP連接埠。
-e 表示顯示乙太網路發送和接收的位元組數、資料包數等。
-n 表示只以數字形式顯示所有活動的TCP串連的地址和連接埠號碼。
-o 表示顯示活動的TCP串連並包括每個串連的進程ID(PID)。
-s 表示按協議顯示各種串連的統計資訊,包括連接埠號碼
netstat命令詳解
Displays protocol statistics and current TCP/IP network connections.
NETSTAT [-a] [-e] [-n] [-o] [-s] [-p proto] [-r] [interval]
nbsp;-a nbsp; Displays all connections and listening ports.
-e Displays Ethernet statistics. This may be combined with the -s
option.
-n Displays addresses and port numbers in numerical form.
-o Displays the owning process ID associated with each connection.
-p proto Shows connections for the protocol specified by proto; proto
may be any of: TCP, UDP, TCPv6, or UDPv6. If used with the -s
option to display per-protocol statistics, proto may be any of:
IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, or UDPv6.
-r Displays the routing table.
-s Displays per-protocol statistics. By default, statistics are
shown for IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, and UDPv6;
the -p option may be used to specify a subset of the default.
interval Redisplays selected statistics, pausing interval seconds
between each display. Press CTRL+C to stop redisplaying
statistics. If omitted, netstat will print the current
configuration information once.
基本是這樣了。
好了,基本上,你應該有些連接埠的概念了!接下來,讓我們再來瞭解,什麼叫《連接埠映射》
1-為什麼要映射:如果你是ADSL、CABLE MODEM或光纖等寬頻接入使用者,想在網吧或公司內部建一個遊戲伺服器或WEB伺服器,並且能夠讓互連網上的使用者訪問你的伺服器,那麼你就會遇到連接埠映射問題。 (舉個簡單例子:你爸上學校找你,來到學校大門卻不知道你在哪個教室,這時候值班老師就帶你爸爸來到你的教室---->這個過程就如同“連接埠映射”)
2-怎樣去映射:通常情況下,路由器都有防火牆功能,互連網使用者只能訪問到你的路由器WAN口(接ADSL線口),而訪問不到內部伺服器。要想讓外面使用者訪問到伺服器,那麼你就要在路由器上做一個轉寄設定,也就是連接埠映射設定,讓使用者的請求到了路由器後,並能夠到達遊戲伺服器或WEB伺服器。這就是連接埠映射。
目前,所有的寬頻路由器都有連接埠映射功能,只是各個路由器廠商所取功能名稱不一樣,有的叫虛擬伺服器,有的叫NAT設定。。。
連接埠映射設定很簡單,例如要映射一台IP地址為192.168.1.254的WEB伺服器,只需把伺服器的IP地址192.168.1.254和TCP連接埠80填入到路由器的連接埠映射表中就OK了,當然不同的服務有不同的連接埠,新手切勿亂改連接埠,避免造成衝突,這樣的衝突故障一般情況下你是找不到原因的!
3-射完後,如何檢測:舉個例子:WEB伺服器應該是80連接埠映射,這時候,先放一個名為index.htm的靜態頁面,然後用你的ip或者網域名稱輸入到地址欄,斷行符號,看看是否能正常訪問!
5.為什麼我輸入我的網域名稱後,要輸入帳號和密碼?
(1)路由器(或Modem)中開啟了遠端管理功能,佔用了路由器的80連接埠,所以每次輸入欄位名(或路由器的公網IP),都會彈出登陸視窗。
(2)你的Web配置不正確,Web伺服器的預設帳號沒有訪問網站目錄的許可權。
轉自:http://hi.baidu.com/langzhou/blog/item/8f4fb8a1debd2e8947106499.html/cmtid/675db11b7c4710178618bf11