上大计基课,老师讲了一句有没有人尝试过在自己的计算机上搭建虚拟服务器,我心潮澎湃,决心要做一下这个尝试。
于是,伟大的尝试就开始了。。。(伟大到白发丛生,因为到现在还是没能够以一种不花钱的方式手动解决,等等,我突然想到了,哎 还是先写这个吧、、、)
先是在网上找教程,教程写的很明确,一共三个步骤,第一步下载Tomcat用本地ip地址测试;第二步进行端口映射用公网ip地址测试;第三步利用花生壳进行动态域名解析(说白了,就是给你一个免费的域名,在本地机器上安装花生壳客户端,每次登陆花生壳客户端时花生壳会把你的公网ip地址上传到它的服务器上,并且把给你的免费域名解析到你的公网IP上去)
<!--
讲到这里,专业术语就比较多了,相信很多小白已经一脸懵逼了,没关系,我刚开始也是一脸懵逼的。推荐大家按以下个顺序自行百度:什么是公网IP和私网IP;如何解决公网IP不够用;为何会有域名的出现(这里顺带普及一下,你的电脑想要访问一台服务器机器,就必须知道它的公网IP地址,你可以进行下面这个实验去理解:运行cmd --> 键入 “ping www.baidu.com” 然后你会看到有一串IP地址,这个IP地址就是你要访问的百度服务器的公网IP地址,讲到这里,我还是也说说域名吧,因为记忆这样一个公网IP地址,显然没有记忆 www.baidu.com 方便且容易记,于是就有了域名,域名的作用就是指代公网IP,把下一个问题也说了吧,而DNS的作用就是把域名解析成IP,因为IP才是一台机器的真实地址,域名只是他的一个代号而已。 虽然我都讲了,但太笼统了,强烈建议还是查一下,会有更全面的了解,方便后面的学习);DNS的作用是什么。
-->
这里贴上教程的网址:https://www.cnblogs.com/lijuntao/p/6489610.html
但是教程终归是教程,我十分清楚的记得,我花了整整一个下午加晚上吧,也依然没有完成教程中的第二步(不得不说,我是真的菜,所以当你跟着教程一步一步实操之后依然弄不出来时,我就是你最好的慰藉,因为这个坎,我带着它跨了个年!)
有一大部分原因是我没有再去了解这方面的知识,当然,更大一部分的原因是因为我太穷了,买不起一个价值几十块钱的路由器(惊了,我竟然穷到这个地步!),直到有一天,心血来潮(又是心血来潮),我看了一个关于ip和DNS的视频教程,了解到了DNS的精髓?!,反正就是初步理解了DNS,然后打开电脑去花生壳上大下功夫,但花生壳是真的,哎,不想说话,没有钱花生壳对我来说就只是一个不能多点几下的应用程序。于是为了DNS,我又找到了nat123,用那为数不多的5币,做了令自己不满意的测试,然并卵。。。
直到后来,现在的我,第一次接触到了路由器这个东西,第一次调试他,就发现了困扰我几个月的秘密。
我们用宽带拨号上网,网络服务商(ISP)会给我们分配动态的公网IP,这个动态的公网IP就是我们上网的接口,有很多的和我们一样的用户都在用这个接口上网,我们所公用的网,应该就是这个动态IP下的一个子网,类比路由器DHCP分配每个pc私网IP一样,而实际生活中,外网IP和主机的IP之间应该不止一个路由器,也就是说,自己本身不接路由器,你的上一个外网IP也不是ISP分配的动态IP。(不知道是不是这样的)
之所以这么说,是因为在我配置路由器到时候,发现家里路由器的外网IP地址是192.168.1.3(个人pc连在这个路由器上,路由器的网关是192.168.0.1,DHCP分配内网IP的地址段是192.168.0.2—192.168.0.255,自己电脑的内网IP是192.168.0.2),也就是说,路由器的外网IP也是通过DHCP分配的一个私网IP,因为家里有个无线猫,所以肯定是这个无线猫分配的,为了验证我的猜想(因为本人对网络也是小白),我把网线拔了,连上无线猫提供的WiFi,ipconfig了一下发现自己的IP地址变成了192.168.1.x段的,猜想成立。
那我就想着,之所以不能通过端口映射用ISP分配的公网IP来访问我的计算机,就是因为没有对这个公网IP进行添加映射,也就是说,我还得在我家的无线猫上进行配置,第一个想法就是进入192.168.1.1(无线猫网关),添加一个映射到192.168.1.3(路由器IP地址),之前不是添加了一个路由器的映射到192.168.0.2(我的电脑IP地址),我想着,这样双重映射应该就可以了(但我不知道这样能不能成功,或者说这么做合不合法),于是测试了一下,不能成功。
但是很快,我就为这个失败找到了自认为合理的原因,我登入192.168.1.1(无线猫网关),查看到了接路由器wan口的这根网线的外网IP是100.64.106.197,竟然不是我在百度上查到的ISP分配给我的动态IP(1.85.207.121),我的第一念头就是,这肯定是一个上层的路由器分配下来的一个子网IP,因为我在这个IP的后面还看到了默认网关:100.64.0.1,然后我试着去登入这个上层路由器,也添加一个端口映射到我家的无限猫上去,结果拒绝访问。
又上网上搜了一下这个100.64.0.1,说它是一个保留IP,我家升了光纤用户,ISP没有给我家提供一个公网IP,这个保留IP是个内网地址,说我可能是通过ISP的路由器NAT出去上网的。
惊了噢!那就是说,很多光纤用户就在用这个上层路由器DHCP出的一个子网IP去上网,也就是说至多254个的光纤用户都属于一个子网,确实是解决了公网IP不够用的情况,真的牛逼啊!那我在家根本就做不了这个实验?!
那我还是把路由器拿去学校吧,至少学校宿舍不是光纤用户,但就是不知道它有没有采用同样一种方式去节省IP。
之所以说做不了实验,是因为,我还不会内网穿透,感觉很高大上的样子,花生壳提供内网穿透服务,但是要花6块钱,哇,我怎么可能会向他妥协!!等我待续吧,先度过一个快乐的寒假,嘻嘻~
2019-01-23
2019.03.18(抱歉更新晚了好久)
彻底放弃了,移动校园宽给我们用的带用也是通过路由器分出来的172的私网IP地址,醉了,确实,这种方法能够很有效的解决IP地址池供应不足的问题,可是,我透,也严重的影响了像我这样的兴趣爱好者的乐趣,莫名有点期待ipv6了,呵呵、、、、
尽管呢,我无法完成实验,但是呢,其实是我不想完成吧,就是,你可以花6块钱买一个花生壳的内网穿透服务,这样就可以实现域名解析到你的本地计算机了应该,我还没试,目前也不想试,虽然也就6块钱吧,平时少喝一瓶饮料就搞定的事情,但是,莫名其妙,就是不想花钱,哎,作死。
等有机会,我想通了,买一个试试,因为网上看到的解决方案就是做一个内网穿透,俗话就是打洞(一说打洞,就让我想到了黑客军团、、)那这里简单介绍一下我理解的内网穿透,仅供初学者了解个大概,很不专业很不严谨,甚至理解不到位。
内网穿透,就是在本地计算机安装一个提供内网穿透服务的软件客户端(比如花生壳客户端),然后每次你启动本地客户端的时候客户端会向服务器发去请求,这时候服务器存下你的公网IP,中途路由器会存下上一站节点的IP和下一站节点的IP,并且服务器会一直和你的计算机保持通讯,并把你注册的域名解析,当有用户访问你的域名的时候,他是先访问给你提供内网穿透服务的服务器,这个服务器收到请求后会把相应的什么东西发送给你的计算机,因为你始终和服务器保持通讯,你的计算机会把东西发给服务器,服务器再把东西发给用户?
服务器想要和你通讯,必须是由你发起的会话才可以,否则服务器是不能单方面的给你发送请求的,也顾名思义,服务器服务器,只是个服务的功能,这样做的好处也是显而易见的,保证了黑客不能直接访问你的计算机,除非你先去访问它。
而内网穿透的目的就是让你先去访问,这也就是打洞的含义,从内部打洞,然后就能实现通讯了,客户通过服务器和你进行通讯,也就实现了访问内网计算机,这便是内网穿透。
溜了,有不对的 请留言 我也是个新手,有些东西全是自己发挥的、、、下次我会端正态度的!
2019.06.03
【花生壳内网穿透服务免6块钱了】
最近想开发一个个人主页,昨晚规划了一下然后写了一些测试文档觉得还行,就想着登入花生壳买下那6块钱的内网穿透功能,结果昨天登进去,免费了?!!!?真好!
于是0元购买了这个服务,然后添加了一条映射,如花生壳所说,就只是给个人测试用的服务,因为它给的域名外网端口是动态分配的,我尝试设置成固定的80端口,不行!动态分配了一个五位数的端口号,不过也还好,总比没有好。添加完映射之后测试了一下,当我手机用4G流量在浏览器输入域名加端口,浏览器返回给我一个我自己的页面的那一刻,真的,内心压抑不住的兴奋!这意味着什么?它不只是测试成功的信号,它意味着,那时那刻,来自全世界各国各地的互联网用户,也包括现在的你,都可以通过这个网址访问到我的电脑为你们指定的页面,都可以享受到我的电脑给你们带去的服务!
这是我的电脑,第一次,这么赤裸裸的站在世界面前。(不要反驳我,只可意会不可细思)