Frp 内网穿透
视频教程
司波图视频教程: https://www.bilibili.com/video/BV1J74117714
简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
资源
GitHub主项目:https://github.com/fatedier/frp
GitHub安装包:https://github.com/fatedier/frp/releases
安装说明
首先在“GitHub安装包”链接中找到适合自己服务器架构的版本。
例如:
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
解压下载好的文件
例如:
tar -zxvf frp_0.38.0_linux_amd64.tar.gz
- 更改文件名(可选)并打开文件夹
文件夹内有两套文件,其中文件
frpc.ini
与frps.ini
是需要修改的配置文件。frpc.ini
是客户端配置文件,应该在本地运行(在需要被穿透的服务器上运行)。frps.ini
是服务端配置文件,应该在具有公网IP的服务器上运行(可以是阿里云、腾讯云、Google Cloud)。frpc_full.ini
和frps_full.ini
是官方的演示配置,可以打开探索Frp的许多新功能。
服务端
frps.ini
示例配置文件[common] #客户端连接服务端的端口 bind_port = 7000 #客户端连接服务端所需的密码 token = password
运行Frp脚本(一次性运行,关闭SSH后服务会被终止)
./frps -c frps.ini
- 注意你服务器的防火墙配置,无论是运营商的硬件防火墙(比如阿里云的安全组),还是软件防火墙(iptables、ufw,firewall),需要开启相对应的端口。上面配置文件用到了
7000
端口,可以将7000-7020端口打开,供客户端和服务端使用。 - 设置
Systemctl
进程守护(让Frp服务端在后台一直运行) 创建一个新
frpc.service
文件nano /lib/systemd/system/frps.service
输入下列脚本(注意:
ExecStart=
后要写你放Frp的路径)[Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/root/frp/frps -c /root/frp/frps.ini [Install] WantedBy=multi-user.target
管理脚本
# 设置开机启动 systemctl enable frps # 启动服务 systemctl start frps # 停止服务 systemctl stop frps # 重启服务 systemctl restart frps # 查看状态 systemctl status frps
客户端
frpc.ini
示例配置文件[common] #服务端公网IP server_addr = 127.0.0.1 #服务端设置的端口 server_port = 7000 #服务器设置的密码 token = password [ssh] #连接类型(注:不同连接类型设置不同,请查看frpc_full.ini文件) type = tcp #需要映射出去的机器内网IP(127.0.0.1是指本机localhost,其他机器的IP比如可以是192.168.1.1) local_ip = 22 #外网访问本机的端口,访问格式为:http://$服务器IP:7001 remote_port = 7001
运行Frp脚本(一次性运行,关闭SSH后服务会被终止)
./frpc -c frpc.ini
- 设置
Systemctl
进程守护(让Frp服务端在后台一直运行) 创建一个新
frpc.service
文件nano /lib/systemd/system/frpc.service
输入下列脚本(注意:
ExecStart=
后要写你放Frp的路径)[Unit] Description=frapc service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/root/frp/frpc -c /root/frp/frpc.ini [Install] WantedBy=multi-user.target
管理脚本
# 设置开机启动 systemctl enable frpc # 启动服务 systemctl start frpc # 停止服务 systemctl stop frpc # 重启服务 systemctl restart frpc # 查看状态 systemctl status frpc
评论已关闭