今天给大家讲解一下什么是 DDNS 和内网穿透,它们的基本原理是什么?你为什么需要它?以及它怎么才能实现你想要的目的。
我们首先想一想,我们为什么需要这两种东西,是什么样的人才会需要这两种东西?就是我们这些家庭宽带上网,但是又想把家里的设备投射到外网,能够通过外网来访问家里面的设备,这种时候我们才会需要用到 DDNS 或者用到内网穿透。
当设备的IP地址发生变化时,动态DNS客户端会自动将这个新的IP地址更新到服务提供商上,服务提供商则更新DNS记录,以确保域名始终指向当前的正确IP地址,保证了连续的网络服务可用性。这对于需要通过域名远程访问家里或办公室里的网络服务(如文件服务器、摄像头等)的用户特别有用。
那么什么时候用 DDNS,什么时候用内网穿透?这就涉及到一个条件的问题,直观地说DDNS 针对的是拥有公网 IP 的客户,就像我们有公网 IP 的话,我们就需要用 DDNS,那么内网穿透就需要用到没有公网 IP,也就是所谓的大局域网 IP,也就是内网 IP。公网 IP 很好理解,你 PPPOE 拨号或者你本身就直接运营商那边的直接分配动态 IP或者你已经有了固定 IP,这二种情况你得到的 IP 都是公网,那么你可能会需要 DDNS。固定 IP 就特别一点,因为你的 IP 是固定的,你就不需要用到它。那么这大局域网 IP 就更加特别一点,为什么叫做大局域网?首先我们PPPOE 拨号是从运营商那边抓取一个合法地址的这么一个协议,得到地址你才能上网,怎么判断你的地址是公网 IP 还是大内网 IP?我们只需要百度搜索一下就可以了,直接百度搜索 IP,你就会发现在第一栏那里看到的就是你的公网 IP,任何一台连到国际互联网的地址,都会拥有一个公网 IP,这个公网 IP 也许是直接在你手里,直接在你手里你就是得到了一个公网 IP,如果你发现你运营商 PPPOE 得到的这个 IP 地址和这个百度搜索的不相同,那么你得到的就是大内网的 IP。
为什么会出现这样情况?是因为运营商他的 IPV4 资源不够了他就会想着这样方法来节约资源,这个网络结构相当于你本身家庭里面有一个已经存在一个局域网,这是你的局域网,你的局域网下面可能有好几台PC 机,假如有十台PC机,这10 台机得到的地址都是内网地址,都是你自己的局域网地址。但是你从运营商那儿拨号得到了一个地址,这个地址不一定是公网,它是也同样是局域网。为什么呢?因为你只是从这边连入了运营商那个网络之后,它上面还有更大的网络、更大一个连到一个总服务器,这个服务器才是公网 IP。而其他下面所有的可能几千几百台,我假设你们小区有 1 万个用户,那么这 1 万个用户得到的都是它上面这个服务器分配出来的内网 IP。比如它的服务器的段可能是 10 点几或者 100 点几。它这个会分配出来,就是它上面也有 DHCP 服务器或者 PPPOE 服务器,这个服务器会自动给你的下面所有接入的设备把它分配一个 IP 地址。所以它分配出来的不是公网 IP,但是你还是需要通过它的服务器再进行一次内网转发,然后你才能连入公网,这就是大内网 IP 的原因。
这也是为什么有些人在做端口映射失败的原因之一,失败的最重要原因你端口映射,你要想外面的主机直接访问你家里的服务器,你首先必须的条件就是你要得到一个公网 IP 地址,而不是一个大内网 IP。为什么?你在你的主路由器上做了端口映射,但是运营商更上一层服务器它的公网 IP 这边没有做映射,没有做你相应的映射,所以你永远得不到一个正确的端口映射。你在这边做了没有用,因为你的是内网 IP,你的上程服务器上面已经完全控制了,你没办法在你的主路由做端口映射,所以你有大内网 IP 的情况下用正常的端口映射是绝对不会通的。那么怎么才能让大内网的 IP 能够成功的做端口映射?我们需要一个穿透的东西,这就是内网穿透。大家理解为什么需要内网穿透了吗?把这个阻碍我们的内网给穿透掉,这叫内网穿透,怎么穿透很简单,这个必须涉及到一个东西那就是域名,DDNS 和内网穿透两样东西都要涉及到域名。
假如我有一个域名是toutiao.com,然而英文这串域名我申请或购买过来的,这个域名是一串英文字符,英文字符我们都需要通过 DDNS 去解析它才能够使用对吧?但是你买下了这个域名之后,你是能够进这个域名绑定的,需要绑定一个 IP,但是因为你没有公网 IP,所以你就必须在你的电脑上你需要映射的电脑,或者你的主路由器里面存在一个内网穿透的服务软件,你就能够把运营商域名服务器和你内网中服务的软件给联系起来。联系起来之后它会把这边这台主机的端口,直接映射到你这个域名上,你购买的这个域名是域名服务商那里的,域名服务商他自己本身有服务器它也有公网 IP,他就把你这个域名投射出去,投射到外网。那么你可以通过这个域名也就相当于你的公网 IP和本地的软件联系起来,直接访问到你被层层阻隔的大内网内部的这台服务器。这就是内网穿透的原理。内网穿透相对来说会比较复杂一点,它涉及到域名,你需要去购买这个域名和你需要在你的客户端或者你的主路由器中,安装相映的内网穿透的软件才能够达到这个内网穿透的目的。
那么动态 DDNS 又是什么呢?首先 DDNS 针对的不是内网的用户,而是一个公网 IP,也就是你本身你手里直接 PPP 拨号你家里面就有公网 IP,那么有了这个公网 IP 之后,你不需要去考虑内网穿透,因为我不是在内网,我是直接连接入国际互联网的一个公网 IP。我们有了公网 IP我为什么还要用 DDNS?是因为我的公网 IP 是会变的,运营商给你的不是一个稳定的 IP 地址,它是会变动的,比如我今天 PPPOE 拨号得到的是这个地址,那么可能过两天它重置了一下,它把你 PPPOE 拨号重新拨了一下,那么你得到的是另一个 IP 地址,这个时候你正常的端口映射就会变动。我们拥有公网 IP 的情况下,在主路由器那边的防火墙直接做端口映射是有效的,但是它有效之后因为运营变动的关系可能隔两天你的 IP 地址变动了,一旦你端口映射是直接用 IP 地址做的,那么你这边映射就会失效。这就会产生一个问题?我如何才能在 IP 地址变动的情况下它依然有效?这个就是 DNS。也同样它也需要一个域名或者服务,当你的 IP 地址产生了变化的时候,比如我今天的 IP 地址,最后一个数是 1,那么我到了明天,我的最后一个数变成了 2,那么这个在我们做了具体 DNS 设置之后这条信息一旦变动,它会在一个固定的时间内进行不停的扫描。比如我 5 分钟扫描一次,我路由器里面设置了 DNS,那么 5 分钟扫描一次之后它就会把这个 IP 地址的变化传达到上一层你购买的服务器之中,这个服务器就得到了你的新 IP 地址,然后对你的域名进行了相应的更改。那么你个域名同样是得到了一个正确的公网 IP 地址,你的端口映射也会产生相应的变化,产生变化之后你也就达到了一个恒定地址,稳定的连接这么一个目的,你的端口映射就会长期有效。这样子一来无论你得到的是公网 IP,然后使用了 DDNS 这个动态域名解析得到的稳定的连接,以及你在大内网没有公网 IP 的情况下得到的是个内网 IP,那么你使用内网穿透的技术同样能够连到一个稳定的域名和达到稳定的连接状态,它们其实异曲同工之妙的,至于它们针对的对象就是不同的对象,当然最好你就是有个固定 IP对吧?你的 IP 一直是固定的,这就好说了,你的 IP 不会变,那么你可以直接通过你的 IP在主路由器上直接做端口映射它就是长期有效的,因为你的 IP 是固定的,它不会变化。你就不需要用 DDNS 或者内网穿透来达到你的目的,你甚至要是有域名的話也可以直接绑定你的固定 IP,也可以通过域名直接访问你内部的服务器。
这个就是 DDNS 和内网穿透的区別,基本原理现在我们已经知道了,内网穿透要在这边装一个软件,还有运营商那边要做一些域名上的设置和端口的具体设置,有一些端口是不能用的,如果碰上了不能用的端口,要注意做一下端口的转发你们就一定能够连通好了。DDNS 道理也是一样的。
好,我相信大家理解了动态域名解析和内网穿透之后,你们把自己本地中的一台主机映射给外网提供你的服务,让你能够远在千里之外也能访问家裡面的设备的话,相信一定是没有问题的。好的,今天就讲解到这里。