向日葵 | 2018-06-20
很多个人或者中小型公司都会自建服务器,或者将自己内网的服务、应用发布到外网,实现异地访问,如:网站、公司的管理系统、管家婆、FTP、远程桌面、数据库、监控系统等等。
没有接触过的人可能会觉得这个是很高深的东西,实际上使用花生壳来搞定这些并不困难,只要了解下其中的原理,再应用到实际环境中就比较简单了。
在进入正题之前,先解释公网IP是什么,老司机不妨可以跳过直接看下一节内容。
事实上,现在大多数家庭或者公司的网络,宽带运营商分配的上网IP都是内网IP。具体怎么判断呢?
登录到拨号的路由或者光钎猫,在拨号设置界面,若IP地址属于以下类型的均为内网IP:
(1)172.x.x.x
(2)10.x.x.x
(3)100.x.x.x
(4)192.x.x.x等等
路由器拨号后获得的IP为这些类型开头的,都是在大的内网里面,被宽带NAT过的,与其他宽带用户共用一个网络出口。如果自己不确定,可以复制IP地址到ip138.com去查询。就像查手机归属地一样,查询结果会告诉你这个是保留地址,局域网地址,还是某地某宽带的公网IP。
其实这种也是宽带商为了节省公网IP地址资源的一个好办法,不过对于一些个人玩家、有服务发布需求的人来说就不是好事情了。以前小的企业,个人玩家,中小型规模连锁店等,内网需要发布应用服务到外网时,都是通过路由器映射的方式实现的。互联网的互访终究还是通过真实的公网IP实现,外网的计算机是没有办法访问一个内网IP的。
登录到路由器管理界面,查看WAN口的信息。如下图所示,显示当前上网方式为拨号上网、动态IP上网或静态IP上网,复制此WAN口 IP去查询判断就清楚了。
以前的互联网用户没那么多,公网IP地址资源尚未太枯竭的情况下,可以通过路由器映射的方式实现将内网的服务发布到外网,实现外网访问。
我先举个栗子,看看路由器端口映射是怎么设置的(下面情景都在有动态公网IP环境下)。
这里要分情况来说,分别是服务器拨号、路由器拨号,还有路由器当下面层级(比如二级、三级路由时)该怎么做。
电脑如何开启远程桌面功能,可自行百度,这里不作赘述了。
(1)服务器设备拨号上网的情况下,只要本身开放了相应的端口,是不需要端口映射的,端口直接开放在公网了。这种情况下,只要得知服务器拨号获取的公网IP是多少,加上对应的端口号就可以实现外网访问了。(查看服务器拨号的公网IP:在cmd命令行输入“ipconfig/all”即可查到。)
(2)登录花生壳,域名自动解析到当前公网IP地址。
这也是是相对简单的网络环境,路由器拨号,宽带分配的wan口IP为公网IP,服务器直接连接此路由器上网。端口映射的两个要点:端口号、服务器的内网IP。
(1)打开路由器管理界面,一般默认的是192.168.1.1 ,若有修改过,请根据实际的地址登录,输入路由器用户名和密码登录。
(2)设置端口映射,通常路由器中显示“虚拟服务器”、“NAT”或“端口映射”等。添加映射时,必填项为服务器的内网IP,和需要开放的端口。服务器的IP地址查询,可以通过cmd命令行,输入:ipconfig查看;也可点击对应的网卡查看IP信息。端口号就是你要发布的应用,它所对应的端口号。比如常见的端口类型有:网站80/81 ,FTP 21,SSH 22,远程桌面3389 等,根据实际情况来填写。
(3)登录花生壳,域名自动解析到当前公网IP地址。
【建议】把服务器内网IP设置为静态IP地址,防止服务器重启后IP地址重新获取,导致外网无法访问,还得修改端口映射内容。
固定IP有两种方式:
①右键点击网卡属性,选择TCP/IP协议,按照实际的局域网情况填写服务器的IP地址信息。
②通过路由器的MAC与IP绑定功能,固定服务器的内网IP。
这是服务器接在二级路由的情况,中间多了一层路由器,猫作为拨号路由器。这里需提醒一下,很多情况下有猫存在的网络环境,都是由猫来拨号的,除非是猫当桥接,路由器拨号时,这时候的设置方法请看上一步操作。
(1)首先,在路由器上设置端口映射,填写服务器的IP地址和端口号3389。
(2)登录猫,在猫上设置端口映射。此时填写映射的IP是,路由器的wan口IP,以及端口号3389。
——比如,服务器的IP是192.168.1.100,猫的Lan口IP是 192.168.0.1,路由器的wan口IP是 192.168.0.2。
——那么在路由器上设置的端口映射,填写服务器的IP地址:192.168.1.100和端口号3389。
——在猫上设置端口映射,填写的IP地址是:192.168.0.2和端口号3389。
(3)最后登录花生壳即可。
以上的三种情况,都是设置完后直接登录花生壳,花生壳不需要做任何设置,登录在线即可。
这里说下原因:
由于路由器拨号获取的公网IP地址会经常变化,我们不可能时时刻刻去查看现在的公网IP是多少,然后告诉外网的人去访问。花生壳的作用就是实时更新IP,花生壳账号注册的时候,系统会赠送一个二级的域名给我们使用。只要账号里有域名,域名会自动指向更新的IP地址。所以不管IP怎么变,域名总是能解析到对应正确的IP地址的。这个就是花生壳的好处,同时也是公网版的用法。外网就可以使用域名和对应的端口来访问到内网的服务器了。
重点说明,花生壳是支持多种登录方式的,有:
(1)PC版的客户端:支持Windows和Linux系统
(2)路由器内嵌的花生壳功能:NetGear、TP-link、中兴、360路由、腾达、D-link、小米、极路由等品牌的路由器
(3)工业设备:微控工业
(4)硬件设备:花生棒、花生壳盒子为花生壳自家产品
以上列举的都是花生壳的登录方式(包括但不限于),有人估计会问,我的路由器内嵌了花生壳功能,并且我电脑上也有花生壳软件,都同时登录,这样就能确保稳定了。
这里要强调,这种做法不可取!!!花生壳是支持这些类型的登录方式,但是不支持相同账号同时多种方式登录。相同时间在不同设备不同客户端登录相同账号,等于多处登录了,会产生互踢的情况。为保稳定,保证一台设备一个客户端登录即可。
至此,花生壳公网版的功能已经讲完,估计大家看到这里已经非常疲劳了,因为文字太多,信息量也大。
前提是必须有公网IP呢,如果没有呢?
或者是猫的端口映射功能被阉割了,没有权限登录猫,也无法破解的情况下,
请看后面的【花生壳内网穿透】的方式实现吧,省点儿力气。
花生壳内网穿透功能,可以解决没有公网IP,没有端口映射权限网络环境难题。数据经过花生壳的服务器做中转,附上原理图:
下面来看下详细步骤吧,也是以服务器内网IP为192.168.1.100,映射3389端口为例:
(1)服务器上开放远程桌面,确认局域网内的其他机器能通过服务器的IP连接进来。
(2)登录花生壳客户端,注意登录的账号必须已经按照操作指示激活了【内网穿透】功能。点击客户端界面上的新增映射“+”按钮。
(3)配置映射信息:
① 应用名称:为此映射定义名称
② 应用类型:选择TCP
③ 映射模板:选择“Windows远程桌面”
④ 外网域名:选择账号下已有的域名,作为外网连接远程桌面的地址
⑤ 外网端口:选择动态端口,若已购买固定端口号,也可以选择固定端口号
⑥ 内网主机、内网端口:选择映射模板后自动填写,若信息不正确可手动修改
⑦ 带宽:用户根据账号等级享受相应的带宽服务
以上配置项确认无误后,点击“保存”即可。
(4)映射设置成功,生成一个外网访问地址,格式是域名加5位数随机端口。查询这个域名指向的IP,就不是我们当前网络上网的IP了,是花生壳转发服务器的IP地址,这个是没有错误的。
在外网找一台电脑,打开远程桌面的窗口,输入刚刚映射好的地址,测试访问,OK~~
以上,就是花生壳内网穿透版本的使用方法。
怎么区分通过哪种方式发布服务应用:
(1)没有公网IP,无法登录猫,没有路由器账号密码,没有端口映射权限等等的,都可以用内网穿透版本来实现外网访问。
(2)有真实公网IP、有路由器/光猫端口映射权限与功能,选择路由器映射。
像一些软件是固定端口的,比如管家婆的211,FTP的21这些类型,可以用花生壳企业+版本服务实现。
除了上面提到的服务类型,假如是监控摄像头、企业的ERP系统、DTU传输、部分金蝶软件、个人网盘等应用,都可以通过花生壳发布到外网去,只要知道要发布的应用的端口号,基本上都没有问题。
以上就是利用花生壳将内网的服务发布到外网去的方法,如果各位小伙伴有补充的也可以欢迎提出。