Frp主要设计功能为内网穿透,也就是能让外网访问没有公网端口的内网服务,可以用于内网穿透SSH,WEB等。本文主要介绍Frps,Frpc的安装以及简单使用方法。

fatedier/frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - fatedier/frp

安装Frps及systemd文件(具有公网ip的设备)

wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz
tar -xvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
cd frp
sudo cp frps /usr/bin/frps
cd systemd
sudo cp [email protected] /etc/systemd/system/[email protected]
sudo mkdir /etc/frp/
frpc配置方法一样frps改成frpc就行

使用案例1:ssh

cd /etc/frp/
sudo touch ssh.ini
sudo nano ssh.ini
ssh
[common]
bind_port = 10000 //设置服务端监听端口,用于让Frpc连接
token = 12345678 //设置服务端令牌
frps配置
[common]
server_addr = 1.1.1.1 //服务器ip
server_port = 10000 //服务器端口
token = 12345678 //令牌和服务端要一样
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 //本地ssh端口
remote_port = 10001 //开防的外部端口
frpc配置
sudo systemctl start [email protected]
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
sudo systemctl enable [email protected]
启动frps和frpc并设置开机启动

这样启动后,ssh 1.1.1.1:10001 就可以通过SSH访问内网机器了。


本案例实际为最简单的tcp内网穿透,Frp还支持包括http,https等协议,也支持压缩,加密等。