frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网
frp分为客户端和服务端,客户端安装在本地的机子,服务端在vps上,一般我们在内网开设了一个80端口但是因为处于内网不能够直接访问所以需要将80端口映射到公网的vps的某个端口上,这样我们访问这台vps那个端口就相当于访问内网的80端口,通过frp反向代理可以帮助我们解决这样的问题
项目地址: https://github.com/fatedier/frp/releases
第一个是服务端,第二个为客户端linux和win都支持
服务端下载frp和配置
wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
tar zxvf frp_0.41.0_linux_amd64.tar.gz
cd frp_0.41.0_linux_amd64
rm -rf frpc*
编辑frps.ini
vi frps.ini
bind_port=7000
token=moonsec2020
启动frp
./frps -c frps.ini
设置开机自启这个服务
vi /lib/systemd/system/frps.service
[Unit]
#服务描述
Description=frpc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#执行命令
ExecStart=/root/frp/frps -c /root/frp/frps.ini
[Install]
WantedBy=multi-user.target
启动frp
systemctl daemon-reload
systemctl start frps
systemctl enable frps
客户端配置,这里我们用的kali作为客户端
wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
tar zxvf frp_0.41.0_linux_amd64.tar.gz
cd frp_0.41.0_linux_amd64
vi frpc.ini
# frpc.ini
[common]
server_addr = *.*.*.*
server_port = 7000
token = moonsec
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
这里server_addr填上你的服务器地址
local_port = 22
remote_port = 6000
这里是将本地的22端口映射到6000端口
开启frp
./frpc -c frpc.ini