前言:

先举例说明内网是怎么与外网(百度进行数据交互的):

内网192.168.111.78主机请求访问百度,发送数据包,目的ip(202.108.22.5:80)。源ip(192.168.111.78:80)
当数据包经过NAT网关时,NAT网关会将源IP地址改为公网地址进行访问,相当于路由器代替我们访问了百度。就收百度返回的数据包时,那么要是不同的内网地址在同一个NAT/路由器下,应该怎么区分这个数据包是发给谁的,在NAT/路由器下有一个NAT表,不同的内网对应相同的NAT的不同端口,从而实现区分。

内网发布服务使之可以在公网访问原理:

在内外网交互的过程中,NAT进行了2次IP地址转换,第一次转换请求包的源IP称为SNAT,第二次转换应答包的目的地址称为DNTA。DNTA转换可以使互联网访问到内网的主机,我们单独配置DNAT就可以实现外部网络访问内网主机。

通过端口映射发布服务的方式:
端口映射是比较灵活的映射内网各个不同主机的方式,需要对外发布的服务端口,端口映射的配置方式也比较简单,一般情况可通过路由器配置,但是通过路由器配置端口映射需要有一个前提条件,就是你路由器能够拥有一个公网IP,按正常逻辑来说我们路由器拨号成功后运营商会分配一个公网IP给路由器,但是对于运营商来说这样对IPv4的资源也是种负担,如果每个人都有一个公网IP,那么国内的IPv4资源将会非常紧张,我国总计约有3亿个IPv4地址,而我国网民何止3亿。所以运营商会在路由器拨号中再嵌套一层内网,也就是说我们路由器拨号得到的IP地址也是一个内网地址,然后由运营商的路由网关再做NAT地址转换进行上网(套娃)。
通过路由器进行端口映射:
在cmd窗口命令:ipconfig /all查看一下默认网关,用机顶盒上边的用户名密码去对应的ip地址登录,查看自己的WAN IP地址。再通过IP查询去查询得到的IP。要是查询之后和WAN IP是一样的说明拥有公网IP。
在路由器中在NAT服务中设置。设备尾号是对应的mac后4位,协议类型一般是TCOP
没有公网ip做端口映射
用第三方服务(花生壳)这玩意要花钱,还要实名认证,我就不演示了。
使用frp搭建内网穿透服务器
服务端
首先我们可以去阿里云白嫖一个云服务器,并且配置服务器,开放所有端口可对外提供服务。
在这里插入图片描述点击配置规则,进行如下配置。
在这里插入图片描述把frp上传解压一下,不用改啥,查看一下他的监听端口(这里是7000端口),打开frp服务器: ./frps -c ./frps.ini。frps.ini文件时服务器配置文件。
在这里插入图片描述
在这里插入图片描述
开始配置客户端(kali)
安装配置frp服务器映射内网SSH服务 (下载解压步骤就省略了)
修改客户端配置文件:frpc.ini。
这里的配置是:将本地的22端口映射到服务器端口:6000,成功之后云主机ip的6000端口就是我们内网主机的22端口。
在这里插入图片描述配置完了之后:./frpc -c ./frpc.ini运行。
在这里插入图片描述sever端日志
在这里插入图片描述
查看是否监听
在这里插入图片描述
最后用ssh连接公网ip6000端口,会要密码,就是你kali的密码。
在这里插入图片描述这里要注意如果你要换需要映射的ip,需要先删除之前存在的缓存,不然ssh服务会以为我们连接的是同一台机器,所以使用上次认证的密钥进行认证,但是后端主机已经变成了centos,由此导致认证失败,我们删除ssh服务的known_hosts记录即可。命令:ssh-keygen -f “/root/.ssh/known_hosts” -R “[服务器ip]:6000”
在这里插入图片描述
删完就空了。
其他参数:
服务端:
bind_port = 7000
vhost_http_port = 80 #虚拟主机端口,如果要发布web服务则需配置该项。
dashboard_port = 7500 #仪表盘端口
dashboard_user = admin #仪表盘用户名
dashboard_pwd = admin #仪表盘密码
authentication_method = token #认证使用
token token = 123456 #token
客户端:
[web] #新增web配置
type = http #协议http
local_port = 80 #本地端口
custom_domains = #指定域名,web服务需要域名访问才可以。

修改完了之后正常运行就好了,配置一下DNS解析,windows在C:\Windows\System32\drivers\etc\hosts 添加行 ip 域名,linux中/etc/hosts,修改完直接打开界面就行了。
在这里插入图片描述

GitHub 加速计划 / fr / frp
83.04 K
13 K
下载
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
最近提交(Master分支:3 个月前 )
4383756f 8 天前
6ba849fc 17 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐