技术栈系列专栏5-搭建内网穿透系统
一、内网搭建的背景
1.1 背景
工作多年,学习资料都需要放在网络端,但是网络端的费用又比较高,在想着能不能在家里搭建一台主机服务,将自己的文档系统、日常使用的学习资料、工具等部署在本地主机服务,能通过外部网络访问。
考虑到服务的部署,需要简易化,高可维护、对资源的占用率低(本地主机资源较少),决定采用将服务容器化处理。
1.2 需要哪些知识
- k8s相关知识,需要知道k8s部署相关知识
- docker知识,需要了解docker的网络模型、存储机制、namespace、cgourp,docker命令等
- 内网穿透原理,打洞、napt等
- linux相关知识,linux命令
1.3 系统架构图
二、系统搭建说明
2.1 所需资源
资源名称 |
系统 |
CPU |
内存 |
硬盘 |
网络 |
---|---|---|---|---|---|
本地主机 |
CentOS Linux release 7.4.1708 (Core) |
4 core |
8G |
256G |
- |
云服务器 |
CentOS Linux release 7.4.1708 |
1 core |
2G |
40G |
1Mbps |
2.2 lanproxy-nat 内网穿透
github说明:https://github.com/ffay/lanproxy-go-client
2.2.1 云服务端配置
docker-compose.yml
version: '3.1'
services:
lanproxy-server:
image: franklin5/lanproxy-server
container_name: lanproxy-server
environment:
# 配置你的账号,默认admin
- LANPROXY_USERNAME=用户名
# 配置你的密码,默认admin
- LANPROXY_PASSWORD=密码
volumes:
# 用于保存创建的配置文件,避免重启服务后配置消失
- /data/docker/lanproxy-nat/docker-server/volume:/root/.lanproxy
ports: # 主机节点模式
- 8090:8090
- 4900:4900
- 4993:4993
- 9000-9100:9000-9100
restart: always
2.2.2 本地主机端配置
docker-compose.yml
version: '3.1'
services:
lanproxy-client:
image: franklin5/lanproxy-client
container_name: lanproxy-client
environment:
# 这里是在lanproxy后台配置的密钥
- LANPROXY_KEY=在云服务器lanproxy交互页面生成的client接入秘钥
# 服务器的ip,支持域名
- LANPROXY_HOST=云服务器的IP
restart: always
2.3 confluence 文档管理
进入我的dokcerhub可下载破解版的镜像,以及破解工具:https://hub.docker.com/repository/docker/andrewukz/confluence
docker-compose.yml
Confluence_New:
image: confluence:latest
privileged: false
restart: always
ports:
- 8090:8090
- 8091:8091
volumes:
- /data/docker/confluence/volume:/var/atlassian/application-data/confluence
dns:
- 223.5.5.5
- 223.6.6.6
三、搭建step to step
// TODO 待补充