实现frp内网穿透需要条件
- 一台具有公网ip的机器,例如阿里云服务器
-
一台能访问外网的机器,但是没有公网ip,此机器就是需要被内网穿透的机器
下载frp软件包
- 下载地址https://github.com/fatedier/frp/releases,由于我的云服务器是linux系统,因此下载版本为frp_0.34.3_linux_amd64.tar.gz
- 将软件包在公网ip的机器和局域网的机器各自放一份,并解压
在公网ip的机器上修改frps.ini
[common]
bind_port = 7000
token = 52010
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
在局域网的机器上修改frpc.ini
[common]
#这里是公网ip
server_addr = x.x.x.x
#这里是与公网ip通讯的端口
server_port = 7000
#这是与公网ip通讯的密令
token = 52010
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
#内网穿透的端口
remote_port = 6000
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
#内网穿透的端口
remote_port = 6001
最后开启防火墙端口,公网ip的机器和局域网的机器都需要开启
启动命令:公网ip的机器在解压目录下./frps -c ./frps.ini
局域网机器的解压目录下./frpc -c ./frpc.ini
设置开机自启frpc和frps服务,这里以frps服务为例
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps