文档章节

普通宽带部署网站发布到公网

华山猛男
 华山猛男
发布于 2017/04/07 23:16
字数 2151
阅读 38
收藏 2

这个技术普遍路由器都支持,方法也很简单,使用普通宽带部署网站发布到公网,这样通过公网ip或花生壳即可访问自己在电脑上部署的网站。

原理说明

我们都知道,在申请电信宽带后,采用拨号登陆后,电信会自动分配一个公网IPV4的动态IP给你,这个IPV4公网IP是唯一的,如果采用网线直连(不经过路由器)的方式,你会查到唯一公网IP,其他外网电脑可以ping通你的机器,但现在一般都不这样做,因为~ you need wifi QAQ yes!。但是通过无线路由器,采用DHCP分配后,会将公网IP发布成2级网段,即192.168.1.x(可设置),那么你的机器拿到的IP地址就是局域网的IP地址,这个地址外网是无法访问到的(也就是ping不通,连不到),必须采用端口映射的方式处理,才能访问,所以我们这里直接说第二种方式怎么处理,因为说完第二种你也就知道第一种的原理了。

所以。要想将局域网发布的网站,如:http://192.168.1.166:9090/wangzhan,让别人能通过外网访问到,即:http:// 112.66.74.26:9090/wangzhan(公网IP)或http://bxxxxxxxx.ticp.net:9090/wangzhan(花生壳域名,动态IP代理),就必须通过取消电信NAT转发、DMZ主机、端口映射、端口通过本地防火墙,这几部来完成!

电信NAT转发

没有听说过这个的同学可能会一脸懵逼,这是啥?很有可能你做了其他步骤后发现还是不行,通过外网怎么都ping不通你本地的公网IP,防火墙端口都开了还是不行?恭喜你,你的当前IP地址可能是电信的保留地址(一般100、10、172打头)。

这里我直接引用百度中的一段话来说明,因为我对这个技术的了解不够深入:

正常的网络应该是动态公网ip,也就是路由器里面的WAN口IP与www.ip138.com上面显示的是一致的,不一致的话则说明该网络被电信或者联通做了NAT转发,导致您获取到了一个虚假的IP地址,无法用于外网访问;您已经处于电信或者联通构建的一个大型局域网里面了,不是真正的互联网,动态域名也只能解析到运营商公用网关的那个IP地址。
造成的影响:失去了正常的公网,会导致您无法做实时网络视频监控,无法进行外网访问等等
软件的影响:导致您的软件只能在主机和内部网使用,无法在您出差的时候或者在家里使用,其他门店也无法登录。

产生原因:

在当前IPV4下,公网IP作为不可再生资源已经捉襟见肘,而上网用户和上网设备越来越多,所以运营商无法给所有用户提供充足的独立公网IP地址资源了,因此运营商就通过NAT转发技术(网络地址转换)的方法,使部分用户都处于一个大型局域网内,共用同一个外网出口,从而缓解IP压力。就好比您的房子原来是独立的,后来被像小区一样把很多户家庭用围墙圈起来,您和同小区的所有居民公用一个小区大门。而这样的做法是一刀切,是对网络用户的不负责任,把原本应该分配给用户的独享宽带变成了共享宽带,就跟城中村的二手网络没有什么区别了。

解决方法:

拨打10000,售后报修,跟客服说:查到当前IP是保留地址,外网无法访问,没法做监控,要求分配一个动态公网IP。过一个小时后,重启一下路由器观察一下公网IP和你在百度或其他网站上查到的是否一致!

路由器截图(正常):

百度(输入IP即可):

测试:外网-CMD-PING IP地址(例:ping 112.66.74.26)

路由器端口映射

局域网电脑通过端口映射,将端口暴露在公网中,在公网中可访问此端口,首先要确定你需要映射的本地IP地址和端口号,建议设置成固定IP,因为没有通过静态绑定的IP地址,断网重连后DHCP会自动将你的IP重新分配,会导致你每次获取到的局域网IP地址不一样,那就要跑去路由器里改来改去,没必要:),我本机地址是192.168.1.166,端口号9090(我将网站部署在Tomcat的9090端口上,例:http://192.168.1.166:9090/wangzhan)。

本地IP图:

端口映射图:

DMZ主机:

本地Windows防火墙(如有多个网络,请确定使用的网络,出入站规则端口号一致,例9090):

测试:外网-CMD-TELNET IP地址 端口号(例:局域网telnet 192.168.1.166 9090或公网telnet 112.66.74.26 9090),上一步(PING)没成功,这步就不用看了,回去谢谢。

小结及问题说明

经过以上两步都成功后,你会发现,通过公网IP已经可以访问自己在本机上搭建的网站了,访问地址为:公网IP+端口号+工程名称(http://112.66.74.26:9090/wangzhan)。

至此,访问算是成功了一半,还有另外一半是啥?公网IP是动态的。。 ORZ 惊不惊喜?每隔大约24小时电信就要换一换或者断网后又换一换,你想不想掐死它,不用你说我也想。想要公网访问连接是固定的怎么办?路由器里面找一下,发现一个花生壳,这是一个神奇的东西,你几乎会发现很多种路由器都支持花生壳(路由器亲干儿子),这个是啥,这个是能够通过内网穿透,一旦你的公网IP变动,它会第一时间动态绑定到你的网址上,就是说你的公网IP不管怎么变,花生壳域名不变,能一直保持访问!(被电信NAT转发的不行哦~)

花生壳域名绑定

登录花生壳官网(http://hsk.oray.com),注册什么都就不用说了,注册完后会得到一个花生壳域名,再开通一个内网穿透(6元),最后在路由器里面登录花生壳账户就完成了。

花生壳图:

路由器图DDNS:

测试:首次登录后会解析一下,稍微等个半个小时,访问方式:域名+端口号+工程名称(http://bxxxxxxxx.ticp.net:9090/wangzhan)

注意:在本机上是无法通过域名的方式去访问的,必须是不适用当前网络的情况下才能通过域名访问,原因(待写。。),但还是有办法的,在本机上访问找到以下文件:C:\Windows\System32\drivers\etc\host,在末尾添加一行127.0.0.1 xxxx.eicp.net,即可通过域名访问。

完结图:

远程开机-20180108更新

接着上面说后续吧,路由器里面绑定好花生壳后,后续可以添加一步,远程开机,通过浏览器访问网站来触发远程开机操作。

前提:主板支持网络唤醒操作,不同的主板是不一样的,大家根据自己的主板型号去查一下,在BIOS里面开启网络唤醒模块就好了,如果没有的可以购买向日葵的开机棒或其他设备。(我的是华硕B85,在高级电源管理里面关闭ERP,开启PICE支持操作即可)

远程开机网址:

  • https://www.depicus.com/wake-on-lan/woli

一共4项信息需要填写;

MAC:该地址是你需要开机的网卡mac地址,在电脑上打开CMD,输入ipconfig/all,进行查询。

IP:该地址填写你在路由器里面绑定的花生壳的域名,会自动解析为公网IP。

Subnet Mask:自行选择,默认255.255.255.255即可。

Port:自行选择,默认4343。

如果嫌麻烦,每次要填写这么多信息,可以看上面有个链接模板,采用那种格式进行访问,每次会自动填充信息,大家可以写好保存该条链接就好了,方便使用。

© 著作权归作者所有

共有 人打赏支持
华山猛男
粉丝 6
博文 161
码字总数 81088
作品 0
海口
程序员
私信 提问
【前方高能】当运营商给你分配了内网IP后怎么当公网IP用!

最近看到不少人都在吐槽一个问题,就是宽带被运营商偷偷分配了内网IP。 事实上IPv4时代公网IP稀缺,运营商确实没有义务为每个用户提供公网IP,分配内网IP也是实属无奈之举。 但是有人想要使用...

我想要很长很长的名字
2016/04/19
4.5K
10
把iptables防火墙配置为网关服务器

Linux防火墙除了提供数据包过滤功能外,还提供了一些基本的网关应用,本篇博客将介绍iptables防火墙的SNAT和DNAT策略:局域网共享一个公网IP地址接入Internet;向Internet发布位于内网的应用...

杨书凡
01/03
0
0
备忘---上传超过4G大文件到百度云盘方法

百度云盘通过注册和绑定银行卡可以有2T的免费空间,但是在使用过程中有个4G文件的限制,文件大于4G不允许上传,但是我们实际使用过程中会涉及到一些操作系统的镜像文件很可能超过4G,现在记录...

余伟兵
04/16
0
0
私有云方案——利用阿里云云解析实现DDNS

各位都是程序员,工作中是不是遇到个类似情况。在家里研究的一些开源代码或写的一些demo或试验代码,在工作中正好需要参考一下,但是在家里的电脑上。 虽然这些都可以用云盘/网盘之类的来完成...

dotNET跨平台
10/03
0
0
网络通---一款新的端口映射优秀工具

越来越多的用户没有自己的独立公网IP,在发布一些应用或者网站到外网的时候就是一件很麻烦的事情。请注意,我说的独立公网IP并不是说一定要静态公网IP。拨号上网动态IP也不一定不可以。我们要...

874732070
04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java.util.concurrent.atomic.AtomicLong 源码

类图: 源码: package java.util.concurrent.atomic;import java.util.function.LongUnaryOperator;import java.util.function.LongBinaryOperator;import sun.misc.Unsafe;......

狼王黄师傅
3分钟前
1
0
Java每天10道面试题,跟我走,offer有!(六)

51.HashMap的实现原理 HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。HashMap基于hashing原理,我们通过put()和get()方法储...

Java干货分享
9分钟前
1
0
剧调查黑客偏爱用 Python,可能是世界上最好的语言

导读 Python 变得越来越流行,在之前 9 月份的 TIOBE 排行榜中,Python 甚至挤下 C++,拿到第三名。而这有一部分原因应当归于黑客对 Python 的热衷。 据 Threatpost 报导,在 Imperva 最近一...

问题终结者
14分钟前
1
0
apollo生产环境配置-实践笔记(附搭建框架图)

前言 我们这个月上线了apollo1.1.1版本(生产环境),目前一切运行良好,故在此记个笔记。 首先,附上流程图: 简要介绍 一套apollo portal配置管理服务来同时管理pro、dev环境,但pro、dev...

开源小菜鸟2333
16分钟前
3
0
angular6 利用 ngContentOutlet 实现组件位置交换

这篇文章主要介绍了angular6 利用 ngContentOutlet 实现组件位置交换(重排),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ngContentOutlet指令介绍 ngCont...

嫣然丫丫丫
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部