目 录CONTENT

文章目录

基于Docker的FRP内网穿透部署

ZOUNAN
2022-05-26 / 2 评论 / 2 点赞 / 534 阅读 / 1,554 字
温馨提示:
本文最后更新于 2022-05-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。


内网穿透的功能想必不用多说,大家已经比较熟悉了,之前也有介绍过搭建frp和nps实现内网穿透的方法,当然为了统一管理,这里再次以frp项目来演示搭建,不同的是本次采用docker来搭建。

1.搭建服务端

默认你已经安装好docker的服务,创建一个目录用于存放frp的配置文件:

# 创建存放目录
mkdir -p /opt/docker/frps
# 创建frps.ini文件
vim /opt/docker/frps/frps.ini

frps.ini的内容如下:

[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = admin@123
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081


# 身份验证
token = 12345678

使用以下命令运行frp服务端:

docker run --restart=always --network host -d -v /opt/docker/frps/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps


如果执行没有任何报错,那么这样我们就在服务器端创建好了一个服务,注意:如果你使用云服务器的话,需要将对应的端口放开,比如7000的tcp端口。

2.访问web页面

使用http://ip:7500,其中ip为你的服务器ip,使用网页打开。

使用在前面配置文件中预设的登录面板账号登录,这个面板主要是看我们的连接信息,没有太多的功能。

3.搭建客户端

同样的,客户端上也使用docker来搭建,当然也可以使用普通二进制来搭建。

mkdir -p /opt/docker/frpc
vim /opt/docker/frpc/frpc.ini

将下面的配置粘贴进去,把server_addr改成你自己的服务器公网ip,根据自己的情况修改自己的配置文件,比如我把192.168.31.100这台服务器的22端口代理到公网服务器的18002端口,就可以如下配置。

[common]
# server_addr为FRPS服务器IP地址
server_addr = x.x.x.x
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678


# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。
# type 为连接的类型,此处为tcp
# local_ip 为中转客户端实际访问的IP 
# local_port 为目标端口
# remote_port 为远程端口

[ssh]
type = tcp
local_ip = 192.168.31.100
local_port = 22
remote_port = 18022

如果你还需要创建更多的代理,则需要在后方继续配置,注意[]内的内容不能与之前的名称重复。比如把主机192.168.31.101的3389端口代理到公网18023端口上:

……
[rdp]
type = tcp
local_ip = 192.168.31.101
local_port = 3389
remote_port = 18023

保存配置,创建客户端。

docker run --restart=always --network host -d -v /opt/docker/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc


成功之后访问对应的公网ip就能访问到我们的内网了,快去试试吧~对了,在刚才的面板上也能看到我们的代理信息了。

2

评论区