frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp,udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
服务端
下载对应版本的 frp 压缩包,解压到指定目录,解压后 chmod +x frps
授予可执行权限。修改配置文件 frps.ini
[common]
# frp 服务端端口
bind_port = 7000
# frp 服务端密码,配置客户端时用到
token = 12345678
# 认证超时时间,默认为900秒
authentication_timeout = 900
# 网页管理端口
dashboard_port = 7500
# 仪表盘访问的用户名密码
dashboard_user = admin
dashboard_pwd = admin
# 使用 frp 穿透访问内网中的网站,不设置则不会开启这项功能
vhost_http_port = 10080
vhost_https_port = 10443
配置好之后使用 ./frps -c frps.ini
启动服务端
客户端
下载对应版本的 frp 压缩包,解压到指定目录,修改配置文件 frpc.ini,完整的配置说明参见中文文档
[common]
# 服务端地址
server_addr = 0.0.0.0
# 服务端端口
server_port = 7000
# 服务端密码
token = 12345678
# 自定义配置名称,格式为“[名称]”
[ssh]
# 连接类型,填 tcp 或 udp
type = tcp
# 本地ip,填你需要转发到的目的ip
local_ip = 127.0.0.1
# 需要转发到的端口
local_port = 3389
# 是否加密客户端与服务端之间的通信,默认是 false
use_encryption = false
# 是否压缩客户端与服务端之间的通信,默认是 false
use_compression = false
# 服务端的远程监听端口
remote_port = 6000
开机启动
1. 服务端
vim /usr/lib/systemd/system/frp.service
添加以下内容:
[Unit]
Description=Frp service
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
Restart=always
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
使用 systemctl daemon-reload
重启加载服务文件后,以下命令控制:
systemctl start frp
systemctl stop frp
systemctl restart frp
systemctl status frp
systemctl enable frp
systemctl disable frp
2. 客户端
方法一:添加到启动目录
新建一个 frpc.bat
,添加以下内容:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd C:\frp
frpc -c frpc.ini
exit
将该文件放入Windows启动文件夹,
# 系统启动文件夹:
X:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
# 用户启动文件夹:
X:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
这个方法最大缺点是电脑要登录后才能连接
方法二:创建计划任务
计算机管理-系统工具-任务计划程序,在右边面板点击创建任务。
方法三:用 winsw 将 frp 注册为系统服务
下载 winsw,WinSW.NET2.exe 一般运行在 win7、win server2008 的系统中,WinSW.NET4.exe 一般运行在 win10、win server 2012 及以后的系统中,将 WinSW.NET4.exe 改名为 winsw.exe,放到 frp 相同的目录里,在同一个目录里创建一个 utf8 编码的文本文件,文件名是 winsw.xml,内容是:
<service>
<id>frp</id>
<name>frpc</name>
<description>frp remote control</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</service>
以管理员权限打开一个命令窗口,进入到 frp 所在目录,使用以下命令控制:
winsw install
winsw start
winsw stop
winsw uninstall
如果你认为这篇文章还不错,可以考虑为我充电 ⚡️