bjdgyc / anylink

AnyLink是一个企业级远程办公 ssl vpn 软件,可以支持多人同时在线使用。基于 openconnect 协议开发,并且借鉴了 ocserv 的开发思路,可以完全兼容 AnyConnect 客户端。
GNU Affero General Public License v3.0
1.64k stars 392 forks source link

Anylink安装使用教程(tun模式) #71

Open jiaxinonly opened 2 years ago

jiaxinonly commented 2 years ago

Anylink安装使用教程

github地址:https://github.com/bjdgyc/anylink gitee地址:https://gitee.com/bjdgyc/anylink

演示环境

基础环境说明

阿里云ECS,内网网段172.24.128.0/20,使用tun模式,自签证书,0.7.2版本

名称 公网IP 内网IP 系统
ECS01 47.108.53.88 172.24.135.36 centos7.5 最小安装
ECS02 172.24.135.37 centos7.5 最小安装

ps: ECS02只是用于测试使用,我在上面安装了一个nginx用于测试访问web是否正常

查看网卡名称

在要安装anylink的服务器上,查看内网ip地址所绑定的网卡名,本次演示环境网卡名称为eth0 image-20220102142915312

防火墙开放

anylink需要一个端口供客户端远程连接,这里选择默认的443,并且还需要一个端口用于访问web管理后台,这里也选择默认的8800,如果有需要请自行更换,因为云服务器默认关闭了selinux和firewalld,使用安全组,所以需要在安全组上开放内网网段和两个公网访问端口(443和8800)即可。

image-20220102125414968

如果你是本地机房也需要开放一个公网IP地址+端口供客户端远程连接,并且关闭selinux和firewalld

  1. 关闭selinux

    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 永久关闭selinux(重启后生效)
    setenforce 0 # 临时关闭selinux(不需要重启,立即生效)
  2. 关闭firewalld

    systemctl stop firewalld # 临时关闭防火墙
    systemctl disable firewalld # 永久关闭防火墙

anylink 二进制包安装

安装和配置

  1. 下载anylink,本教程指定下载0.7.2版本,下载地址https://github.com/bjdgyc/anylink/releases/download/v0.7.2/anylink-deploy.tar.gz,用浏览器下载好后上传到服务器ECS01

  2. SSH到服务器ECS01,解压二进制包到/usr/local目录

    tar -xzvf anylink-deploy.tar.gz -C /usr/local/
  3. 进入anylink目录

    cd /usr/local/anylink-deploy
  4. 生成密码1q2w%3e4r的密文,请修改为你自己要设置的密码

    注意密码不能有$符号,会被当成变量,也可以用单引号包起来

    ./anylink tool -p 1q2w%3e4r

    image-20220102122211232

  5. 生成jwt密钥

    ./anylink tool -s

    image-20220102122347645

  6. 进入conf配置目录

    cd conf
  7. 拷贝配置文件模板

    cp server-sample.toml server.toml
  8. 打开配置文件

    vi server.toml
  9. 修改如下部分,其他保持不变:

    #示例配置信息
    
    #其他配置文件,可以使用绝对路径
    #或者相对于 anylink 二进制文件的路径
    
    #数据文件
    db_type = "sqlite3"
    db_source = "./conf/anylink.db"
    #证书文件 使用跟nginx一样的证书即可
    cert_file = "./conf/vpn_cert.pem"
    cert_key = "./conf/vpn_cert.key"
    files_path = "./conf/files"
    profile = "./conf/profile.xml"
    #日志目录,为空写入标准输出
    log_path = "./log" # 添加日志文件路径
    log_level = "info" # 修改日志等级为info
    pprof = false
    
    #系统名称
    issuer = "anylink vpn" # 修改系统名称
    #后台管理用户
    admin_user = "admin"
    #pass 1q2w%3e4r   你可以将明文密码写在这里,不建议
    admin_pass = "$2a$10$lvOe.X6VFL/.uf/pN4q8CezUVViovYh2zT9UdeReuscNBEZz.WATm" # 填入第4步生成的密文
    jwt_secret = "iYP8MCJ0nswI2p0bMN6wnkQ2aVJxS_tg5rNX8NVcitqj3OferWzUZXNX1OvV" # 填入第5步生成的jwt密钥
    
    #服务监听地址
    server_addr = ":443" # 客户端要连接的端口,如果有需要请自行修改,安全组记得开放该端口
    #开启 DTLS, 默认关闭
    server_dtls = false
    server_dtls_addr = ":4433"
    #后台服务监听地址
    admin_addr = ":8800" # 后台管理端口
    #开启tcp proxy protocol协议
    proxy_protocol = false
    
    link_mode = "tun"  # 网络模式,只演示该模式,其他模式请自行参考github
    
    #客户端分配的ip地址池
    ipv4_master = "eth0" # 网卡名,前面查看绑定内网的网卡名称
    ipv4_cidr = "192.168.10.0/24" # 如果没有和内网网段冲突就不要改了,这个是分配给客户端的ip地址池,并且后面配置nat也要与这个地址池保持一致
    ipv4_gateway = "192.168.10.1"
    ipv4_start = "192.168.10.100"
    ipv4_end = "192.168.10.200"
    
    #最大客户端数量
    max_client = 100
    #单个用户同时在线数量
    max_user_client = 3
    #IP租期(秒)
    ip_lease = 1209600
    
    #默认选择的组
    default_group = "one"
    
    #客户端失效检测时间(秒) dpd > keepalive
    cstp_keepalive = 20
    cstp_dpd = 30
    mobile_keepalive = 40
    mobile_dpd = 50
    #session过期时间,用于断线重连,0永不过期
    session_timeout = 3600
    auth_timeout = 0
    audit_interval = -1
  10. 创建日志文件目录,请修改为自己配置的日志路径,不创建会启动失败,如果没有打开日志输出,可以跳过

    mkdir /usr/local/anylink-deploy/log
  11. 打开profile.xml文件

    vi profile.xml

12. 修改如下配置 (这步可以不设置)

```shell
<HostName>anylink vpn</HostName> # 第30行,最好与server.toml配置文件中的系统名称保持一致,用于客户端区分
<HostAddress>47.108.53.88:443</HostAddress> # 第31行,客户端连接地址,域名加端口,或者IP加端口
```
![image-20220102151002435](https://user-images.githubusercontent.com/57223696/147929183-ac276ca6-5acd-4895-a477-2dd4df41342f.png)

生成自签证书

你可以购买证书或者使用免费的证书,这里使用自签证书,根证书和根私钥生成一次后,可以保留,给所有项目使用,就不用重复信任根证书了

  1. 创建配置文件,请修改为自己IP地址和域名

    cat > openssl.cnf << EOF
    # ca根证书配置
    [ ca ]
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid:always,issuer
    basicConstraints = critical,CA:true
    
    # HTTPS应用证书配置
    [ crt ]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier=keyid:always,issuer
    basicConstraints = critical, CA:false
    keyUsage = critical, digitalSignature, cRLSign, keyEncipherment
    extendedKeyUsage = critical, serverAuth, clientAuth
    subjectAltName=@alt_names
    
    # SANs可以将一个证书给多个域名或IP使用
    # 访问的域名或IP必须包含在此,否则无效
    # 修改为你要保护的域名或者IP地址,支持通配符
    [alt_names]
    IP.1 = 47.108.53.88 # 公网IP地址
    DNS.1 = anylink.com # 访问的域名,没有域名可以删掉
    EOF
  2. 生成根私钥

    openssl genrsa -out root.key 4096
  3. 生成根证书请求文件

    C:所在国家 (Country),只能是两位字母缩写 ST:所在省份(State) L:所在城市(Locality) O:所在组织(Organization) OU:所在部门(Organization Unit) CN:公用名,即域名(Common Name)

    openssl req -new -key root.key  -out root.csr -subj "/C=CN/ST=Sichuan/L=Chengdu/O=anylink/OU=anylink/CN=anylink.com"
  4. 生成根证书

    -req: 证书请求 -extfile:扩展文件配置和-extensions参数使用 -extensions:扩展配置 -in:证书请求文件 -out:证书输出文件 -signkey:签名的私钥 -days:有效期

    openssl x509 -req -extfile openssl.cnf -extensions ca -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650
  5. 生成vpn的私钥

    openssl genrsa -out vpn_cert.key 4096
  6. 生成vpn证书的请求文件

    openssl req -new -key vpn_cert.key -out vpn_cert.csr -subj "/C=CN/ST=Sichuan/L=Chengdu/O=anylink/OU=anylink/CN=anylink"
  7. 签发vpn证书

    openssl x509 -req -extfile openssl.cnf -extensions crt -CA root.crt -CAkey root.key -CAserial vpn_cert.srl -CAcreateserial -in vpn_cert.csr -out vpn_cert.pem -days 3650
  8. 删除多余的中间文件,删除后,应该剩下root.crt、root.key、vpn_cert.pem、vpn_cert.key这4个文件

    rm -rf  root.csr vpn_cert.csr vpn_cert.srl openssl.cnf

    image-20220102150331116

  9. 拷贝根证书到files文件夹下,供客户端下载

    cp root.crt files/

配置NAT

  1. 开启服务器ipv4转发

    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
  2. 立即生效

    sysctl -p

    image-20220102152058065

  3. 设置nat,请替换网卡名称为前面查看的内网网卡名称,另外,如果server.toml文件里面客户端的IP地址池不是默认的192.168.10.0/24,也请修改为对应的IP地址池

    iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
  4. 查看设置是否生效

    iptables -nL -t nat

    image-20220102152553868

  5. 安装iptables-services,用于保存iptables配置,永久生效

    yum install -y iptables-services
  6. 设置开机自启

    systemctl enable iptables.service
  7. 保存当前iptables设置

    service iptables save

    image-20220102153108201

启动anylink

  1. 复制service文件到系统中

    cp /usr/local/anylink-deploy/systemd/anylink.service /usr/lib/systemd/system/
  2. 启动anylink

    systemctl start anylink
    systemctl enable anylink
  3. 查看启动状态

    systemctl status anylink

    image-20220102153647504

浏览器访问后台管理

  1. 访问地址公网IP+端口(默认8800),输入账号(admin)和 密码(1q2w%3e4r)点击登陆

    http://47.108.53.88:8800

    image-20220102154059782

  2. 添加邮箱配置,这里用QQ邮箱演示,其他邮箱请自行百度,另外密码是不是QQ密码,是授权码,不清楚也请百度

    image-20220102163309846

  3. 设置邮件内容

    image-20220102160006909

  4. 添加用户组

    image-20220102154608086

  5. 再添加一个测试组,来测试一下访问权限

    image-20220102154804702

  6. 添加用户zhangsan

    image-20220102160552077

  7. 添加用户lisi

    建议所有用户使用统一的PIN码+OTP的方式登陆,这里为了演示,使用了不同的PIN码,PIN码是固定的,用户无法自行更改不要设置太复杂了哈

    image-20220102161022860

  8. 查看邮件

    image-20220102165500974 image-20220102165545641

    客户端使用

你可以将各种客户端安装包和使用教程放入/usr/local/anylink-deploy/conf/files目录下,然后在邮件里面写入下载地址供用户下载,邮件里面默认的info.txt文件也是对应该文件夹下的info.txt,客户端在压缩包里面,也可以去QQ群里下载,或者自行百度下载

压缩包文件: FreeOTP.apk 安卓OTP软件安装包,ios请自行在应用商店下载,无法提供安装包 anyconnect-win-4.10.00093.msi win10 anyconnect安装包 anyconnect-macos-4.10.00093.dmg mac anyconnect安装包 anyconnect-4.9.06048.apk 安卓 anyconnect安装包 anyconnect-linux64-4.10.04065.tar.gz linux anyconnect安装包

手机安装OTP软件

此项是非必须的,如果开通用户时,禁用了OTP(一次性密码,每隔30秒更换一次动态密码),就不需要安装

  1. 下载安装包,点击安装即可
  2. 安装好后,点击右上角二维码,扫描邮件中的二维码,扫描好后,会多出一条配置,点一下就可以看6位的动态码

win10

安装客户端

  1. 安装客户端anyconnect,双击下载的安装包,点击Next按钮

    image-20220102170120159

  2. 选择我同意,在点击Next

    image-20220102170140233

  3. 点击Install

    image-20220102170202067

  4. 点击Finish

    image-20220102170233622

信任根证书

温馨提示:不要轻易信任一个未知来源的根证书,会有安全风险

  1. 浏览器下载根证书

    如果下载后,找不到文件,可能被防火墙或者其他安全软件删除了

      https://47.108.53.88:443/files/root.crt
  2. 双击证书安装

    image-20220102173201859

  3. 选择本地计算机

    image-20220102173230616

  4. 选择受信任的根证书颁发机构

    image-20220102173515199

  5. 点击完成

    image-20220102173546203

  6. 浏览器访问验证

    如果还是提示不安全,关掉浏览器,重新访问试试

      https://47.108.53.88:443/

    image-20220102173748186

连接

  1. 双击运行anyconnect,在启动项里有快捷方式

    默认安装路径C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client

    image-20220102170803545

  2. 输入邮件收到的连接地址,点连接

    image-20220102174444625

  3. 输入用户和密码,PIN码是在创建用户的时候设置的,邮件上也有,后面6位670160是手机OTP软件上扫描二维码后的6位动态码,手速要快哈

    image-20220102174655433

  4. 这个提示可以在管理后台邮件内容那里修改哈

    image-20220102192332103

  5. 连接成功

    image-20220102175118813

  6. ping内网试试

    image-20220102175226668

  7. 浏览器访问ECS02上的nginx服务

    image-20220102180202220

  8. 断开连接,登录过一次后,客户端会保留上次的连接配置,配置名称对应profile.xml文件中的HostName,连接地址对应HostAddress,详见安装和配置的第12步,注意目前只能保存一个配置,不知道为什么

    image-20220102180802646

  9. 使用李四的账号登录,注意OTP软件,同一个邮箱同一个anylink服务端,只能保存一个账号的动态码,这里是我是将张三的动态码删除,再扫描李四的动态码,如果你实在需要一个anylink服务端使用同一个邮箱,你可以在后台将两个账号的OTP密钥设置成一样的

    image-20220102181538253

  10. ping测试,符合测试组的权限,只能访问ECS01(172.24.135.36)

    image-20220102182332672

另外你可以查看一下自己电脑的IP地址,会发现正是server.toml配置文件中IP地址池中的地址,并且在服务器上,也自动创建了一张网卡,网卡IP地址跟你电脑上的一样

image-20220102182736105

image-20220102182808347

mac

没有mac,图片网上截的,可能不清晰,也没有验证

安装客户端

  1. 双击下载的安装包,然后双击如下图标

    image-20220102184322442

  2. 然后点击继续按钮

    image-20220102184348126

  3. 再点击继续按钮

    image-20220102184413610

  4. 弹框处点击同意按钮

    image-20220102184439407

  5. 安装类型只选择 VPN 即可,然后点击继续

    image-20220102184454000

  6. 然后点击安装

    image-20220102184520617

  7. 验证账号密码,点击安装软件

    image-20220102184552544

  8. 成功安装后如图

    image-20220102184623179

信任根证书

温馨提示:不要轻易信任一个未知来源的根证书,会有安全风险

  1. 浏览器下载根证书

      https://47.108.53.88:443/files/root.crt
  2. 双击钥匙串访问,选择系统选项,点击加号,找到找到证书文件

    image-20220102184739877

    1. 选中证书文件,点击打开

    image-20220102184815764

    1. 双击导入的证书文件,将信任项修改为始终信任

    image-20220102184954768

    1. 点击证书文件的小三角,然后双击专用秘钥

    image-20220102185023029

  1. 修改访问控制项为允许所有程序访问

    image-20220102185042607

连接

参考win10吧

安卓

安装客户端

  1. 下载后点击安装就行了,部分手机可能会提示不安全,让你去应用商店下载或者自行百度解决

信任根证书

温馨提示:不要轻易信任一个未知来源的根证书,会有安全风险

另外也可以在设置里面去掉阻止不信任的服务器勾选,然后连接时选择导入并保存证书

  1. 浏览器下载根证书

      https://47.108.53.88:443/files/root.crt
  2. 点击证书安装

    image-20220102185950839

  1. 设置证书名称

    image-20220102190543312

连接

  1. 打开app,点击连接

    image-20220102190652517

  2. 添加连接

    image-20220102190728694

  3. 设置连接地址

    image-20220102190823427

  4. 点击连接

    image-20220102191100426

  5. 连接成功

    image-20220102191350469

    image-20220102191456782

linux

这里以centos7.5为演示,其它linux系统类似

安装客户端

  1. 下载安装包

  2. 创建目录

    mkdir /usr/local/anyconnect
  3. 解压到目录

    tar -xzvf anyconnect-linux64-4.10.04065.tar.gz --strip-components=1 -C /usr/local/anyconnect
  4. 进入安装目录

    cd /usr/local/anyconnect/vpn
  5. 开始安装

    ./vpn_install.sh

    image-20220102193208066

    信任根证书

温馨提示:不要轻易信任一个未知来源的根证书,会有安全风险

  1. 下载根证书

      wget --no-check-certificate https://47.108.53.88:443/files/root.crt

    image-20220102193509392

  2. 移动根证书到受信任的证件夹下并重命名

    不同linux系统,信任根证书的路径可能不一样请自行百度

      cp root.crt /etc/pki/ca-trust/source/anchors/anylink-ca.crt
  1. 更新信任证书列表

    update-ca-trust

连接

  1. 连接vpn

    /usr/local/anyconnect/vpn/vpn connect 47.108.53.88:443

    image-20220102194351051

  2. 查看连接状态

    /usr/local/anyconnect/vpn/vpn -s stats

    image-20220102194508198

  3. ping测试

    image-20220102194713400

  4. 断开连接

    /usr/local/anyconnect/vpn/vpn -s disconnect 47.108.53.88:443

    image-20220102194825764

anylink 编译安装

编译安装需要golang >= 1.16nodejs >= 14.x环境

安装golang

  1. 下载golang,本教程指定下载1.17.5,更多版本请访问https://studygolang.com/dl

    wget https://dl.google.com/go/go1.17.5.linux-amd64.tar.gz
  2. 解压到目录

    tar -xzvf go1.17.5.linux-amd64.tar.gz -C /usr/local
  3. 打开环境变量文件

    vi /etc/profile
  4. 在末尾添加如下变量

    export GO_HOME=/usr/local/go
    export PATH=$PATH:${GO_HOME}/bin

    image-20220102202058063

  5. 立即生效

    source /etc/profile
  6. 查看版本

    go version

    image-20220102200529189

    安装nodejs

  7. 下载nodejs,本教程指定下载16.13.1,更多版本请访问https://nodejs.org/zh-cn/

    wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz
  8. 创建安装目录

    mkdir /usr/local/nodejs
  9. 解压到目录

    tar -xvf node-v16.13.1-linux-x64.tar.xz --strip-components=1 -C /usr/local/nodejs/
  10. 打开环境变量文件

    vi /etc/profile
  11. 末尾修改为如下

    export GO_HOME=/usr/local/go
    export NODEJS_HOME=/usr/local/nodejs
    export PATH=$PATH:${GO_HOME}/bin:${NODEJS_HOME}/bin

    image-20220102202238445

  12. 立即生效

    source /etc/profile
  13. 查看版本

    node -v

    image-20220102202341211

    编译anylnk

  14. 下载源码包https://codeload.github.com/bjdgyc/anylink/tar.gz/refs/tags/v0.7.2,本教程指定下载0.7.2,下载好了上传到服务器

  15. 解压包

    tar -xzvf anylink-0.7.2.tar.gz
  16. 进入目录

    cd anylink-0.7.2
  17. 编译

    sh build.sh
  18. 编译好后,将部署文件移动到/usr/local目录下

    mv anylink-deploy /usr/local
  19. 剩下的步骤请参考二进制包安装了

jiaxinonly commented 2 years ago

压缩包,QQ群下载吧,上传不了。。。

jiaxinonly commented 2 years ago

启动anylink的第二步systemctl start anylink后,再设置一下开机自启systemctl enable anylink

jiaxinonly commented 2 years ago

防火墙开放的第二步关闭firewalld的正确命令为:

systemctl stop firewalld # 临时关闭防火墙
systemctl disable firewalld # 永久关闭防火墙
sunteta commented 2 years ago

教程有二处错误。需要更正。不然会无法启动 和 无法访问管理WEB页面

1、自签证书: 楼主的教程自生成证书会有一定机率不能使用(下面有推荐使用SSL自动申请教程)。按着做就可以了。 但是。将证书copy到服务端使用和客户端使用没写明白。同时客户端证书生成用这个方法可行。所以还是做一下。 比方:证书生成在root文件夹下

#服务端 证书(自签可有一定机率启动不了)
cp vpn_cert.key vpn_cert.pem /usr/local/anylink-deploy/conf/
#客户端 证书(可用)
cp root.crt /usr/local/anylink-deploy/conf/files/

推荐: 强烈建议使用SSL 自动申请功能。服务端不要用自签证证书 https://owo.misaka.rest/acme-1key/ Acme.sh 一键申请证书脚本及说明

PS:如果之前用自签SSL启动不了。然后换上自动申请SSL也启用不了。重装直接用自动申请的。解决。

2、防火墙要关。楼主写错了,楼上是对的。请永久关闭防火墙。不然无法访问。访问时要加https://

# 永久关闭防火墙
systemctl disable firewalld 

这一步要重启,如果不想重启,要加多一步

# 临时关闭防火墙
systemctl stop firewalld 

3、日志

#日志有一定机率是写入不成功。建议用绝对地址
log_path = "/usr/local/anylink-deploy/log" # 添加日志文件路径

这样你就可以正常用了。修证教程。 以上本人总结经验和规坑指南。多次已成功。

boy461205160 commented 2 years ago

@sunteta 确定日志路径,根本启动不了,注释掉日志相关参数,就可以了 版本是0.7.4 MASQUERADE all -- 192.168.10.0/24 0.0.0.0/0 ServerCfg: &{Conf:/app/conf/server.toml Profile:./conf/profile.xml ServerAddr::443 ServerDTLSAddr::4433 ServerDTLS:false AdminAddr::8800 ProxyProtocol:false DbType:mysql DbSource:anylink:curdboy@tcp(10.1.251.93:3306)/anylink?charset=utf8 CertFile:./conf/ssl/tmt167.top.cer CertKey:./conf/ssl/tmt167.top.key FilesPath:./conf/files LogPath:/data/anylink/log LogLevel:info Pprof:false Issuer:xxxxxxxxxxx AdminUser:root AdminPass:$2a$10$EdYE67dPE83dDOjc1o0vpOfSPwph5wQvLW5MujCnXmuhfEQkYt10. JwtSecret:XxiyfnR9HgtWEAYdTRjZSy2uzMEIKdrXbBYiD_f8QD-10v93e_8oW5vqq3Go9FTTamuLTIIY LinkMode:tun Ipv4Master:eth0 Ipv4CIDR:192.168.10.0/24 Ipv4Gateway:192.168.10.1 Ipv4Start:192.168.10.100 Ipv4End:192.168.10.200 IpLease:1209600 MaxClient:100 MaxUserClient:3 DefaultGroup:one CstpKeepalive:20 CstpDpd:30 MobileKeepalive:40 MobileDpd:50 SessionTimeout:3600 AuditInterval:-1} panic: open /data/anylink/log/anylink.log: no such file or directory

ls -ld /data/anylink/log/

drwxr-xr-x 2 root root 6 Jul 7 15:05 /data/anylink/log/ 目录是存在得,应该有bug

jiaxinonly commented 2 years ago

image 有创建目录的操作,你应该漏掉了

boy461205160 commented 2 years ago

@jiaxinonly /data/anylink/log/ # 就是手动创建得日志存储目录

jiaxinonly commented 2 years ago

那你检查一下是否是相对路径与绝对路径的问题

boy461205160 commented 2 years ago

配置文件用得绝对路径 ..........

日志目录,为空写入标准输出

log_path = "./log"

log_path = "/data/anylink/log log_level = "info" pprof = false .....

jiaxinonly commented 2 years ago

你用相对路径试试

boy461205160 commented 2 years ago

没用 :20 CstpDpd:30 MobileKeepalive:40 MobileDpd:50 SessionTimeout:3600 AuditInterval:-1} panic: open log/anylink.log: no such file or directory

goroutine 1 [running]: github.com/bjdgyc/anylink/base.(*logWriter).newFile(0xc000117710) /anylink/server/base/log.go:63 +0xa7 github.com/bjdgyc/anylink/base.initLog() /anylink/server/base/log.go:76 +0x131 github.com/bjdgyc/anylink/base.Start() /anylink/server/base/start.go:6 +0x25 main.main() /anylink/server/main.go:28 +0x6f

[root@Docker-App /data/anylink 16:19:24]

ls log/anylink.log

log/anylink.log

[root@Docker-App /data/anylink 16:19:49]

grep conf/

anylink.db files/ profile.xml server.toml ssl/

[root@Docker-App /data/anylink 16:19:49]

grep log conf/server.toml

log_path = "./log"

log_path = "/data/anylink/log"

log_level = "debug"

yzazzx2021 commented 1 year ago

我也来补一下防火墙规则的坑,红帽系的防火墙规则永久保存是需要依赖rc.local的。 先为rc.local赋予开机执行权chmod a+x rc.local 再将规则保存到iptables-save > /etc/iptables.conf这个文件里 最后在rc.local写入iptables-restore < /etc/iptables.conf 即可完成防火墙持久化操作 还有,Linux状态下的所有二进制的脚本以及程序包都需要先授予执行权才可以使其能够开机自启。 chmod +x 脚本名

919137049 commented 1 year ago

[Tue Jul 25 10:40:51 EDT 2023] Your cert is in: /root/.acme.sh/it-nmg.cn/it-nmg.cn.cer [Tue Jul 25 10:40:51 EDT 2023] Your cert key is in: /root/.acme.sh/it-nmg.cn/it-nmg.cn.key [Tue Jul 25 10:40:51 EDT 2023] The intermediate CA cert is in: /root/.acme.sh/it-nmg.cn/ca.cer [Tue Jul 25 10:40:51 EDT 2023] And the full chain certs is there: /root/.acme.sh/it-nmg.cn/fullchain.cer

请问我用asme 生成的证书,对应server配置文件 cert_file = "./conf/vpn_cert.pem" cert_key = "./conf/vpn_cert.key" 应该用那两个?

服务端证书用asme脚本,客户端证书root.crt的还是按照这个原文来生成吗? 还望大佬指点以下 万分感觉。

bjdgyc commented 1 month ago

请问这个可以客户端免登录,直接访问内网吗(通过配置anylink vpn实现)

现在不支持这个操作

bjdgyc commented 1 month ago

可以试试 wireguard 组网产品

jiaxinonly commented 1 month ago

请问这个可以客户端免登录,直接访问内网吗(通过配置anylink vpn实现)

现在不支持这个操作

那有什么建议能够实现:比如公司(aaaa)地址直接访问内网,其他地方需拨号vpn访问了(目前我了解可以购买阿里云ipsec+公司带有ipsec路由器实现,但费用太高了)

不知道你为什么会有这样的需求,个人电脑直接登陆不行吗?既然是企业使用就应该是分用户管理,企业购买一个带ipsec的路由器不贵吧?几千就能搞定,再不然二手也行?最坏的情况下使用软路由,软路由登陆vpn,其他设备连接到软路由下

jiaxinonly commented 1 month ago

请问这个可以客户端免登录,直接访问内网吗(通过配置anylink vpn实现)

现在不支持这个操作

那有什么建议能够实现:比如公司(aaaa)地址直接访问内网,其他地方需拨号vpn访问了(目前我了解可以购买阿里云ipsec+公司带有ipsec路由器实现,但费用太高了)

不知道你为什么会有这样的需求,个人电脑直接登陆不行吗?既然是企业使用就应该是分用户管理,企业购买一个带ipsec的路由器不贵吧?几千就能搞定,再不然二手也行?最坏的情况下使用软路由,软路由登陆vpn,其他设备连接到软路由下

已有一个带ipsec的路由;那自建的开源的ipsec vpn能实现吗(比如公司(aaaa)地址直接访问内网,其他地方需拨号vpn访问了)

理论上是可以的,都是ipsec