帮助 |
花生壳内网port映射具体解释
2015-01-03 12:36 内网穿透
关于怎样建立服务器的解答。
一.花生壳的作用 首先,我们先来了解一下花生壳的究竟有什么作用。由于ADSL每次拨号上网所获得的IP地址每次都是不同的,花生壳起到的作用就是方便用户訪问我们的server(仅仅须要输入域名便可),而不用每次都输入IP地址那么麻烦(由于我们也不可能每次又一次拨号上网后,又去告诉用户如今的server的IP地址什么)。 比如,我们的花生壳护照下有一个域名www.oray.net ,那么仅仅要在电脑上用该护照登陆了花生壳client。当别人输入www.oray.net的时候,会自己主动解析到那台电脑所在的网络的公网IP地址。 也就是说,详细的server,是要我们自己去设置完毕的。而不同的上网方式,建立server的方式是不同的,以下介绍两种常见上网方法的server的建立。(这两个上网方法主要差别在于用来做server的计算机,是否能得到公网的IP地址)。 二.ADSL直接拨号上网(不经过路由器等路由设备) 假设是通过ADSL Modem直接ADSL拨号上网,那么您的计算机获得的是公网的IP地址。 三.通过路由器共享上网(也就是处于局域网内部) 假设您是通过路由器上网,那么则须要在路由器上做port映射,外网的计算机才干訪问你的server。 背景知识: 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 为什么局域网内做server要在路由器上做port映射? 首先,我们必须清楚: (1)Internet网络中,仅仅有公网IP是可以互相通讯的。 (2)局域网内,通一网段的私有IP地址可以互相通讯。(但公网IP不能和私有IP直接互相通讯。) (3)路由器一般有两个IP:一个是公网IP地址(用于和公网的计算机通讯)。一个是内网(私有)IP(用于和内网的计算机通讯)。 (4)与路由器连接的计算机,获取的仅仅是内网(私有)IP地址。仅仅能通过路由器和公网的其他计算机进行通讯。 (它自己是不能直接和外网的计算机通讯的) 注意第(2)点,这就是为什么很多朋友都问:“为什么我的站点在局域网的电脑上能够浏览,但外网的电脑却打不开?”的主要原因。 常见的serverport号: WEBserver(站点server):80port FTPserver(文件server):21port 终端server:3389port 邮件server:25port(SMTP)和110port(POP) VPNserver:1723port 实例说明 如果如今外网有一台ADSL直接拨号上网的电脑,所获得的是公网IP(61.168.45.23)。然后它想訪问局域网内的电脑 (192.168.1.10)上面的站点。 (路由器上已经做好了port映射。详细规则是:将全部发向自己80port的数据,都转发到内网的计算机192.168.1.10上。) 訪问步骤例如以下: ①公网电脑(61.168.45.23)向路由器(218.6.146.31)发送请求,要求訪问它的80port。(同样道理,假设是要訪问FTPserver, 则发送訪问路由器21port的请求。) ②路由器收到请求后,依照port映射的规则,通过内网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登陆花生壳client。这时候,www.oray.net 相应的IP地址就是路由器的公网IP地址218.6.146.31了。详细訪问步骤例如以下: ①公网电脑(61.168.45.23)的用户输入www.oray.net,想要訪问192.168.1.10上的站点。 ②花生壳的域名server告诉计算机61.168.45.23,www.oray.net这个域名相应的IP地址是218.6.146.31。 ③于是,计算机61.168.45.23向路由器(218.6.146.31)发送请求,要求訪问它的80port。 ④路由器收到请求后,依照port映射的规则,通过内网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 在网络技术中,port的英文是Port,它有有两种解释: 一是物理意义上的port,比方,ADSL Modem、集线器、交换机、路由器用于连接其它网络设备的接口,如RJ-45port、SCport等等。 二是逻辑意义上的port,通常是指TCP/IP协议中的port,port号的范围从0到65535,比方用于浏览网页服务的80port,用于FTP服务的21port等等。我们这里将要介绍的就是逻辑意义上的port。 port的分类 逻辑意义上的port有多种分类标准,以下将介绍两种常见的分类: 1. 按port号分布划分 (1)知名port(Well-Known Ports) 知名port即众所周知的port号,范围从0到1023,这些port号一般固定分配给一些服务。比方21port分配给FTP服务,25port分配给SMTP(简单邮件传输协议)服务,80port分配给HTTP服务,135port分配给RPC(远程过程调用)服务等等。 (2)动态port(Dynamic Ports) 动态port的范围从1024到65535,这些port号一般不固定分配给某个服务,也就是说很多服务都能够使用这些port。仅仅要执行的程序向系统提出訪问网络的申请,那么系统就能够从这些port号中分配一个供该程序使用。比方1024port就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的port号。 只是,动态port也经常被病毒木马程序所利用,如冰河默认连接port是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。 2. 按协议类型划分 按协议类型划分,能够分为TCP、UDP、IP和ICMP(Internet控制消息协议)等port。以下主要介绍TCP和UDPport: (1)TCPport TCPport,即传输控制协议port,须要在client和server之间建立连接,这样能够提供可靠的传输数据。常见的包含FTP服务的21port,Telnet服务的23port,SMTP服务的25port,以及HTTP服务的80port等等。 (2)UDPport UDPport,即用户数据包协议port,无需在client和server之间建立连接,安全性得不到保障。常见的有DNS服务的53port,SNMP(简单网络管理协议)服务的161port,QQ使用的8000和4000port等等 如何去查看(找)port呢? 提示:本人对Windows系统熟悉点,所以不阐述其他系统了!见谅! 在Windows 2000/XP/Server 2003中要查看port,能够使用Netstat命令: 依次点击“開始→执行”,键入“cmd”并回车,打开命令提示符窗体。在命令提示符状态下键入“netstat -a -n”,按下回车键后就能够看到以数字形式显示的TCP和UDP连接的port号及状态(如图)。 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> 这些,就是你的机器开放和正在使用的port了! (上面的详细參数是什么意思,我们后面再讲,这里不讲那么多,免得新手一下接受不了) 只是这个操作命令我还是要解释一下,由于我自己也常常忘记 Netstat命令 命令格式:Netstat -a -e -n -o -s -a 表示显示全部活动的TCP连接以及计算机监听的TCP和UDPport。 -e 表示显示以太网发送和接收的字节数、数据包数等。 -n 表示仅仅以数字形式显示全部活动的TCP连接的地址和port号。 -o 表示显示活动的TCP连接并包含每一个连接的进程ID(PID)。 -s 表示按协议显示各种连接的统计信息,包含port号 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. 基本是这样了。 好了,基本上,你应该有些port的概念了!接下来,让我们再来了解,什么叫《port映射》 1-为什么要映射:假设你是ADSL、CABLE MODEM或光纤等宽带接入用户,想在网吧或公司内部建一个游戏server或WEBserver,而且可以让互联网上的用户訪问你的server,那么你就会遇到port映射问题。 (举个简单样例:你爸上学校找你,来到学校大门却不知道你在哪个教室,这时候值班老师就带你爸爸来到你的教室---->这个过程就如同“port映射”) 2-如何去映射:通常情况下,路由器都有防火墙功能,互联网用户仅仅能訪问到你的路由器WAN口(接ADSL线口),而訪问不到内部server。要想让外面用户訪问到server,那么你就要在路由器上做一个转发设置,也就是port映射设置,让用户的请求到了路由器后,并可以到达游戏server或WEBserver。这就是port映射。 眼下,全部的宽带路由器都有port映射功能,仅仅是各个路由器厂商所取功能名称不一样,有的叫虚拟server,有的叫NAT设置。。。 port映射设置非常easy,比如要映射一台IP地址为192.168.1.254的WEBserver,仅仅需把server的IP地址192.168.1.254和TCPport80填入到路由器的port映射表中就OK了,当然不同的服务有不同的port,新手切勿乱改port,避免造成冲突,这种冲突故障普通情况下你是找不到原因的! 3-射完后,怎样检測:举个样例:WEBserver应该是80port映射,这时候,先放一个名为index.htm的静态页面,然后用你的ip或者域名输入到地址栏,回车,看看能否正常訪问! 5.为什么我输入我的域名后,要输入账号和password? (1)路由器(或Modem)中开启了远程管理功能,占用了路由器的80port,所以每次输入域名(或路由器的公网IP),都会弹出登陆窗体。 (2)你的Web配置不对,Webserver的默认账号没有訪问网站文件夹的权限。 |