一招教会你用阿里云ECS基于Docker的FRP内网穿透部署

一招教会你用阿里云ECS基于Docker的FRP内网穿透部署

何海龙
2024-02-15 / 0 评论 / 74 阅读 / 正在检测是否收录...

9CoRjpg

前言

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。 说人话就是我们想在不连接家里的wifi的情况下访问我们家里面的电脑和其他设备时,由于家庭宽带没有固定的公网ip使得我们无法向访问云服务器一样 直接访问,这时候我们就需要使用到内网穿透技术,让我们在其他网络下也能访问到处于内网环境的设备。

总的来说,内网穿透技术对于实现内网设备与外部网络的通信非常重要。而FRP作为其中的一种技术,具有许多优点,可以满足各种不同的需求。如果你对内网穿透技术感兴趣,不妨了解更多关于FRP的信息,以便更好地实现内网设备与外部网络的通信。

一、服务端部署

1.准备
首先你需要一个服务器,我的是阿里云主机。部署好Docker,假设你已经准备好,那我们继续。
2.开始安装
# 创建存放目录
sudo mkdir /etc/frp
3.写入配置文件
#进入文件目录
cd /etc/frp
#写入配置文件
cat>frps.toml <<-EOF
# 监听端口
bindPort = 7000
# 服务端将只接受 TLS链接
transport.tls.force = true
# 后台管理地址
webServer.addr = "0.0.0.0"
# 后台管理地址
webServer.port = 7500
# 后台登录用户名
webServer.user = "admin"
# 后台登录密码
webServer.password = "admin"
# 身份验证令牌,frpc要与frps一致
auth.token = "yGlHDLwnlZMOYu2S"
EOF
4.拉取镜像并启动Frps
docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps

9SMJpng

镜像拉取成功,并成功启动。输入服务器IP:7000端口号访问frp后台,密码都为admin,均可在配置文件中修改;记得别忘记在防火墙允许必要运行端口(重要!!!)

二、客户端部署

1.准备
具有docker环境的客户端均可部署,可以在Ikuai软路由、OpenWRT软路由、群晖NAS、甚至本地CentOS上部署。本次搭建以CentOS演示。群晖命令行部署比页面配置快多了,两行命令即可部署完成,感兴趣的可以看我另外一篇文章。
2.开始安装
# 创建存放目录
sudo mkdir /etc/frp
3.写入配置文件
#进入文件目录
cd /etc/frp
#写入配置文件
cat>frpc.toml <<-EOF
#从v0.50.0版本开始,transport.tls.enable的默认值为 true
transport.tls.enable = true
#公网服务端IP地址或域名
serverAddr = "8.130.113.101"
#公网服务端通信端口
serverPort = 7000
#令牌,与公网服务端保持一致
auth.token = "yGlHDLwnlZMOYu2S"

#示例
#[ssh] 为服务名称
#type = "tcp" 为连接的类型,此处为tcp
#localIP = "127.0.0.1" 为中转客户端实际访问的IP
#localPort 为目标端口
#remotePort 为远程端口

[[proxies]]
name = "Synology"
type = "tcp"
localIP = "192.168.0.62"
localPort = 5000
remotePort = 5000
EOF
4.拉取镜像并启动Frpc
docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc

96FQpng

镜像拉取成功,并成功启动。我的群晖地址是192.168.0.62,端口号是5000,输入阿里云服务器IP地址:5000端口号即可访问呢群晖,记得放行必要运行端口(重要!!!)

9jSfpng

5.配图

9pdnpng

参考文献

https://github.com/snowdreamtech/frp

使用docker搭建frp服务器 - 博客园 (cnblogs.com)

自建内网穿透服务器: 通过FRP,Zerotier等几种通过自己服务器实现内网穿透的教程 (gitee.com)

1

评论

博主关闭了所有页面的评论