• 服务器连接校园网


    服务器连接校园网(北京信息科技大学)的作用包括但不限于课程表开发、校园论坛开发,本文作者为 ThinkStu

    北京信息科技大学使用深信服开发的EasyConnect作为校园网连接软件,虽然该软件拥有 Linux 桌面版,但是安装图形界面不仅会占用大量系统资源,而且使用期间还经常会无缘无故掉线,无法提供稳定服务。

    docker-easyconnect是一款在 GitHub 开源的EasyConnect替代品,其不仅能够直接在命令行运行(无需安装图形界面),而且能够提供稳定服务(掉线自动登录)。

    搭建前准备:

    一台云服务器(这里我使用的是腾讯云 Centos7,Ubuntu 类似)

    大致架构:

    EasyConnect for Docker

    • 用户请求服务器 1080 端口。
    • 服务器将请求转发至 Docker 容器内部 1080 端口。
    • 容器访问校园网,获得数据并原路返回。

    开始搭建:

    一、安装 Docker

    服务器已经安装 Docker 的同学请跳过这一步!

    在服务器上执行以下指令,分别对 Docker 实现:卸载原有安装环境、安装、启动、设置自启动。

    sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二、运行 docker-easyconnect

    在服务器中执行以下语句,使用 Docker 下载并运行 docker-easyconnect(注意:请将其中的学号和校园网密码修改为你自己的)。

    docker run \
    --cap-add NET_ADMIN \
    --device /dev/net/tun \
    -it -p 0.0.0.0:1080:1080 \
    -e EC_VER=7.6.8 \
    -e CLI_OPTS="-d 222.249.253.5 -u 学号 -p 校园网密码" \
    --name=easyconnect hagb/docker-easyconnect:cli
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • –device /dev/net/tun:将TUN/TAP设备分配给容器,这是用于创建连接校园网通道的必要设备。
    • –cap-add NET_ADMIN:给容器分配网络管理员权限。
    • -p 0.0.0.0:1080:1080:将容器的 1080 端口映射到主机的 1080 端口,允许主机通过该端口与容器进行通信。
    • -d:校园网地址(必须为 ip 形式),例如:信息科大的校园网远程登录地址是https://vpn.bistu.edu.cn,经查 ip 指向222.249.253.5

    登录之后,如果出现这个界面则表示你已经将服务器连接至校园网,不过我们还有最后一步!

    image-20221001140927094

    三、开放服务器安全组限制

    注意:向外网开放 1080 端口可能会使服务器受到攻击,本示例开放端口只是为了演示,具体的安全策略需自行制定。

    登录腾讯云服务器网页,选择管理 → 安全组管理 → 手动添加安全组规则 → 开放 1080 端口。

    image-20221001141601501

    四、本地测试

    在你的电脑上执行以下语句,我们将使用服务器作为代理访问校园网服务(请修改为你自己的服务器 ip 地址):

    curl --socks5-hostname socks5://服务器ip地址:1080 https://info.bistu.edu.cn/
    
    • 1

    2

    如果你能看到下述页面,说明你已经成功运行docker-easyconnect,接下来我们就可以对外提供稳定的校内服务了!

    image-20221001142340906

  • 相关阅读:
    C++二分查找算法:查找和最小的 K 对数字
    Mysql中的not in和null
    云安全(2)--CAP_SYS_MODULE逃逸
    Jetpack的ViewModel与LiveData
    Codeforces Round 515
    面试系列之《Linux&Shell》(更新中)
    Websocket在Java中的实践——自动注册端点
    如何对ppt文件设置修改权限?
    获取线上手机App日志
    Java中如何调用静态方法及非静态方法呢?
  • 原文地址:https://blog.csdn.net/qq_35760825/article/details/127134130