frp内网穿透部署教程–mack版
1. frp简介
FRP 项目地址 https://github.com/fatedier/frp/blob/master/README_zh.md
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
2. 环境准备
-
需要一台可以直接访问的公网的服务器,比如阿里云服务器(服务端)
-
需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端)
3. 下载地址
https://github.com/fatedier/frp/tags
4. 服务端配置
#在公网上的服务器进行配置
mkdir /home/frp
cd /home/frp
wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz
tar -zxvf frp_0.48.0_linux_amd64.tar.gz
mv frp_0.48.0_linux_amd64 frp
cd frp
#----------------------------------------------------------------------------------------
#查看frps.ini文件,修改为如下内容
[common]
bind_port = 7000 # 客户端跟服务端绑定的端口号
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd =admin
enable_prometheus = true
authentication_method = token
token = 123456
#默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一。
#启动服务器端服务
./frps -c frps.ini
#下面部分内容可选,如果采用上行指令启动的话,服务器重启后服务将不会自动启动。为了解决这一问题,可采用如下方法
#创建service文件
cat > /etc/systemd/system/frps.service <<END
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/frp/frp/frps -c /home/frp/frp/frps.ini
[Install]
WantedBy=multi-user.target
END
#启动服务
systemctl enable frps.service --now
5. 客户端配置
#在内网上的服务器进行配置(局域网)
mkdir /home/frp
cd /home/frp
wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz
tar -zxvf frp_0.48.0_linux_amd64.tar.gz
mv frp_0.48.0_linux_amd64 frp
cd frp
#----------------------------------------------------------------------------------------
#查看frpc.ini文件,修改为如下内容
[common]
server_addr = 137.xx.xx.210
server_port = 7000 # 和服务端设置一致
token = 123456 # 和服务端设置一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 222
[http]
type = tcp
local_ip = 192.168.1.xx
local_port = 80
remote_port = 10001
[mstsc]
type = tcp
local_ip = 192.168.1.x
local_port = 3389
remote_port = 10002
#启动客户端
./frpc -c frpc.ini
#下面部分内容可选,如果采用上行指令启动的话,服务器重启后服务将不会自动启动。为了解决这一问题,可采用如下方法
#创建service文件
cat > /etc/systemd/system/frpc.service <<END
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/frp/frp/frpc -c /home/frp/frp/frpc.ini
[Install]
WantedBy=multi-user.target
END
#启动服务
systemctl enable frpc.service --now
6. 测试
在浏览器地址栏中输入公网ip:10001 ,即可访问内网192.168.1.xx:80的web服务器了。ssh与mstsc这里就不测试了。