本文由团队成员『Sunshine』老师编写
搭建holer服务端实现端口映射
关于holer官网:
http://wdom.net/
项目地址:
https://github.com/wisdom-projects/holer-client
Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。
由于在家需要连接公司内网主机,尝试了向日葵等工具,发现使用起来体验很差,RDP画质低,限速在300KB每秒。查阅了一番资料后准备使用holer搭建服务端,将内网主机的RDP流量转发到公网的holer服务端,在家中使用远程桌面连接服务端,以此实现远程办公。
holer有两种方式做端口映射,下文中将介绍这两种映射方法。
使用公开的holer映射或者开通holer服务github中公开了一些映射的key,应该是作者自己搭建的holer服务端,但应该是每天限时的,在映射成功30分钟后就断开了。
开通holer服务,需要添加作者微信向作者购买key,以下是它的资费,觉得还是挺不划算的。
1、需要准备一台有公网IP地址的服务器,这里我使用了云服务器用于搭建,系统是centos 7.6
2、需要下载server端文件,下载地址:
https://github.com/wisdom-projects/holer/releases
3、需要安装java 1.8以上版本,我配置好yum源为国内源后,直接yum安装
yum -y install java
安装成功后查看java版本
java -version
4、需要安装并启动nginx,同样使用yum安装
yum -yinstall nginx
systemctlstart nginx
systemctlstatus nginx(查看nginx服务的信息,主要是看下安装路径,稍后会用到)
5、需要安装MariaDB并设置root用户密码
在MariaDB的官网上给出了安装方法
官网:
https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64--centos7&mirror=truenetwork&version=10.3
在/etc/yum.repos.d目录中新建MariaDB.repo文件,内容按官网的内容设置
生成yum缓存
yum cleanall
yummakecache
由于是国外地址,所以下载速度会很慢,可能会下载失败
yum installMariaDB-server MariaDB-client
安装成功后启动MariaDB
systemctlstart mariadb
设置开机启动MariaDB
systemctlenable mariadb
配置MariaDB,主要是设置密码
mysql_secure_installation
6、设置安全规则,允许访问holer服务端端口6060、600以及端口映射规则所涉及的端口
centos 7使用的是firewall不是iptables,其他linux系统需要在iptables中设置
firewall-cmd--zone=public --add-port=600/tcp --permanent
firewall-cmd--zone=public --add-port=700/tcp --permanent
firewall-cmd--zone=public --add-port=6060/tcp --permanent
重新载入 返回success 代表成功
firewall-cmd--reload
查看 返回 yes 代表开启成功
firewall-cmd--zone=public --query-port=600/tcp
查看所有打开端口
firewall-cmd--zone=public --list-ports
将下载成功的holer-server文件解压,打开配置文件holer-server/resources/application.yaml
设置数据库用户名和密码
7、修改域名和Nginx主目录
填写nginx目录,本机目录为/etc/nginx(nginx -t 可以查看目录)
如果注册备案过域名,在domain:这项中填写域名,如果没有域名,忽略此配置。
8、修改holer默认用户名和密码
vim holer-server/resources/conf/holer-data.sql
9、启动holer服务端
进入holer-server/bin目录,给holer文件添加权限并启动holer服务端
chmod 755holer bash holer start
10、创建用户
访问http://IP:600
添加用户,key不填,使用自动生成
11、创建端口映射
12、复制好访问密钥,在内网主机中下载holer-client文件
下载地址:
https://github.com/wisdom-projects/holer-client/releases
holer客户端有java和go两种版本可以选择,java需要安装1.7或以上版本,这里使用的是java版本
进入holer-client/bin目录,启动holer客户端
bashstartup.sh
关闭holer客户端
bashshutdown.sh
根据提示输入holeraccess key和holer server host
holer accesskey为服务端中复制的密钥
holer serverhost为服务端IP或域名,无需设置端口,服务端会自动查找绑定的端口
这里我设置转发的端口是内网的3389到公网的700,所以远程桌面时填写holer服务端的ip:port即可
![7ce4bd1c177a5ece79cf10768fcd9b15.gif](https://i-blog.csdnimg.cn/blog_migrate/268cf929f3bd6b6afab78deeb719b1bc.gif)
![7ce4bd1c177a5ece79cf10768fcd9b15.gif](https://i-blog.csdnimg.cn/blog_migrate/268cf929f3bd6b6afab78deeb719b1bc.gif)