当前位置:   article > 正文

使用frp进行内网穿透_frp内网穿透

frp内网穿透

frp概述

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。frp 采用 C/S 模式,将服务端部署在具有公网 IP 机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

下图是frp官网:https://gofrp.org/
GitHub地址:https://github.com/fatedier/frp

下载frp

由于frp是go语言开发,因此可以直接下载可执行程序,没有任何依赖。一般通过GitHub的releases下载:https://github.com/fatedier/frp/releases
版本自己挑选,我这里只是做个示范

  • 资源:

image.png

安装服务器端(frps)

上传到服务器

image.png

修改文件权限

不然会包错,我这里图方便,所以直接全部设置成777了

修改配置文件frps.ini

[common]
# 这个默认端口是7000,就是客户端和服务端通信的,不是你转发的那个端口
# 如果这个要改了,客户端的7000也要改成和这里一样。
bind_port = 6660

# 这个是frp的web管理控制台的用户名密码和登录端口
dashboard_user = admin
dashboard_pwd = aaa@Wcb123
dashboard_port = 6661

# 这个token之后在客户端会用到,相当于客户端登录服务器端,毕竟这个东西不能随便给人用,自己随便输入一串字符串就行
token = wertyoqazxcvbnjhgfcvbn

# 心跳连接:必须得有,frp 0.43.0版本如果不加,60秒就会自动断开连接!
# 服务器就加这一条,客户机每台都要加。
heartbeat_timeout = 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

运行frpsc

./frps -c frps.ini
  • 1

image.png
出现【Start frps success】代表运行成功
此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面,如果不能看到,但是确实启动成功了,请去自己买的云服务器里开放端口。

image.png
至此,我们的服务端仅运行在前台,但是Ctrl+C停止或者关闭SSH窗口后,frps 均会停止运行,所以进行如下配置

配置systemctl进行开机启动

vim /lib/systemd/system/frpc.service

# 在frps.service里添加以下内容
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/wcb/frp_0.43.0_linux_amd64/frps -c /usr/local/wcb/frp_0.43.0_linux_amd64/frps.ini  

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
systemctl常用命令
#启动 
sudo systemctl start frpc  
#关闭 
sudo systemctl stop frpc 
#重启 
sudo systemctl restart frpc 
#查看状态 
sudo systemctl status frpc 
设置开机自动启动
sudo systemctl enable frpc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

安装客户端(frpc)

复制到文件夹

image.png

修改配置文件frpc.ini

[common]
# 你frp服务器的公网ip地址
server_addr = 0.0.0.0
server_port = 6660 
# token与frps.ini 相同
token = wertyoqazxcvbnjhgfcvbn


# 这里取名随意,一般有意义就行
[ssh]
# 穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,这个设置之前必须自行搞清楚应该是什么
type = tcp
# 你当前内网服务器的网卡IP地址,不要用127.0.0.1
local_ip = 0.0.0.0
# 你要转发的服务端口
local_port = 10000
# 你要映射到公网上的那个端口
remote_port = 6662


# 服务器与客户机之间的心跳连接:如果没有,每隔60秒就会自动断开连接!!!
heartbeat_timeout = 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

运行frpc

frpc.exe -c frpc.ini
  • 1

image.png
这个时候打开fpr服务器端界面就可以确认是否成功了
image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/216932
推荐阅读
相关标签
  

闽ICP备14008679号