frp网络映射部署,并设置开机自启

232 阅读3分钟

1 前言

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。可用于游戏联机,远程控制本地设备,网络映射。

2 教程所需工具

    1.用于提供映射服务的具有公网IP的linux服务器(如阿里云,腾讯云,具有公网IP的本地设备)

    2.被映射的无公网IP的设备

    3.对应系统的frp压缩包

        (1).查看本地设备与服务器的架构

cat /proc/version

(2).下载对应版本

https://github.com/fatedier/frp/releases

amd64别称X86_64--arm64别称AArch64

3 部署

   服务器端

        在服务器root目录下新建frp文件夹

mkdir /root/frp

         将压缩包解压后内容上传到frp文件夹下,保证frp文件下为下图文件(推荐使用winscp上传)

frp文件下内容

        编辑frps.ini内容

vim /root/frp/frps.ini

        根据自己需求如下更改内容(可直接覆盖后修改)

    

[common]
#此为服务器监听端口
bind_port = 7000 #默认为7000可更改你所需端口,记得防火墙放行此端口

  保存后退出

    启动frps服务确保在frp文件夹下运行命令

./frps -c ./frps.ini

        (如果需要在后台运行,请往下翻阅关于后台运行的部分。)

客户端****

********在本地设备root目录下新建frp文件夹

mkdir /root/frp

         将压缩包解压后内容上传到frp文件夹下,保证frp文件下为下图文件(推荐使用winscp上传)

frp文件下内容

      编辑frps.ini内容

vim /root/frp/frpc.ini

        根据自己需求如下更改内容(可直接覆盖后修改)

    

[common]
server_addr = 123.123.123.123   #此为服务器的公网ip
server_port = 7000     	#服务器端监听的端口
[next]    #需要映射的服务名称可以自定义不可重复
type = tcp
local_ip = 127.0.0.1  #本地回环地址
local_port = 5700		#本地服务端口
remote_port = 7001		#映射到服务器的端口

[ssh]      #需要映射的服务名称可以自定义不可重复,此为映射ssh
type = tcp
local_ip = 127.0.0.1  #本地回环地址
local_port = 22     #本地服务端口
remote_port = 7002   #映射到服务器的端口

[XXX]      #支持映射多个按照此格式添加
type = tcp
local_ip = 127.0.0.1  #本地回环地址
local_port = XX     #本地服务端口
remote_port = XX   #映射到服务器的端口

  保存后退出

     启动frps服务确保在frp文件夹下运行命令

./frpc -c ./frpc.ini

        (如果需要在后台运行,请往下翻阅关于后台运行的部分。)


3 配置fcp开机启动

****如Linux上没有安装 systemd,可以使用 yum 或 apt 等命令安装 systemd(本地设备同理

# yum
yum install systemd
# apt
apt install systemd

        使用vim 创建并编辑 frps.service 文件。此处的文件名称决定了服务的名称。****

                            服务器端为frps

                            本地设备为frpc

服务器端使用
vim /etc/systemd/system/frps.service

本地设备端使用
vim /etc/systemd/system/frps.service

    编辑服务端

[Unit]
#服务描述
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#执行命令
ExecStart=/root/frpc/frps -c /root/frpc/frps.ini

ExecStop=/bin/kill $MAINPID
Restart=always   #监控服务是否成功启动,未启动等待5分钟后从新启动
RestartSec=5    #等待时间
StartLimitInterval=0


[Install]
WantedBy=multi-user.target

    编辑本地设备端

[Unit]
#服务描述
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#执行命令
ExecStart=/root/frpc/frpc -c /root/frpc/frpc.ini

ExecStop=/bin/kill $MAINPID
Restart=always   #监控服务是否成功启动,未启动等待5分钟后从新启动
RestartSec=5    #等待时间
StartLimitInterval=0


[Install]
WantedBy=multi-user.target

以下命令双端都需运行

    更新systemctl

systemctl daemon-reload

    

配置 frps 开机自启

systemctl enable frps

到此frp部署完成

linux下systemd常用命令

使用 systemd 命令,管理 frps

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

linux下FRP常用命令

后台运行frp

#定位至frp文件所在位置
#服务端:
nohup ./frps -c frps.ini >/dev/null 2>&1 &
#客户端:
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

查看frp进程

``

ps -aux|grep frp| grep -v grep

``

结束frp进程

kill -9 12345(找到的进程号)