FRP(Fast Reverse Proxy)是一款内网穿透工具,它帮助内网设备通过公网服务器将服务暴露到外网,以下是在Linux服务器使用直接下载二进制文件的方式来安装FRP。
步骤 1: 更新系统并安装必要的工具
确保你的系统是最新的,并且已经安装了wget和unzip等必要的工具:
sudo yum install wget unzip -y
步骤 2: 下载FRP
前往FRP的GitHub发布页面查找最新版本,这里以v0.46.0为例:
cd /tmp
wget https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_linux_amd64.tar.gz
tar -zxvf frp_0.46.0_linux_amd64.tar.gz -C /opt/
步骤 3: 配置FRP
进入解压后的目录,并根据需要编辑配置文件。
服务端配置 (frps.ini): 如果你是设置公网服务器作为中转服务器,请编辑 /opt/frp_0.46.0_linux_amd64/frps.ini 文件。下面是一个简单的示例配置:
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
allow_ports = 2000-3000,3001,3003,6000-7000
客户端配置 (frpc.ini): 如果你是在内网机器上配置FRP客户端以穿透内网,则应编辑 /opt/frp_0.46.0_linux_amd64/frpc.ini 文件。下面是一个简单的SSH转发配置示例:
[common]
server_addr = x.x.x.x # 替换为你的公网服务器IP地址
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
步骤 4: 设置防火墙规则
确保防火墙允许FRP的服务端口和仪表板端口通过。使用firewalld添加相应的规则:
sudo firewall-cmd –zone=public –add-port=7000/tcp –permanent
sudo firewall-cmd –zone=public –add-port=7500/tcp –permanent
sudo firewall-cmd –reload
步骤 5: 创建Systemd服务
为了方便管理和确保服务重启后自动运行,我们可以为FRP创建systemd服务单元文件。
创建服务端服务文件 (frps.service)
sudo tee /etc/systemd/system/frps.service > /dev/null < [Unit] Description=FRP Server Service After=network.target [Service] Type=simple ExecStart=/opt/frp_0.46.0_linux_amd64/frps -c /opt/frp_0.46.0_linux_amd64/frps.ini Restart=on-failure [Install] WantedBy=multi-user.target EOL 创建客户端服务文件 (frpc.service) sudo tee /etc/systemd/system/frpc.service > /dev/null < [Unit] Description=FRP Client Service After=network.target [Service] Type=simple ExecStart=/opt/frp_0.46.0_linux_amd64/frpc -c /opt/frp_0.46.0_linux_amd64/frpc.ini Restart=on-failure [Install] WantedBy=multi-user.target EOL 步骤 6: 启动并启用服务 启动并设置服务开机自启: 对于服务端 sudo systemctl daemon-reload sudo systemctl enable frps sudo systemctl start frps 对于客户端 sudo systemctl enable frpc sudo systemctl start frpc 步骤 7: 检查服务状态 最后,检查服务是否正常运行: sudo systemctl status frps # 或者 frpc 以上就是在linux上安装和部署FRP的完整过程。请根据实际情况调整配置文件中的参数,如端口号、路径等。如果有任何问题,请参考官方文档或社区支持获取帮助。