国外家居设计网站,qq号码免费申请注册,省示范院校建设网站,高邮企业网站建设1、介绍
当我们想把内网的一些资源暴露在公网上时#xff0c;可以使用内网穿透功能。比如公司的内网服务器#xff0c;部署了平时需要开发的项目#xff0c;但是回到家中无法访问#xff0c;就可以使用内网穿透#xff0c;将公司内网的接口映射到一台公网的服务器上可以使用内网穿透功能。比如公司的内网服务器部署了平时需要开发的项目但是回到家中无法访问就可以使用内网穿透将公司内网的接口映射到一台公网的服务器上用这台公网服务器做转发即可实现在家中也能外网访问。这样的就不需要我们在公网上部署一套一模一样的服务了费时费力而且还要同步数据。
2、准备工作
想要实现内网穿透功能首先我们需要准备
一台公网服务器用作frp的服务端一台需要做转发的内网服务器用作frp的客户端
3、frp服务端安装及配置
3.1 下载frp服务端
注意frp服务端是安装在公网服务器上的
服务端下载地址https://github.com/fatedier/frp/releases 可以看到有很多版本我的外网服务器是Linux的可以输入命令查看服务器架构版本
arch x86_64 直接下载 frp_0.51.2_linux_amd64.tar.gz 后缀为 amd64 这个版本即可。可以手动下载到本地然后通过scp命令传到服务器也可以直接在外网服务器上下载。
通过scp传送到外网服务器命令如果开放了账号密码登录
scp -P ssh开放的端口(如果为22可以不用带此参数) 下载的frp_0.51.2_linux_amd64.tar.gz的位置 登录的账号外网服务器ip:你要拷贝到的外网服务器的位置 如
scp -P 22 C:\Users\dxc\Downloads\frp_0.51.2_linux_amd64.tar.gz rootxxx.xxx.xxx.xxx:/home/frp 按下回车再输入密码即可注意大小写。
通过scp传送到外网服务器命令只开放了通过证书登录的方式
scp -i 你证书的位置 -P ssh开放的端口(如果为22可以不用带此参数) -r 下载的frp_0.51.2_linux_amd64.tar.gz的位置 登录的账号外网服务器ip:你要拷贝到的外网服务器的位置 如
scp -i C:\Documents\server-pro\ecmarkets-universal.pem -P 22 C:\Users\dxc\Downloads\frp_0.51.2_linux_amd64.tar.gz root81.xxx.xxx.xxx:/home/frp 直接在外网服务器上下载命令
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz 下载完成后解压输入命令
tar -zxvf frp_0.42.0_linux_amd64.tar.gz 解压完成后cd进入目录
cd frp_0.42.0_linux_amd64 查看当前目录下的文件
ll 我们能看到有如下这些文件 其中作为服务端我们只需要关注 frps 和 frps.ini 文件。
3.2 frps配置
其中 frps.ini 文件就是我们服务端的配置文件我们需要根据自己情况稍作修改。输入命令
vim frps.ini 默认配置如图 我们可以根据自己的场景稍作修改
[common]
bind_port 7001
dashboard_port 7501
dashboard_user root
dashboard_pwd 123456
token qwer1234 其中
bind_port客户端和服务端连接的端口在配置客户端的时候要用到。dashboard_port服务端可视化界面的端口若使用7501端口在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7501。dashboard_user打开服务端可视化界面的用户名可自行设置。dashboard_pwd打开服务端可视化界面的密码可自行设置。token用于客户端和服务端连接的口令可以自行设置不用和我保持一样但需要记住配置客户端的时候会用到。
注意配置项并未介绍完详情请参见官方文档。 3.3 frps启动
输入启动命令启动frp服务端
./frps -c frps.ini 如果看到控制台输出如图代表启动成功 此时我们打开浏览器输入
xxx.xxx.xxx你的外网服务器ip:你配置的dashboard_port端口 即可看到如下弹框如果你的打不开请确认防火墙关闭或者在你的云服务器上开放端口号
查看防火墙状态
systemctl status firewalld 关闭防火墙
systemctl stop firewalld 输入配置的账号密码点击登录进入仪表盘 此时frp的服务端我们就配置完毕了接下来开始配置客户端。
4、frp客户端配置及启动
4.1 下载frp客户端及配置
此处我用的是本地电脑作为客户端本地电脑为win1064位操作系统其他操作系统流程几乎一致。客户端下载地址和服务端一样均为https://github.com/fatedier/frp/releases
此处我下载 frp_0.51.2_windows_amd64.zip 这个版本。 解压文件进入frp_0.51.2_windows_amd64目录我们需要关心的文件为 frpc.exe 和 frpc.ini用编辑器打开 frpc.ini 文件 这是默认的客户端的配置接下来我们需要修改一下
[common]
server_addr xxx.xxx.xxx
server_port 7001
token qwer1234[rbac_study]
type tcp
local_ip127.0.0.1
local_port 3781
remote_port6001 其中
server_addr你外网服务器的ip。server_port外网服务器配置的bind_port。token外网服务器配置的token。[xxx]表示一个规则的名称可以自己定义此处我定义为我项目的名称。type表示转发的协议类型有tcp、udp等选项可以选择。此处我选择tcp。local_ip本地的ip。local_port本地服务的端口号。remote_port服务端开放的端口号可以自己配置。到时候我们通过访问外网服务器frps的ip 该端口号就能转发到本地服务器frpc的服务 local_ip local_port 配置的端口上。 配置好后点击保存。
4.2 frpc启动
打开win10的 Windows PowerShell 工具win10自带不用下载在左下角的搜索框中搜索打开即可。切到我们frp客户端的配置文件 frpc.ini 所在目录
cd E:\CommonSoftware\frp_0.51.2_windows_amd64 输入启动命令启动frp客户端请不要直接双击frpc.exe文件打开
./frpc -c frpc.ini 看到控制台输出如图代表启动成功 5、测试
到此处frps和frpc的所有配置和启动事项都完成了接下来我们可以通过访问我们的外网服务器frpsip 我们在本地服务器frpc中配置的 remote_port 端口就能直接转发到我们的本地服务上了。
我用本地的Java项目测试 我本地启动了一个端口为 3781 的 rbac_study 服务接下来我访问外网服务器的ip 本地服务器frpc中配置的 remote_port 端口能看到穿透成功。如图