之前学校教务处选课要内网,其它操作都不需要内网,某大召开后查课表都要内网了,各种不爽,so,撸了个树莓派上的ocserv的Docker镜像
内置了 0.11.9版的 ocserv、udp-broadcast-relay、0.16.0版的 frp(均为写博客时的最新版)
树莓派上具体使用方法如下:
1、 在服务器上部署 frp 服务器版, 我服务器是使用的 CentOS 7 x86_64wget 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,松开后再按Dexit
服务器上操作完毕, 后面的操作均为树莓派上操作
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.11中192.168.123.11需要修改为第一步的服务器地址
privilege_token=12345678中12345678需要与第一步 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步中添加的用户