搭建内网穿透服务器 基于frp
#
之前一直用的是三方穿透服务natapp免费穿透
https://natapp.cn/
# 缺点
- 不定时强制更换域名/端口
- 服务不稳定
- 中转速度相当有限
就在想着用自己的公网服务器搭建 更为可控一个 很稳定 类似natapp的穿透服务
一下记录 基于frp与zerotier moon服务器 的使用
- 一台公网服务器
- docker
https://hub.docker.com/r/snowdreamtech/frpc
# 服务器搭建
创建初始化文件, 文件位置: /izhaong/frp
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = ******
dashboard_pwd = ******
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081
# 身份验证
token = 1234
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker 命令 创建frp容器
#服务器镜像:snowdreamtech/frps
#重启:always
#网络模式:host
#文件映射:/izhaong/frp/frps.ini:/etc/frp/frps.ini // 本地:容器位置
docker run --restart=always --network host -d -v /izhaong/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
1
2
3
4
5
6
2
3
4
5
6
因为是一个host模式, 现在是可以在在公网上访问端口了,注意你的服务器防火墙
# 客户端搭建
- 在本级上开启一个8080的服务
- 配置frpc.ini 文件
[common]
# server_addr为FRPS服务器IP地址
server_addr = ** // 你线上服务器地址如:121.41.41.41
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 1234 // 跟上面一样
[web_dev_8080]
type = tcp
local_ip = 127.0.0.1 // docker可能会有网络隔离 可以填写ip地址:192.168.31.163
local_port = 8080
remote_port = 28080
# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。
# type 为连接的类型,此处为tcp
# local_ip 为中转客户端实际访问的IP
# local_port 为目标端口
# remote_port 为远程端口
# 桌面连接
# [desk_6580]
# type = tcp
# local_ip = 192.168.1.229
# local_port = 6580
# remote_port = 16580
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 客户端容器
docker run --restart=always --network host -d -v /Users/izhaong/izhaong/Docker_K8s/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
1
2
2
# 问题
2022/06/19 06:00:09 [E] [proxy.go:796] [ac8fcbae50e11478] [web_server_8080] connect to local service [127.0.0.1:8080] error: dial tcp 127.0.0.1:8080: connect: connection refused
1
docker容器之间是互相隔离的,不能互相访问,解决掉就好了
上次更新: 2022/07/03, 15:02:21