一片伟大的净土

灵魂的归处,肉体的坟墓。

路由器实现内网穿透

思路全部照抄闻俊,zzc在初中研究过,但是没成功过,现在应该可以 :)

基于路由器实现内网穿透,还要理解几个名词。

前置知识点:

  1. 域名(Domain Name,DN):全球共用域名数据库,如果你有zzczzczzc.top,那么这个域名就归你了,用法和C++指针一样。
    如果你让zzczzczzc.top指向baidu.com,那么别人访问zzczzczzc.top就会重定向到baidu.com上,具体由域名解析实现。
  2. 域名解析(Domain Name Server,DNS):域名服务器里面存放了一堆域名和指向的地方,功能就如上述所示。
  3. 动态域名解析(Dynamic Domain Name Server,DDNS):和DNS的区别就是,DDNS可以指向的是一个范围,DNS指向的是具体的一个。
  4. MAC地址(Media Access Control Address,MAC):每台电脑的网卡都有其唯一的标识码,称其为MAC地址。

Step1. 处理域名(可省略)
一般来说买路由器都会送一个域名,首先我们对这个域名进行处理。

  1. 登录路由器后台,一般来说是192.168.0.1 或者 192.168.1.1
  2. 找到路由器域名,自定义一个,注册实名。

因为家用路由器都是封闭80端口(HTTP)和443端口(HTTPS)的,若域名不用于建站则不需要备案。
所以用路由器实现穿透的时候都没有备案这一步骤。

如果没有送的域名,那么首先要购买一个域名。
最好选择外国域名提供商,而不是国内的,比如阿里云,腾讯云,这些国内的都不要用。
国内的域名买了必须要备案,不管是干啥,都需要备案才能使用,不然不给你解析。
但是备案又需要你有备案服务号,即你这个网站或者游戏啥的都是长期存在的一个服务器,才能去申请服务号。
对于我这种基于虚拟机实现的博客,有时开有时不开的,有时公网IP还要变的,就没法备案。

一些外国域名商:name,namesilo,Godaddy…等等。
因为全球域名都是共用一个数据库的,所以在哪买都一样。

购买域名会需要填写具体内容,直接网上随便找一个美国人就行了,或者找一个不需要提供个人信息的域名商(应该不存在这种域名商)

Step2. 绑定MAC
每次电脑连上网的时候内网IP都是会变的,再加上路由器获得的公网IP也是随时在变的,两个都在变,那就要D-DDNS服务了,但是目前没有这种。
所以需要把MAC地址和内网IP地址绑定,让你每次连上路由器的时候内网IP都是固定的。

Step3. DDNS
域名处理完毕之后,我们要使用DDNS功能把域名解析到你路由器上,这一步直接在路由器里面找到DDNS或者类似功能的应用处进行修改即可。

Step4. 端口转发
在路由器上申请的域名是和动态公网IP绑定的,访问域名就能访问到你的路由器,但是路由器不知道访问要到达哪里,设置一下端口转发,比如 公网IP:25565 -> 内网IP:25565,这样被访问就会一路进来了。

如果是购买的域名,处理方式也一样。

注意! 如果路由器没有公网IP
可以发现上面这四步都是基于路由器拥有动态公网IP这个基础去实现的内网穿透。
如果路由器也是被锁在内网里面的,那就一点办法都没有了。
只能转用frp方式。