新的篇章,如何玩公网,怎么远程访问(一)
1 序言
1.1 远程访问的原因
众所周知,人的想法是会进步的,不会安于现状的。当我们在局域网搭建了很多很多服务,我们就想着去外面的时候也能访问,也能享受功能。所以就有了今天这个新的篇章,如何玩公网?怎么远程访问?
1.2 公网 IP
众所周知,远程访问首要条件就是有公网 IP,特别是现在公网 IP 越来越紧张,很多人的公网 IP 都被回收了。幸运的是,现在普及了 IPv6,毕竟 IPv6 也算公网。所以,这样就给了很多人,特别是没有公网 IPv4 的人的玩法。
1.3 怎么判断是否是公网 IP
如何判断自己是否具有公网呢?IPv6 非常好判断,只要你能访问下以下网站,并且得出如图所示判断就证明你有公网 IPv6。
#查询公网IP网站
ipw.cn
IPv4 公网怎么判断呢?如果你是光猫拨号,那就是邪教异教徒,我分辨不出来,自己研究。如果你是路由器拨号,那么通常看你主路由拨号获得的 IP,如果 IP 开头第一段不是 10、100、127、172和192,那么你路由器拨号拿到的 IP 是公网 IP,反之你就是大内网。或者你拨号的 IP 能和你 ping 到测试的 IP 一致,那么你就是公网 IP。
1.4 光猫桥接
为什么都在说要光猫桥接,难道光猫拨号,就不能远程访问吗?答案是,光猫拨号也可以远程访问的,但是要需要转发端口,增加 NAT,多层 NAT 就需要多次端口转发。就比如圣诞节包苹果,一层一层的纸,每相邻两层之间就需要端口转发,不然就访问不了。所以我推荐光猫桥接,桥接就减少了一层 NAT。
1.5 为什么我要把这个远程访问分类在软路由
为什么我会把远程访问分类在软路由,如果你是 docker 安装 lucky 和 nginx,ddns,其实什么设备都可以。但是很多人喜欢用光猫桥接,openwrt 拨号,所以部署在 openwrt 能以最快最方便的方式解析。不用设置端口转发,真的无脑适合小白。
2 内网穿透和域名解析
2.1 什么是内网穿透?
内网穿透,原理我就不过多解释,感兴趣的直接百度。最重要的是,没有公网的兄弟,又想外网远程访问家里的设备,只能内网穿透。内网穿透软件很多,比如花生壳,但是是付费的。还有一种是通过 ZeroTier,Tailscale,WireGuard 等等。
2.2 什么是域名解析?
域名解析,原理我也不说了,域名解析最重要一点就是你得有公网 IP,很多人经常把内网穿透和域名解析混在一起。
那么什么是域名解析呢?众所周知,我们如果有公网 IP,是可以通过这个 IP 能够直接访问的。当然很多时候,我们家庭宽带所获取的公网 IP 都是动态公网 IP,48 小时,或者 72 小时重新拨号一次,变更一次 IP。那么变更 IP 我们就没办法访问了,因为变成什么样,根本不知道。如果我们有一个域名一直在解析这个设备,就算我们 IP 怎么变,那么我们都可以通过固定的域名访问这个 IP,这就是域名解析最关键的一点。
2.3 什么是端口转发?
端口转发,详细原理我也不说了,但是端口转发只是为了将不同 NAT 之间转发端口到另外一个 NAT。比如我们现在需要外网访问家里的一个内网服务,这个内网服务是 5000 端口,那么我们只要将主路由器开放一个 5000 或者 50001 端口,转发到内网服务的 5000 端口。这么就可以外网实现域名+端口访问我们的内网服务了。
2.4 小结
没有公网 IP,那么只能内网穿透要么打洞,要么购买别人的穿透服务。如果有公网 IP,那么可以域名解析+端口转发,实现外网访问。
3 域名
3.1 付费域名
域名基本都是付费的,当然也有免费的,但是免费的大多数不好用,也会担心被人回收。付费的域名,解析速率很快,也不用担心被人回收。像国内域名都很便宜,第一年都是 10元 左右一年,比如阿里云域名或者腾讯云域名,解析方案也很多,不用担心没有平台解析。
阿里云域名注册地址:https://wanwang.aliyun.com
腾讯云域名注册地址:https://dnspod.cloud.tencent.com

3.2 免费域名
免费域名,好用能用的,我只推荐两个,一个是 us.kg 的顶级域名一个是,dynv6 的二级域名。
~~us.kg 域名官网地址:https://nic.us.kg ,目前这个 us.kg 关闭了。~~
dynv6 域名官网地址:https://dynv6.com
像 dynv6 域名注册特别简单,只要一个邮箱就可以注册,不需要实名,us.kg域名就注册麻烦点,网络上有很多教程,也能把域名托管到 Cloudflare 更好的使用。
3.3 获取域名的 token
假如你购买的是阿里云的域名,那么阿里云获取token密钥的方法在官网文档有,文档地址如下,当然腾讯云的域名也是一样的。
阿里云获取 AccessKey 文档:https://help.aliyun.com/document_detail/268244.html
腾讯云获取 AccessKey 文档:https://console.cloud.tencent.com/cam/capi

获取了如图所示的 AccessKey ID 和 AccessKey Secret,保存备用。
Cloudflare 托管的 us.kg 获取 token 方法就不介绍了,dynv6 获取 token 也很简单。

