背景:
不知道有没有遇到过这样的情况,出门的时候需要用到一些文件,却突然发现忘了带U盘,或者虽然有一台NAS具有内部网络渗透,但是外网下载的速度只有几百K甚至几十K, 或者你已经部署了一些Docker音视频应用,或者是新颖的阅读服务器,但是你只能在内网访问,出门也不知道怎么用,那么本教程会从全场景帮你选择适合你的内网渗透方案。
什么是内网渗透:
对于我们大部分的家庭宽带用户来说,我们没有IPv4公网,也就是说我们可以接入外网,但是外网却接不到我们,好处自然是比较安全的(真的想被针对,有没有公网都是一样的),但是缺点也很明显,我们不能随时随地在外网上访问我们的内网东西,而内网渗透的目的很简单:通过一系列的操作,让我们像在家一样在外面,随时随地访问我们的内网东西。
几种 Intranet 渗透方案:
1. 如果您有公共 IP 地址,则可以使用动态域名解析
其实严格来说,动态域名解析还不能称为内网渗透,但随着IPv6的普及,基本上人人都能获得公网,所以还是放在首位,更推荐朋友用这种方式接入内网应用。
在某些地区,当你去运营商的客服时,你仍然可以得到IPv4公网,当你无法从运营商那里得到IPv4公网时,我们可以得到IPv6公网地址,也可以实现外网接入内网的需求(缺点是IPv6不能在纯IPv4环境中使用), 而家庭宽带的IP地址是动态地址,所以这里需要使用动态域名解析,将动态IP和固定域名绑定在一起。通过固定域名实现对我国内网的访问,难度★★、安全性★★、成本★★、推荐★★★★、访问速度:★★★★★。
2. 如果没有公网IP地址,请使用FRP内网渗透服务
使用FRP服务,将自己的内网机与另一台可以获取公网的服务器绑定,使用公网机中继访问我们的内网内容,一般来说,这里的公网机使用的是各大云服务商的VPS机,难度★★★、安全性★★、成本★★★★★、访问速度: 受限于VPS机器的带宽,但绝对低于第一档速度。建议:如果★★★有现成的VPS机器,就没有VPS机器★。
3、无公网IP,网络通过第三方内网渗透应用在不同地方进行
通过tailscale、ZeroTier等专业内网渗透软件进行远程组网,实现点对点渗透,难度★★★、安全性★★★★、成本0、速度:★★★(一般来说,它与两点运营商是否相同有更大的关系),推荐:★★★。
4.没有公共IP,花生壳用作远程组网设备
和向日葵软件属于同一家公司,虽然很简单,但是免费版的带宽只有1M,如果想要提升体验,要么花钱买硬件,要么需要一定的钱来增加带宽,和第三种方案类似,这里就不推荐了,如果需要,可以去他们的官方网站了解。
当然,肯定还有很多其他的方案,但第1点、第2点、第3点足以覆盖99%的人的使用场景,所有内网渗透方案的速度取决于家庭宽带的上行带宽。
以下是第1、2、3点操作流程的详细说明,您可以根据自己的情况和喜好选择相应的教程解决方案。
动态域名解析
前期准备1:检查家庭宽带网络情况
首先,要确定我们的家庭宽带是否是公网,可以打开 ipw.cn 网页查看IPv4地址是否与光调制解调器/路由器拨号对应的WANI一致,如果一致,则为IPv4公网,如果不一致,则为大型内网, 此时有两种选择:一种是联系运营商的客服,提出需要IPv4公网,自己在网上搜索;其次,如果拿不到,我们可以退回到使用IPv6公网(现在IPv6公网基本默认开启,如果按照后续步骤拿不到IPv6公网,那就联系运营商客服询问是否开通),因为调制解调器的性能和各种光调制解调器功能都不支持, 建议使用调制解调器桥接和路由拨号进行后续操作。
如何检查调制解调器是否处于桥接模式,首先打开我们调制解调器的管理页面,IP、用户名、密码都可以在机身上找到,以电信为例,点击安装维护入口,输入用户名和密码即可登录。
检查网络状态页面的连接方式是否为桥接
如果没有,点击连接向导看看普通用户是否可以修改,如果和我的页面不一样,就需要用超级账号修改花生壳动态解析软件,建议不懂的白用户直接打电话给运营商客服修改桥接请求,自己修改很容易导致网络不可用。
改为桥接后,我们用路由器拨打号码,如果没有IPv4公网,就需要打开IPv6交换机。
小米IPv6设置:在“通用设置”>“互联网设置”>“IPv6网络设置”中,打开开关,选择本机模式。
华硕 在 IPv6 选项卡中,选择本机并应用设置。
ikuai 在网络设置和 IPv6 设置中增加了外部网络配置和专用网络配置,可以参考下图。
如果路由器已经开启IPv6,没有获得IPv6地址,则需要致电运营商客服开通。
准备二:获取域名
说到动态域名解析,我们自然要先有一个域名,可以找各大云服务商看新用户活动,阿里云可以免费卖淫1年.xyz域名,腾讯云也有1元/年的域名折扣,等活动价格结束, 可以考虑在阿里云续费纯数XYZ或TOP域名,目前价格为68元,10年,可以按需购买。(另外,tplink 会附带一个二级域名,但是我手头没有这个品牌的路由器,所以使用 tplink 的朋友可以在百度查看如何使用它)。
阿里云折扣入口:在首页搜索域名,进入域名区域,点击新人专区跳转到此页面
腾讯云折扣入口:在首页搜索域名,在搜索结果中点击域名注册右侧的HOT字样进入本页
在域名的订单页面,需要提交信息模板,需要提交一些个人身份信息,这个审核等待时间比较长,一般在半个小时以上,建议大家先看这里创建信息模板
准备 3:获取 API 令牌
获取域名后,我们还需要获取阿里云或腾讯云的API Token,以便第三方动态域名解析工具调用对应云服务商的API。
如何从阿里云获取:
点击头像>accesskey管理>创建accesskey创建,注意必须保存你获取的访问密钥,现在新创建的Secret只有在创建时才能看到,以后无法查询。
如何从腾讯云获取:
进入腾讯云控制台,搜索 dnspod 进入 dnspod 控制台,然后点击头像> API 密钥>dnspod token 即可获取。
动态 DNS 配置
动态DNS可以直接在支持的路由器/软路由上配置,也可以使用我们的NAS配置(如果您有软路由,建议您直接在软路由中配置,如果没有软路由,可以在NAS中配置)。
华硕路由器可以使用内置的DDNS(仅限IPv4公网)或官方更新/Merlin固件软件中心的DDNSGO插件(支持IPv4和IPv6)进行动态域名解析。
打开ddns-go,开启程序后,点击访问ddns-go进入配置页面
选择对应的云服务商,填写获取到的API token,根据ipv4或ipv6的使用情况勾选复选框,在域名中填写我们的域名,填写后保存。
例如,如果我需要>从外部网络访问我的 NAS 的 QB,则选择 NASIP 作为本地 IP 地址,内部端口是 QBIT 端口,外部端口是我想访问外部网络上的 QBIT 的端口。
IKUAI 更简单,因为 IKUAI 内置的动态域名解析支持阿里云和 DNSPOD(腾讯云),在高级应用>动态域名,创建动态域名解析任务,选择云服务提供商,dnspod.cn 是腾讯云,aliyun.com 是阿里云,填写域名和 API token,选择记录类型并点击保存。
在端口映射>网络设置中,单击新建,填写我们需要通过外部网络访问的私网IP地址和内部端口号,以及外部端口号,单击保存,最后使用域名:外部端口号访问内网应用。
小米路由器不支持阿里云和腾讯云域名,因此建议小米用户使用NAS进行动态域名解析。
如果路由器不支持云服务商(如小米),想要实现更多功能,可以使用NAS的docker容器来实现动态域名解析。
IPv4可以直接看到后续操作,如果使用IPv6,我们需要先打开NAS的IPv6网络。
在“设备管理”>“网络设置”中打开 IPv6。
在“控制面板”中>“网络”>“网络”界面,选择“LAN”,单击“编辑”,选择“IPv6”选项卡,选择“IPv6 设置”作为“自动”,然后单击“确定”。
搭建好网络后,就可以开始部署幸运容器了,以绿联云为例,打开docker>镜像管理>在镜像仓库中输入gdy666/lucky花生壳动态解析软件,在搜索结果中点击下载,然后直接点击确认
显示“全部完成”后,单击“完成”
返回到
本地镜像>镜像管理,找到刚刚拉取的镜像,单击创建容器
创建容器后启动容器
当您选择退出时,重新启动策略始终会重新启动容器
选择网络主机
首先在本地docker目录下创建一个goodluck目录,在存储空间中点击创建选择这个目录,填写加载路径/goodluck,注意类型是否读写,不需要移动其他的,直接点击下一步,再点击完成
打开浏览器,使用NASIP:16601进入幸运前端,默认用户名和密码为666/666,回车点击登录
先点击设置页面,修改默认用户名和密码,如果需要使用lucky进行外网访问,打开上面红框中的两个开关
如果更改默认用户名,会弹出密码,使用新的用户名和密码重新登录,选择左侧的动态域名,点击添加DDNS任务。
以阿里云为例,我们选择Alidns,然后填写我们之前获取的api token,如果在上面的初步准备中没有拿到,也可以点击这里创建一个AccessKey来创建一个新的,根据公网类型选择ipv4或ipv6,如果选择ipv4, 一定要选择通过接口获取如果选择IPv6,可以通过接口获取,也可以通过网卡获取,建议通过接口获取,这样比较准确。域名列表填写两行,第一行填写我们的一级域名如 koryking.xyz,第二行填写通配符域名地址,即*.koryking.xyz,其余内容可以默认保留。
一段时间后,如果选择了 IPv6,则公共 IP 栏中会出现以 240x:xxxx 开头的 IP 地址,表示任务已成功运行。IPv4 类似于下图中的阿里云 IPv4 任务,如果 IP 地址不是以 10,100 开头,则表示该任务运行正常。
另外,请注意,如果您的域名刚刚创建,DNS服务可能尚未生效,需要等待一段时间或前往云服务提供商进行检测。
域名解析完成后,如果只使用HTTP访问,那么我们可以直接转发内网口,IPv4,需要去拨号路由器进行端口转发操作,操作过程与上述过程相同。
在 IPv6 的情况下,可以直接在 Lucky 中执行端口转发。选择左侧的“端口转发”,单击顶部的“添加转发规则”,输入名称,根据DDNS是IPv6还是IPv4,或者两者兼而有之,选择TCP4或TCP6。监听端口是允许从外部网络访问的端口号,目标地址和目标端口是内网应用的内网IP地址和端口号。
例如,这里的目标端口是qbit的内部网络地址,域名地址 koryking.xyz:8081 用于访问外部网络。
Lucky还可以实现逆生成操作,以https的方式使用域名,更安全,更方便记忆。
第一个选择是进入左侧的安全管理菜单,点击顶部添加证书,输入备注,选择ACME作为添加方式,选择DNS服务商,填写对应的api token信息,以及域名信息,其余保持默认,直接点击下方的添加, 第一次需要等待一段时间才能申请证书,证书有效期为3个月,Lucky会在到期前自动重新申请。
另外,如果您选择的DNS服务商是腾讯云,下面需要填写的API令牌与您之前申请的DNSPOD令牌不同。
证书生成完成后,单击左侧的“Web 服务”,然后单击顶部的“添加 Web 服务规则”。在弹框中填写名称,还是根据自己的情况选择监听类型,或者全选,这里应备注监听端口,如果想直接使用这种没有端口号的接入形式,监听端口需要设置为443,但运营商一般不会将443、80端口让给个人, 所以可以试试,如果没有,就需要设置到其他端口,然后访问会类似 https://xxx.koryking.xyz: 听地址就像端口号一样,不过是不是亲自使用也没关系,当然也有办法去掉这个端口号,不过这里就不扩展了。如果需要,百度自己),另外打开TLS开关,其他的都可以默认保留。
然后点击弹框中的添加 Web 服务子规则,填写名称,前端域名/地址我们在域名的基础上添加一个更容易记住的前缀,后端地址是我们内网应用对应的 IP:端口号,其他保持默认, 如果有多个应用,可以继续点击下方的“添加 Web 服务”子规则进行添加,配置完所有应用后,点击底部的“添加保存”。