目录
1. Anylink项目介绍
AnyLink是TmaxSoft的MCI(Multi-Channel Integration,多渠道整合)解决方案,旨在将大量异构的系统连接在一起,生成一个整合的平台。它遵循国际标准,支持大多数技术,包括从大机到Web Service等,能够迅速应对多变的业务环境。AnyLink不仅适用于银行、保险等金融领域,还可应用于制造、通信、政府等所有具有对内外接口整合系统的领域,是最优化系统性能和扩展性的理想接口方案。
项目地址:
- 自动化转换消息:
- 自动截获并转换内部系统组件和外部Agent之间传递的消息(类型和编码)。
- 自动转换各种数据类型(如XML, ebXML等)。
- 支持多种通信协议(如SNA, TCP/IP, X.25, Serial等)。
- 提供消息处理和错误的日志功能,减少错误频率。
- 提供Attachment功能,开发人员可以集成自己的“用户定义逻辑”(C/Java)。
- 基于规则的管理:
- AnyLink Studio集成强大的GUI环境,管理员可以容易地定义消息转换规则。
- AnyLink消息转换基于定义的规则,管理维护简单而强大。
- AnyLink Admin实时监控和管理系统,自动化数据库通信进程的管理,降低错误率。
- 高可靠性/高性能/高扩展性:
- 通过AnyLink集群,提供异构系统环境中的Fail-Over特性。
- 负载均衡和并行消息处理结构,增强大规模事务处理的性能。
- 新的组件和渠道可以容易地集成到系统中。
- 提供自动化的系统Fail-Over和错误恢复特性,最小化系统失败。
- 集成强大的安全特性:
- 用户权限通过在数据库中注册用户角色进行管理。
- AnyLink通过使用关键字算法和加密批处理的传输数据,确保所有交易安全可靠。
2. Docker安装部署Anylink
2.1 安装Docker环境
首先,确保你的机器上已经安装了Docker环境。如果尚未安装,可以通过官方Docker文档或相关教程进行安装。
安装Docker的方式因操作系统不一样而不一样,Centos参考:
1. 卸载系统之前可能安装的 docker(防止版本不一致,发生冲突)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装 Docker-CE 基本环境
安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
3. 启动 docker和查看docker服务状态( running 就是启动成功)
sudo systemctl start docker
sudo systemctl status docker
4. 设置 docker 开机自启
sudo systemctl enable docker
5. docker 的常用命令:
docker 命令官方文档:
https://docs.docker.com/engine/reference/commandline/docker/
docker 的常用命令:
#镜像命令
docker images:列出所有镜像
docker search [image]:搜索 Docker 镜像
docker pull [image]:拉取指定镜像
docker rmi [image]:删除指定镜像
#容器命令
docker ps:列出当前所有正在运行的容器
docker ps -a:列出所有容器,包括已经停止的容器
docker create [image]:创建一个新的容器,但不启动它
docker start [container]:启动一个容器
docker stop [container]:停止一个容器
docker rm [container]:删除一个容器
docker exec -it [container] [command]:在运行中的容器中执行命令
#其他命令
docker info:显示 Docker 系统信息
docker version:显示 Docker 版本信息
docker logs [container]:查看容器的日志
docker network ls:列出 Docker 网络
docker network create [network]:创建一个新的 Docker 网络
docker network connect [network] [container]:将容器连接到指定的 Docker 网络
docker network disconnect [network] [container]:将容器从指定的 Docker 网络中断开连接
6. 配置 docker 镜像加速
注意:针对 Docker 客户端版本大于 1.10.0 的用户,也可以直接通过修改daemon
配置文件/etc/docker/daemon.json
来使用其他的加速器。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docke
上述代码的意思是在本机创建/etc/docker
目录,创建文件daemon.json
,在其中输入下面的代码,然后 sudo systemctl restart docke 重启docker。
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
2.2 pull 镜像
启动之前需要先把anylink的镜像(本体程序)pull下来,才能启动它。由于国外的docker源被墙了,需要更换阿里云docker镜像源:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台(要登录阿里云)
配置好镜像源,就可以从阿里云pull镜像了:(在这之前再看看上面的docker常用命令)
docker pull bjdgyc/anylink:latest
用下列代码去检查
docker images
2.3 创建密码
因为后期设置密码时,密码是加密的,所以要先生成 明文密码 的 加密密码,这个密码用来登录vpn控制台网页,一个密码有两个东西,都是长字符串,生成后一定要保存下来
-
password加密串
-
jwt 验签串,一个加密对应串一个验签串
-
生成password加密串,整个 your_password 就是你要填的明文密码,一定要记住,后期加密后是看不见的。
docker run -it --rm bjdgyc/anylink tool -p your_password
-
生成jwt 验签串
docker run -it --rm bjdgyc/anylink tool -s
比如说我生成了一个密码:123456(最好是6位及以上),他的加密串和验签串为(这两个生成的字符串复制下来,后面要用到):
2.4 修改自己的配置文件
一般自己的vpn服务器的配置文件:server.toml,先进行修改:
-
admin_pass 就是上面的加密串
-
jwt_secret 就是对应的验签串
-
admin_user就是登录用户名
-
如果后继要换密码,直接按照上面的方式,生成新的密码的加密串和验签串,填到上面替换,重启就行了
-
注意:用户名是没有加密的,是单独的,是明文的
准备所有配置(conf文件夹)
启动之前要先把自己的 conf文件夹放入到 linux服务器中,如果有就不用,并且路径要为: /conf,目录为 /conf 的文件组织。
2.5 启动Anylink
执行指令:
docker run -d \
--name anylink \
--restart always \
--privileged=true \
-p 55555:443/tcp \
-p 55555:443/udp \
-p 8800:8800/tcp \
-p 8800:8800/udp \
-v /conf:/app/conf \
bjdgyc/anylink -c=/app/conf/server.toml
指令介绍:
- --name anylink 表示启动的容器名为anylink,名字不能重复
- --restart always ;配置了自动自启
下面配置了SSL端口的映射,以及后台页面的映射,比较重要,参考:
-p 55555:443/tcp
-p 55555:443/udp
#443是原ssl端口,现在改为了55555,所以登录后台vpn,用的地址为
#55555 就是这里设置的端口-p 8800:8800/tcp
-p 8800:8800/udp 8800是vpn后台控制台的,比如访问 local:8800访问vpn控制台8800 就是这里的端口
- -v /conf:/app/conf 配置了映射,为什么说配置文件要在 /conf 目录里面,就是这里指定的,:号右边的/app/conf是写死的(原配置目录)
- bjdgyc/anylink 指定了启动的镜像名
- -c=/app/conf/server.toml 写死不需要改动,-c只是让容器依赖与这个文件。
2.6 Linux虚拟机开放端口
anlink安装在了linux中,必须开放: 55555端口,这样才能收到ssl请求 8800端口,这样才能登上vpn的后台管理页面,不同虚拟机开放方式不一样,具体参考网络。
VMware虚拟机开放方式参考:
如果你使用的是iptables,可以使用类似以下的命令来开放端口:
sudo iptables -I INPUT -p tcp --dport 55555 -j ACCEPT
sudo iptables-save > /etc/sysconfig/iptables
注意:iptables-save命令的输出可能需要根据你的Linux发行版进行调整。
如果你使用的是firewalld,可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=55555/tcp --permanent
sudo firewall-cmd --reload
最后,使用工具如telnet或nc(netcat)来测试55555端口是否已正确开放。你可以从虚拟机外部的主机或另一台计算机上进行测试。
telnet your-vm-ip 55555
# 或者
nc -zv your-vm-ip 55555
或者输入以下指令查看开放的端口:
netstat -ano -tcp
2.6 交换机防火墙对外开放ssl端口
因为ssl端口设置为了55555:
所以这里需要在 防火墙打开 55555端口,并且把55555端口的请求,映射到vpn服务器的55555端口:需要执行一系列步骤来配置Windows防火墙规则,以允许外部流量通过该端口。以下是详细的步骤:
1. 打开Windows防火墙设置
- 通过控制面板:
- 点击“开始”菜单,搜索“控制面板”。
- 在控制面板中,选择“系统和安全” > “Windows Defender 防火墙”。
- 点击左侧菜单中的“高级设置”。
- 通过运行命令:
- 按
Windows + R
键打开运行对话框,输入wf.msc
(注意:这里部分资料中使用的是wf.msc
,但实际上更常见的是wf.msc
可能是一个误写,正确的命令是WF.msc
的简化形式,即直接输入WF.msc
或control /name Microsoft.WindowsDefenderFirewall
),然后点击“确定”。
- 按
2. 新建入站规则
- 选择规则类型:
- 在高级安全Windows防火墙窗口中,右键点击“入站规则”,选择“新建规则”。
- 在新建入站规则向导中,选择“端口”,然后点击“下一步”。
- 配置端口:
- 选择“TCP”,并在“特定本地端口”框中输入
55555
。 - 点击“下一步”。
- 选择“TCP”,并在“特定本地端口”框中输入
- 定义操作:
- 选择“允许连接”,然后点击“下一步”。
- 定义规则应用的范围:
- 你可以选择规则应用的网络类型(如域、专用、公用),或者选择“所有配置文件”。
- 点击“下一步”。
- 命名规则:
- 为规则命名(例如“允许55555端口”),并可选地添加描述。
- 点击“完成”。
3. 配置规则的作用域(如果需要限制特定IP)
如果你想要限制只有来自特定IP(如192.168.8.8)的流量才能访问55555端口,你需要进一步配置规则的作用域:
- 找到并编辑规则:
- 在高级安全Windows防火墙的入站规则列表中,找到你刚刚创建的规则。
- 右键点击该规则,选择“属性”。
- 配置作用域:
- 在“作用域”选项卡中,点击“远程IP地址”下的“这些IP地址”。
- 点击“添加”,输入允许的IP地址(如192.168.8.8),然后点击“确定”。
- 点击“应用”,然后点击“确定”以保存更改。
4. 测试端口
完成上述步骤后,你可以使用工具如telnet或nc(netcat)来测试55555端口是否已正确开放。从另一台计算机上执行以下命令之一:
telnet your-vm-ip 55555
# 或者
nc -zv your-vm-ip 55555
如果连接成功,则表示55555端口已正确开放并可以从外部访问。如果连接失败,请检查防火墙规则是否已正确配置,并确保没有其他网络设备或软件阻止流量通过该端口。
2.7 检查状态
启动之后,使用命令检查正在执行的docker容器:
docker ps -a
结果很长,右边name一列找到anylink(docker run 所指定的容器名),查看 status列,如果显示 up xxx,就表示正在运行 访问 (自己Linux主机地址:开放的端口如192.168.8.8:88:00)192.168.8.8 为自己部署vpn的服务器,能访问基本就部署成功了。
浏览器访问成功就是以下页面:
输入用户名和密码后:
注意事项:
docker run anylinke指令只要执行一次就行了,执行完之后,就会一直有一个容器在docker中,之后就是docker restart anylinke、docker rm -f anylinke操作。
标签:Anylink,--,端口,sudo,55555,Docker,VPN,docker From: https://blog.csdn.net/GRrtx/article/details/140839533