自建内网穿透服务器 教你搭建只属于自己的内网穿透服务器(基于frp与zerotier moon服务器)

技术应用 2个月前 cdx
51 0

自建内网穿透服务器 教你搭建只属于自己的内网穿透服务器(基于frp与zerotier moon服务器)

准备材料:

1、台公网服务器:129.168.53.32(CentOS7.6-Docker20)

开始部署

远程工具连接到服务器。

一、基于Docker的FRP内网穿透部署
服务器搭建(FRPS)
创建配置文件

# 创建存放目录
sudo mkdir /etc/frp
# 创建frps.ini文件
nano /etc/frp/frps.ini
frps.ini内容如下:

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

# 身份验证
token = 12345678

安装代码:
docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

#服务器镜像:snowdreamtech/frps
#重启:always
#网络模式:host
#文件映射:/etc/frp/frps.ini:/etc/frp/frps.ini

中转客户端配置(FRPC)
服务器镜像:snowdreamtech/frpc
重启:always
网络模式:host
文件映射:/路径/frp/:/etc/frp/

配置文件示例:

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

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288

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

[ssh]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18022

[unRAID web]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18088

[Truenas web]
type = tcp
local_ip = 192.168.1.235
local_port = 80
remote_port = 18188

[speedtest]
type = tcp
local_ip = 192.168.1.229
local_port = 6580
remote_port = 18190

[webdav]
type = tcp
local_ip = 192.168.1.235
local_port = 18080
remote_port = 18189

[RDP PC1]
type = tcp
local_ip = 192.168.1.235
local_port = 3389
remote_port = 18389
如果监听服务可以有IP限制的设置,需要允许的访问IP为中转内网设备的内网IP;
FRP由于端口会暴露在互联网上,虽然说使用方便但安全性较差;

二、CentOS7.6-Docker20基于Docker基于Zerotier根服务器的内网穿透部署

创建(伪)根服务器 | 项目地址:https://github.com/Jonnyan404/zerotier-planet

docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=mrdoc.fun -p 4000:4000 keynetworks/ztncui

登录创建的zerotier服务器管理页面,

http://129.168.53.32:4000/

账户:admin

密码mrdoc.fun

设置一个虚拟网络,接着点击生成虚拟ip地址。

自建内网穿透服务器 教你搭建只属于自己的内网穿透服务器(基于frp与zerotier moon服务器)

三、创建 moon 服务器 | 项目地址:https://github.com/jonnyan404/docker-zerotier-moon

#创建容器
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 129.168.53.32

#查看moon ID
docker logs zerotier-moon

设备加入zerotier服务

1、群晖

群辉默认不允许SSH默认使用ROOT登陆,只能用admin登陆,从而使权限得到一定限制,导致使用WINSCP时部分文件夹无法显示或提示权限不够,那么应该怎么修改呢?
方法如下:
1. 控制面板 – 终端机和SNMP里,开启SSH功能。
2. 启用admin账号,控制面板-用户账号 开启admin

先用PuTTY,登录admin,输入密码。切换到用户root

sudo -i
cd /var/packages/zerotier/target/bin/
./zerotier-one -q join 867fb5955vcac3d4

提示:

1、867fb5955vcac3d4表示你创建的zerotier虚拟局域网id

2、200 join OK,表示加入成功

此时在 套件中心 停用再启用zerotier即可使用!

 

加入moon服务器

一、群晖加入moon服务器

cd /var/lib/zerotier-on

zerotier-cli orbit 4021cwc5d7 4021cwc5d7

提示:200 orbit OK,表示加入成功。

二、Windows 客户端加入moon服务器

cd C:\ProgramData\ZeroTier\One

zerotier-cli orbit 4021cwc5d7 4021cwc5d7

自动启用容器

1、自动启用ZeroTier服务

docker update –restart=always ztncui

2、自动启用zerotier-moon服务

docker update –restart=always zerotier-moon

 

栏目:技术应用 归档:2022年 06月 22日