內網連接埠映射詳解(花生殼)

來源:互聯網
上載者:User

關於如何建立伺服器的解答。

一.花生殼的作用

首先,我們先來瞭解一下花生殼的到底有什麼作用。因為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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.