撸了个树莓派上的ocserv的Docker镜像

之前学校教务处选课要内网,其它操作都不需要内网,某大召开后查课表都要内网了,各种不爽,so,撸了个树莓派上的ocserv的Docker镜像

Dockerfile 在 https://github.com/ilanyu/rpi-ocserv

内置了 0.11.9版的 ocserv、udp-broadcast-relay、0.16.0版的 frp(均为写博客时的最新版)

树莓派上具体使用方法如下:

1、 在服务器上部署 frp 服务器版, 我服务器是使用的 CentOS 7 x86_64

wget https://github.com/fatedier/frp/releases/download/v0.16.0/frp_0.16.0_linux_amd64.tar.gz
tar -zxvf frp_0.16.0_linux_amd64.tar.gz
cd frp_0.16.0_linux_amd64
yum install -y vim
vim frps_full.ini

根据自己需要修改frps_full.ini, 需要注意里面privilege_token的值要和树莓派中使用的值一致, 修改好后继续下面的操作

yum install -y screen
screen ./frps -c frps_full.ini

按下Ctrl+A,松开后再按D

exit

服务器上操作完毕, 后面的操作均为树莓派上操作

2、 安装 Docker 程序

su
curl -sSL https://get.daocloud.io/docker | sh
usermod -aG docker pi
systemctl enable docker
systemctl start docker
reboot

3、 下载 Docker 镜像

docker pull ilanyu/rpi-ocserv

4、 运行 Docker 镜像

docker run --restart=always --name ocserv --privileged -p 4443:4443 -p 4443:4443/udp -e "BCPort=3801" -e "server_addr=192.168.123.11" -e "privilege_token=12345678" -d ilanyu/rpi-ocserv

命令中BCPort=3801为 UDP 广播端口号,之前遇到过一款叫泰拉瑞亚的可局域网联机游戏,不支持自己输入服务器IP,研究发现是使用的 3801 端口的 UDP 广播探测的服务器, ocserv 不转发广播包,配合udp-broadcast-relay后可转发 UDP 广播

server_addr=192.168.123.11192.168.123.11需要修改为第一步的服务器地址

privilege_token=1234567812345678需要与第一步 frps_full.ini文件中privilege_token一致

运行该命令后等待1分钟后继续下面操作

5、 删除原 test 用户

docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd -d test

6、 添加自己的用户

docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd 用户名

回车后输入新密码

以上操作完成后,手机上下载OpenConnect第一步中的服务器地址:4443 为服务器地址,用户名及密码为第6步中添加的用户

标签: Docker, 树莓派

已有 7 条评论

  1. judder judder

    使用license server激活Datagrip时,报错,能帮忙看看这么弄吗?
    2018/03/01 09:16:17 ** Alipay donation: [email protected] **
    2018/03/01 09:16:17 ** Please support genuine!!! **
    2018/03/01 09:16:17 ** listen on 0.0.0.0:1017... **
    2018/03/01 09:16:17 ** You can use http://127.0.0.1:1017 as license server **
    2018/03/01 09:16:17 *************************************************************
    2018/03/01 09:16:17 listen tcp4 0.0.0.0:1017: bind: permission denied

    [进程已完成]

    1. AK88 AK88

      @judder感觉像是端口被占用了,换一个试试???

    2. MoonFruit MoonFruit

      @judder
      1024 以下的端口是要 root 权限来监听的,所以要么换一个 1024 以上的端口,要么使用 root 用户来启动。

      1. judder judder

        mac里root用户不知道密码啊,网上确实也让换个大点的端口。

        1. MoonFruit MoonFruit

          @judder mac 上直接用管理员密码 sudo 就好了撒

          1. judder judder

            @MoonFruit我换了个注册的服务器,已经激活了。Mac上管理员密码是啥?第一次登陆的那个也只是个访客账号吧?

          2. MoonFruit MoonFruit

            @MoonFruit 你自己的账号难道不是管理员?初始账号肯定是管理员账号撒。。。
            “设置->用户与群组->允许用户管理这台电脑”

评论已关闭