1. frp介绍:
FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站,帮你实现 公网 ←→ FRP(服务器) ←→ 家庭内网 的连接,让内网里的设备也可以被公网访问到。
1.所需环境:
(1)一台具有公网ip的服务器(以腾讯云为例)
(2)一台局域网主机
2.实现功能
(1)通过外网登录vmware中的虚拟机(Ubuntu),实现远程操作
(2)通过网络调试助手实现在两个不同局域网的主机之间的tcp通信测试
1.腾讯云服务器购买
我这里使用是腾讯云服务器作为frp的服务器端,这里要 说明的一点是,如果大家家里面有一台具有公网ip的主机的话,完全不用购买,因为后续步骤操作基本一样,没有差别。
2.云服务器提前准备工作
(1)登录腾讯云,点击云产品就那个,找到实例这一栏,如下图
然后点击登录,就会弹出登录界面,这里我使用ssh进行登录,登录成功就成功进入到知己的云服务器里了,如下图所示:
3.frp下载与解压
从github下载对应版本,frp下载界面如下:
这里我们需要在服务器端下载1,因为我服务器的系统版本为centos,在这里,我们右键复制链接,然后在终端输入:
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
等待下载完成,进行解压,输入tar -zxvf frp_0.35.1_linux_amd64.tar.gz
解压完成后,进行文件夹重命名,输入mv frp_0.35.1_linux_amd64 frp
,进入该目录:使用vim打开配置文件,如下
在配置文件中加入一句token = 密码,注意这是明文密码,不要输入自己常用的密码,自己记住就行了,如下
然后保存退出,服务器这边基本上配置就完成了,是不是很简单,哈哈!
然后进行端口放行,这里返回云产品,点击安全组,点击修改规则:
点击添加规则:添加一条数据如下面所示:到这里我们服务器端配置可以说基本配置完了。
运行服务器程序 输入: ./frps -c frps.ini
至此,服务器端启动完成,下面进行客户端配置:
1.这里我的局域网就是我的电脑,win10版本,对此,我们下载win版本,下载好之后进行解压,并放入d盘中
双击进入,可以看到有如下目录:
使用notebook打开frpc.ini文件并修改你如下:
至此,客户端就已经部署好了,然后来运行客户端,使其连接到服务器:打开cmd,切换到该目录:输入frpc.exe -c frpc.ini
,如下:
可以看到客户端启动成功,而此时服务器端也会显示连接成功:如下
如果看到有客户端口登录信息,那就可以庆祝一下了,我们整个搭建过程已经成功了,接下来就进行内网穿透演示:
1.tcp服务器端
在 网络调试助手中打开一个服tcp服务器端口,进行监听:按下图悬着选择好后点击打开:
在创建一个客户端,配置完成进行打开,如下:
在客户端发送helloword,此时在客户端收到了hello word
到此,tcp内网就已经演示成功,我们也成功的使用内网访问到了外网服务器,并成功将该信息转发给本网络。
1.局域网设置
查看Ubuntu ip:
因为这里我采用的联网方式是nat,因此,在连接时还要进行一步将Ubuntu ip和端口映射到上一级中(也就是本机win10中),点击虚拟机中导航栏中编辑,虚拟网络编辑器:
然后点击更改设置:选中nat,nat设置,如下
然后依次填入虚拟机的相关的ssh信息:,然后保存,应用,退出
现在局域网中测试一下是否能访问,然后在去配置外网,因为如果内网都不能访问,那么外网肯定是不能访问的,如下:
可以看到,我们内网ssh登录成功了。
2.外网设置
打开frpc.ini配置文件
将ssh这一栏中的local_port改为刚刚在虚拟机映射到win10中的端口号,注意,这里必须要一致,否者无法连接。修改好了保存,重新运行frpc客户端:
测试是否能通过外网连接到Ubuntu
打开cmd输入:
注意这里-p 后面的端口号frpc.ini中配置文件中ssh这一栏的remote_port端口号,用户名填你要连接的用户名,主机地址,这里填服务器的公网ip,可以看到,此时,我们已经连接成功了。
1.首先设置一个frps的服务,在终端输入:vim /lib/systemd/system/frps.service
注意:这里如果没有system这一个目录,自己创建一个即可:
然后输入如下模板:
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini
[Install]
WantedBy=multi-user.target
这里我们只需要修改这一栏即可:ExecStart=/root/frp/frps -c /root/frp/frps.ini
将后面的路径修改为frps我们之前的路径名即可,其他都是模板,不用修改:
然后保存,退出:
然后我们启动该服务:输入:systemctl start frps
设置自启动,输入:systemctl enable frps
到这里我们整个设置就完成了,我们测试一下,输入reboot进行重启:
查看正在运行的服务:输入:ps auxw
我们可以看到,我们的frps服务器已经在运行了:
至此,frp的使用就讲解到这里了
这里我们可以写一个简单的bat脚本,将其放在frpc的目录中,然后创建一个快捷方式发到桌面,后面我们要进行穿透的换=话,直接双节该图标即可:
在解压目录新建一个bat文件,名字可以任意。
然后用记事本打开在里面输入:
D:\frp_0.35.1_windows_amd64\frpc.exe -c D:\frp_0.35.1_windows_amd64\frpc.ini
exit