frp内网穿透服务搭建
目录
- 公网服务器配置(服务器为linux)
- 【扩展】方式二启动:配置使用systemctl来控制启动
- 内网linux机器
- 内网windos机器
- 参考
官方文档地址
服务下载
linux环境
windows环境
必要条件:一台可以被DNS服务解析的服务器,也就是具有公网ip的服务器
公网服务器配置(服务器为linux)
-
cd进入frp文件目录
-
修改frps服务端配置【frps.ini】如下:
# 公共配置
[common]
# 与frpc客户端的通信端口
bind_port = 7000
# [可以不配置]用于监听用户端的请求
# vhost_http_port = 8080
# frps服务端web页面仪表盘
dashboard_port= 8082
dashboard_user= 用户名
dashboard_pwd= 密码
- 添加执行权限
chmod 777 ./frps
后台启动命令:nohup 绝对路径/frps -c 绝对路径/frps.ini &
- 服务器开放要映射内网服务的端口
- 内网有多少服务需要映射就开放多少个端口供frpc客户端使用
- frpc客户端在配置文件frpc.ini中指定remote_port就是上面公网服务器开放的端口
添加端口
firewall-cmd --permanent --zone=public --add-port=端口/tcp
关闭端口
firewall-cmd --permanent --zone=public --remove-port=端口/tcp
其中permanent表示永久生效,public表示作用域,8080/tcp表示端口和类型
查看
firewall-cmd --list-ports
常见端口操作
【扩展】方式二启动:配置使用systemctl来控制启动
sudo vim /lib/systemd/system/frps.service
在frps.service里写入以下内容
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/your/path/frps -c /your/path/frps.ini
[Install]
WantedBy=multi-user.target
打开自启动sudo systemctl enable frps
-
启动frps
sudo systemctl start frps -
重启frs应用
sudo systemctl restart frps -
停止frps应用
sudo systemctl stop frps -
查看frps应用的日志
sudo systemctl status frps
内网linux机器
此处为linux环境
-
cd进入frp文件目录
-
修改frpc客户端配置【frpc.ini】如下:
# 公共配置
[common]
# 公网服务器的ip地址
server_addr = 公网服务器ip
# 与frps服务端通信的端口
server_port = 7000
# [web001] 映射服务的name,需要唯一
[web001]
# 通信类型
type = tcp
# 内网机器本地要暴露到公网服务端口号
local_port = 9111
# 指定公网服务器映射的端口号
remote_port = 8080
# 效果就是用户访问公网服务器ip:8080即可映射到内网机器的9111端口,实现内网穿透
# 可配置多个[name]不重复即可
[web002]
type = tcp
local_port = 8080
remote_port = 8081
# 效果就是用户访问公网服务器ip:8081即可映射到内网机器的8080端口,实现内网服务穿透到公网
...
- 添加执行权限
chmod 777 ./frpc - 内网机器启动frpc客户端
nohup ./frpc -c ./frpc.ini &
内网windos机器
关闭防火墙
在frp目录下进入cmd命令行
启动命令.\frpc -c .\frpc.ini
配置未发生变化
参考
主要参考:
frp配置实现转发多个http站点
协议转换、dashboard仪表盘web服务
frp + nginx 配置多人共用的http 内网穿透服务
jobs # 查看使用nohup cmd & 运行的后台服务有哪些
# 后台启动一个服务
nohup command > nohup.out 2>&1 &