FRP内网穿透搭建

FRP内网穿透
前言
对于一个经常互联网工作者来说,很多公司都会有自己的内网服务器,但是这也会有一个问题,公司的服务器没有公网ip(公网IP是指以公网连接Internet上的非保留地址。公网、内网是两种Internet的接入方式,公网的计算机和Internet上的其他计算机可随意互相访问。),就是在家里面该怎么访问公司的服务器呢,要是在休假的时候公司项目有问题需要立马解决这个就很不好处理了,之前也听朋友们说过一些工具,当自己来使用的时候还是会有一些问题,这个时候就需要一个东西叫“内网穿透”,说道内网穿透市面上也有好多款相关的工具了,例如(Ngrok、Natapp、小米球、花生壳、Sunny-Ngrok、echosite、Ssh、autossh、Lanproxy、Spike、frp、fcn)当然有些工具也是收费的,作为一个贫穷的码农来说,能用免费的就不去考虑收费的了,当然收费的东西用起来更简单,像我这个贫穷的码农就得通过稍微麻烦一点的方式来达到我的目的了,这里我就选了上面的一中相对于比较简单的frp来搭建了。
FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
FRP项目地址:https://github.com/fatedier/frp/tags
FRP安装:
FRP 采用 Go 语言开发,支持 Windows、Linux、MacOS、ARM等多平台部署。FRP 安装非常容易,只需下载对应系统平台的软件包,并解压就可用。
这里以linux为例(如果是在windows上下载的linux安装包要注意选择安装包的版本是32位还是64位的哟),我下面以linux_64为的系统为例
(FRP服务端)
进入系统选择下载文件存放的目录

wegt https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
wegt https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz 
wegt https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
tar -zxvf frp_0.31.1_linux_amd64.tar.gz
tar -zxvf frp_0.31.1_linux_amd64.tar.gz 
tar -zxvf frp_0.31.1_linux_amd64.tar.gz

重命名文件夹

mv frp_0.31.1_linux_amd64 frps
mv frp_0.31.1_linux_amd64 frps 
mv frp_0.31.1_linux_amd64 frps

进入到frps文件夹删除客户端的三个配置文件

rm -rf frpc*
rm -rf frpc* 
rm -rf frpc*

编辑frps.ini vim frps.ini (frps_full.ini 是完全的配置)
我这里尝试先简单的搭建一个frp服务

[common] # 默认端口可以修改 bind_port = 7000 #虚拟主机访问端口(就是我们常用内网代理到外网访问的端口) vhost_http_port = 8080
[common] # 默认端口可以修改 bind_port = 7000 #虚拟主机访问端口(就是我们常用内网代理到外网访问的端口) vhost_http_port = 8080 
[common] # 默认端口可以修改 bind_port = 7000 #虚拟主机访问端口(就是我们常用内网代理到外网访问的端口) vhost_http_port = 8080

保存
运行服务端 ./frps -c ./frps.ini
(FRP客户端)
FRP客户端也是一样(前两个步骤相同)
重命名文件夹

mv frp_0.31.1_linux_amd64 frpc
mv frp_0.31.1_linux_amd64 frpc 
mv frp_0.31.1_linux_amd64 frpc

进入到frpc文件夹删除客户端的三个配置文件

rm -rf frps*
rm -rf frps* 
rm -rf frps*

编辑frpsc.ini vim frpc.ini

[common] #FRP服务器地址 server_addr = 47.106.177.x #frp服务器配置的端口 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 #网站一 [web01] type = http #网站ip local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false #网站域名 custom_domains = xx.xx.xx #网站二 [web02] type = http local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false custom_domains = xx.xxt.xx
[common] #FRP服务器地址 server_addr = 47.106.177.x #frp服务器配置的端口 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 #网站一 [web01] type = http #网站ip local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false #网站域名 custom_domains = xx.xx.xx #网站二 [web02] type = http local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false custom_domains = xx.xxt.xx 
[common] #FRP服务器地址 server_addr = 47.106.177.x #frp服务器配置的端口 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 #网站一 [web01] type = http #网站ip local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false #网站域名 custom_domains = xx.xx.xx #网站二 [web02] type = http local_ip = 192.168.0.169 local_port = 80 use_encryption = false use_compression = false custom_domains = xx.xxt.xx

保存并退出

运行服务端 ./frpc -c ./frpc.ini
配置为系统服务并设置成开机自启
注意:这里这样运行不能关闭当前窗口,否则就会停止运行;
只能这样用当然是很不方便的,下面我们就把FRP服务注册成为系统服务吧,以后使用起来也更加方便,这里我采用较为简单的systemctl来控制吧(客户端和服务端都可以使用如下配置)

sudo vim /lib/systemd/system/frps.service
sudo vim /lib/systemd/system/frps.service 
sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容vim

[Unit] Description=frapc service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/home/frpc/frpc -c /home/frpc/frpc.ini [Install] WantedBy=multi-user.target
[Unit] Description=frapc service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/home/frpc/frpc -c /home/frpc/frpc.ini [Install] WantedBy=multi-user.target 
[Unit] Description=frapc service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/home/frpc/frpc -c /home/frpc/frpc.ini [Install] WantedBy=multi-user.target

保存并退出
然后就启动frps

sudo systemctl start frps
sudo systemctl start frps 
sudo systemctl start frps

再打开自启动

sudo systemctl enable frps
sudo systemctl enable frps 
sudo systemctl enable frps

如果要重启应用,可以这样,sudo systemctl restart frps
如果要停止应用,可以输入,sudo systemctl stop frps
如果要查看应用的日志,可以输入,sudo systemctl status frps

以上是简单常用的frp服务端和客户端的搭建,大家如有其他用途,详细配置参考

https://blog.csdn.net/u013331606/article/details/103972375
https://blog.csdn.net/u013331606/article/details/103972375 
https://blog.csdn.net/u013331606/article/details/103972375

原文链接:https://blog.csdn.net/u013331606/article/details/103972527

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享