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