frp内网穿透
需求:在公司内网服务器的网站在外网能够访问
准备:有一台公网ip的服务器(下文服务端),一台需要实现内网穿透的机器(下文客户端,内网服务器,我部署了网站),SSH工具
外网主机(云服务器主机,服务端)
SSH连接上外网主机后,使用wget指令下载frp。
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz
//需要下什么版本的自己修改就好
也可以在https://github.com/fatedier/frp/releases/tag/v0.44.0下载后上传到外网服务器
解压
命令:tar -zxvf 文件名
tar -zxvf frp_0.24.1_linux_amd64.tar.gz
使用cd指令进入解压出来的文件夹
cd frp_0.24.1_linux_amd64/
外网主机作为服务端,可以删掉不必要的客户端文件,使用rm指令删除文件。(也可以不删除,不影响)
rm -f frpc
rm -f frpc.ini
修改服务端配置文件,即frps.ini文件。使用vim指令对目标文件进行编辑
先执行vim frps.ini
然后输入
[common]
bind_port = 7000
vhost_http_port = 8080
[common]部分是必须有的配置,其中bind_port是自己设定的frp服务端端口,vhost_http_port是自己设定的http访问端口。
保存上面的配置后,使用以下指令启动frp服务端。(后面需要运行在后台)
./frps -c ./frps.ini

出现这些代表运行成功。服务端配置到此结束了。
客户端配置
可以下载Xtcp把frp_0.24.1_linux_amd64.tar.gz压缩包文件上传到公司内网的服务器。
我在上传文件的时候出现了这个错,是权限不够


解决方法可以参考:https://www.freesion.com/article/37241467939/
上传成功后进入文件夹然后解压
配置客户端ini文件
tar -zxvf frp_0.24.1_linux_arm.tar.gz
cd frp_0.24.1_linux_arm.tar.gz
rm -f frps
rm -f frps.ini
vi frpc.ini
配置如下
[common]
server_addr = x.x.x.x
server_port = 7000
[web]
type = http
local_port = 80
custom_domains = x.x.x.x
[common]中的server_addr填frp服务端的ip(也就是外网主机的IP)server_port填frp服务端的bind_prot。
[web]同上,local_port本地部署的网站web端口。custom_domains 为自定义域名,我本机测试用自定义域名访问不了,我就直接写客户端的ip地址,可以访问
启动
./frpc -c ./frpc.ini

此时通过浏览器访问 http://x.x.x.x:8080 即可访问到处于内网机器上的 web 服务。
将frps合frpc运行在后台
服务端:
nohup ./frps -c ./frps.ini &
客户端:
nohup ./frpc -c ./frpc.ini &
若出现
nohup: ignoring input and appending output to ‘nohup.out’
则
nohup /path/to/your/fprs -c /path/to/your/frps.ini >/dev/null 2>&1 &
///path/to/your/fprs为你的服务端文件地址
同理:客户端运行
nohup /path/to/your/fprc -c /path/to/your/frpc.ini >/dev/null 2>&1 &
若出现
bash: dev/null2: No such file or directory
则cd进入到文件目录执行
服务端
nohup ./frps -c frps.ini >/dev/null 2>&1 &
客户端
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
客户端配置多个web
[common]
server_addr = 外网ip
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web01]
type = tcp
#浏览器输入:外网ip:8080 实际访问的是frp客户端8081的web 注意:需要开frp服务端的8080端口
local_ip = 127.0.0.1
local_port = 8081
remote_port = 8080
[web02]
#浏览器输入:外网ip:80 实际访问的是frp客户端局域网192.168.x.x的web 注意:需要开frp服务端的80端口
type = tcp
local_ip = 192.168.x.x
local_port = 8082
remote_port = 80
参考:
https://blog.csdn.net/m0_50620305/article/details/116082557
https://www.jianshu.com/p/d9942fedfee9
将frp运行在后台:
http://t.zoukankan.com/liusingbon-p-12660702.html

浙公网安备 33010602011771号