Docker②_安装部署Anylink_VPN

目录

1. Anylink项目介绍

2.1 安装Docker环境

2.2 pull 镜像

2.3 创建密码

2.4 修改自己的配置文件

2.6 Linux虚拟机开放端口

2.6 交换机防火墙对外开放ssl端口

2.7 检查状态


1. Anylink项目介绍

        AnyLink是TmaxSoft的MCI(Multi-Channel Integration,多渠道整合)解决方案,旨在将大量异构的系统连接在一起,生成一个整合的平台。它遵循国际标准,支持大多数技术,包括从大机到Web Service等,能够迅速应对多变的业务环境。AnyLink不仅适用于银行、保险等金融领域,还可应用于制造、通信、政府等所有具有对内外接口整合系统的领域,是最优化系统性能和扩展性的理想接口方案。

项目地址:

anylink: AnyLink是一个企业级远程办公 sslvpn 的软件,可以支持多人同时在线使用。基于 openconnect 协议开发,并且借鉴了 ocserv 的开发思路,可以完全兼容 AnyConnect 客户端。icon-default.png?t=N7T8https://gitee.com/bjdgyc/anylinkAnylink功能:

  1. 自动化转换消息
    • 自动截获并转换内部系统组件和外部Agent之间传递的消息(类型和编码)。
    • 自动转换各种数据类型(如XML, ebXML等)。
    • 支持多种通信协议(如SNA, TCP/IP, X.25, Serial等)。
    • 提供消息处理和错误的日志功能,减少错误频率。
    • 提供Attachment功能,开发人员可以集成自己的“用户定义逻辑”(C/Java)。
  2. 基于规则的管理
    • AnyLink Studio集成强大的GUI环境,管理员可以容易地定义消息转换规则。
    • AnyLink消息转换基于定义的规则,管理维护简单而强大。
    • AnyLink Admin实时监控和管理系统,自动化数据库通信进程的管理,降低错误率。
  3. 高可靠性/高性能/高扩展性
    • 通过AnyLink集群,提供异构系统环境中的Fail-Over特性。
    • 负载均衡和并行消息处理结构,增强大规模事务处理的性能。
    • 新的组件和渠道可以容易地集成到系统中。
    • 提供自动化的系统Fail-Over和错误恢复特性,最小化系统失败。
  4. 集成强大的安全特性
    • 用户权限通过在数据库中注册用户角色进行管理。
    • 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 的文件组织。


执行指令:

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防火墙设置

  1. 通过控制面板
    • 点击“开始”菜单,搜索“控制面板”。
    • 在控制面板中,选择“系统和安全” > “Windows Defender 防火墙”。
    • 点击左侧菜单中的“高级设置”。
  2. 通过运行命令
    • Windows + R键打开运行对话框,输入wf.msc(注意:这里部分资料中使用的是wf.msc,但实际上更常见的是wf.msc可能是一个误写,正确的命令是WF.msc的简化形式,即直接输入WF.msccontrol /name Microsoft.WindowsDefenderFirewall),然后点击“确定”。

2. 新建入站规则

  1. 选择规则类型
    • 在高级安全Windows防火墙窗口中,右键点击“入站规则”,选择“新建规则”。
    • 在新建入站规则向导中,选择“端口”,然后点击“下一步”。
  2. 配置端口
    • 选择“TCP”,并在“特定本地端口”框中输入55555
    • 点击“下一步”。
  3. 定义操作
    • 选择“允许连接”,然后点击“下一步”。
  4. 定义规则应用的范围
    • 你可以选择规则应用的网络类型(如域、专用、公用),或者选择“所有配置文件”。
    • 点击“下一步”。
  5. 命名规则
    • 为规则命名(例如“允许55555端口”),并可选地添加描述。
    • 点击“完成”。

3. 配置规则的作用域(如果需要限制特定IP)

如果你想要限制只有来自特定IP(如192.168.8.8)的流量才能访问55555端口,你需要进一步配置规则的作用域:

  1. 找到并编辑规则
    • 在高级安全Windows防火墙的入站规则列表中,找到你刚刚创建的规则。
    • 右键点击该规则,选择“属性”。
  2. 配置作用域
    • 在“作用域”选项卡中,点击“远程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操作。

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GR鲸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值