一个端口转发面板Docker:极光面板

手上的中转机多了,就需要一款群控的面板了。其实需求也很简单,能集中统一管理各中转机的iptables设置就好。目前,活跃的端口转发群控面板有极光面板闲蛋面板。对比之后,因为我实在无法接受ACG风格的UI,故选择了简洁的极光。

极光面板由在Google工作的Lei Shi开发,目前已更新到Ver.0.12.1,已支持iptables、socat、gost、ehco、v2ray、brook、wstunnel、shadowsocks、tinyPortMapper、Prometheus Node Exporter等端口功能,使用了近一个月,发现功能上和体验上足矣。

极光面板的原理就是使用被控机的账号SSH登录被控机,然后远程进行相关配置。被控机需使用 systemd,且 iptables 功能只支持安装了 iptables 的服务器,gost 只支持 linux x86 系统。 暂时只在 CentOS 7+,Debian 9+,Ubuntu 18+上测试通过。

一、安装Docker和Docker Compose

1、安装Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 启动并设置开机自启docker
systemctl enable --now docker

2、安装Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 如果/usr/local/bin不在PATH里
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

二、生成SSH密钥

如果你是直接用账号密码SSH登录被控,此项可以不用配置

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 跳过设置passphase即可

然后还需要将~/.ssh/id_rsa.pub里面的内容复制到被控机的~/.ssh/authorized_keys。

默认挂载~/.ssh/id_rsa作为连接服务器的密钥,如使用其他密钥或者不使用密钥可以删除

- $HOME/.ssh/id_rsa:/app/ansible/env/ssh_key

三、安装面板

1、拉取安装文件

mkdir -p aurora
cd aurora
wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml

2、配置安装文件

cd aurora
nano docker-compose.yml

按照官方文档,处于安全性考虑,建议修改

#POSTGRES的用户名和密码:POSTGRES_USER、POSTGRES_PASSWORD
#POSTGRES相应的链接:DATABASE_URL
#移除:ENABLE_SENTRY: 'yes'
#另外,我建议修改端口号为一个很不常见的随机端口号。

3、安装面板

docker-compose up -d

如果面板机是国内机,这个过程可能会很长,毕竟有个1.4GB的backend Docker镜像。

4、初始化

如果是第一次安装,则需要创建管理员用户

docker-compose exec backend python app/initial_data.py

四、备份和还原

1、备份

如果面板机需要迁移,则需要备份数据库

cd aurora
docker-compose exec postgres pg_dump -d aurora -U [配置安装文件时修改的POSTGRES用户名] -c > data.sql

2、还原

cd aurora
# 首先先把所有服务停下
docker-compose down
# 只启动数据库服务
docker-compose up postgres
# 在另外一个窗口,执行数据恢复
docker-compose exec -T postgres psql -d aurora -U [配置安装文件时修改的POSTGRES用户名] < data.sql
# 然后正常启动所有服务
docker-compose up -d

五、升级

cd aurora
wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml
docker-compose pull && docker-compose down --remove-orphans && docker-compose up -d

六、排错

我在使用过程中,碰到了如下两个问题,遂记录:

1、中转机重启后iptables记录丢失

这个问题,貌似在Ver0.12.1已经不存在了,但官方群有给出解决方案,需要登录中转机运行如下代码:

wget https://raw.githubusercontent.com/Aurora-Admin-Panel/backend/main/ansible/project/files/iptables-restore-centos.service -O /etc/systemd/system/iptables-restore.service
systemctl enable iptables-restore

如果国内中转机无法顺畅访问Github,我建议手动下载iptables-restore-centos.service,并上传到/etc/systemd/system/文件夹。

2、源于堆栈卷的问题

由于Ver.0.12版本引入了卷机制,为:deploy_app-data和deploy_db-data,在重装时,我出现了无法顺利导入恢复数据的问题,重装前,删除堆栈对应的卷即可。

七、界面

借用几张官方截图,以便大家有直观认知。

服务器管理页面

修改/添加服务器

服务器端口管理页面

添加/编辑端口

端口分配页面

端口设置 iptables

端口设置 gost

如上,打完收工!

 

Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments