frp(Fast Reverse Proxy)是一个高性能的反向代理应用,主要用于内网穿透。它有两个主要组件:frps(服务器端)和 frpc(客户端)。通过它,你可以将内网服务器的服务暴露到公网,从而实现内网穿透的功能。下面是 frps 和 frpc 的详细使用教程。
1.frp下载
访问 frp GitHub Release 页面下载对应操作系统的版本。
例如,Linux 64位版下载链接:frp_0.38.0_linux_amd64.tar.gz,Windows 版下载链接:frp_0.38.0_windows_amd64.zip。
2.服务端配置
两种方式:一种方式直接运行,比如 ./frps -p 30100,这个端口是服务端,其它客户端需要链接这个端口
另外一种方式用配置文件,注意一点防火墙需要开放此端口,还有客户端的remote_port也要开放
3.客户端配置
配置文件
[common] server_addr = <serverip> //服务端ip server_port = 30100 [ssh2] //必须唯一 type = tcp local_ip = 127.0.0.1 //内网的IP local_port = 26254 //内网的port remote_port = 30103 //希望服务暴露的端口 # 配置 HTTP 服务 [http] type = tcp local_ip = 127.0.0.1 # 内网的 IP 地址 local_port = 80 # 内网的 HTTP 服务端口 remote_port = 7000 # 公网暴露的端口 # 配置 VNC 服务 [vnc] type = tcp local_ip = 127.0.0.1 # 内网的 IP 地址 local_port = 5900 # 内网的 VNC 服务端口 remote_port = 8000 # 公网暴露的端口
注意,客户端可以配置多个内网地址
4.自动运行
配置文件
cat <<EOF > ~/monitor_frp.sh #!/bin/bash PROGRAM_NAME="frpc" if pgrep -x "$PROGRAM_NAME" > /dev/null then echo "$PROGRAM_NAME is already running." else echo "$PROGRAM_NAME is not running. Starting it..." nohup /root/frp/frpc -c /root/frp/frpc.ini >/dev/null & echo "$PROGRAM_NAME started." fi EOF chmod +x monitor_frp.sh crontab -e