type
status
date
slug
summary
tags
category
icon
password
😀
本来想给 MongoDB 做异地容灾,但大部分服务器都没公网 ip,只好出此下策。本文只介绍 frp 的部署步骤,且重点介绍访问端的配置,不涉及 MongoDB 数据库的相关操作。

📝 主旨内容

前言

stcp

stcp 是 frp 的一种连接类型
通过创建一个只有授权用户能够访问的 SSH 服务代理,实现内网服务的安全暴露。
某些内网服务,如果直接暴露在公网上,可能存在安全风险。使用 stcp(secret tcp) 类型的代理可以让您安全地将内网服务暴露给经过授权的用户,这需要访问者也部署 frpc 客户端。
实际上本文也适用于 xtcp 连接。

方案设计

在 docker 中运行 frpc ,借助 docker 的 net 模拟另一台机子也在同一个局域网下。

操作

公网服务器(frps)

部署 frps,记住相关配置,并运行。

服务端(frpc)

官方示例
很明显,有点简陋,强化一下:

访问者端(frpc)

1.环境
docker 就行
2.开网卡混杂(注意:有的网卡名字不是 eth0 )
3.创建 docker 的网络
4.在 /opt/frpc 内创建 stcp.toml 文件
5.运行容器
6.检查
访问 192.168.1.100:你穿透的端口 试一试。

🤗 总结归纳

在不同的机房中都部署一遍,且把来自相同机子的隧道绑在相同 ip 上,理论上即可模拟局域网。

Bug!

有的机子部署了 frpc,有可能会出现该机子无法访问隧道的情况,如 ip 为 192.168.1.56 的机子部署 frpc ,隧道端口绑到 192.168.1.100,会出现 192.168.1.56 的机子内部访问不了 192.168.1.100。
原因未知。

📎 参考文章

 
💡
有关本文的问题,欢迎您在底部评论区留言,一起交流~