2026-02-26 15:40:34 +08:00
|
|
|
|
ros 批量配置脚本
|
|
|
|
|
|
|
|
|
|
|
|
## 项目说明
|
|
|
|
|
|
|
|
|
|
|
|
这是一个半自动的批量配置脚本,用于按需批量配置 ros 服务,目前适用于极狐与极光的配置
|
|
|
|
|
|
|
|
|
|
|
|
脚本通过 ssl 方式连接到 ros 服务,在使用前需要下载 ros 的证书到 certs 目录下
|
|
|
|
|
|
|
|
|
|
|
|
**项目结构**
|
|
|
|
|
|
```
|
|
|
|
|
|
ros
|
|
|
|
|
|
├── certs ros 服务的证书,在配置 csv 中 cert 列的根目录是这里
|
|
|
|
|
|
├── scripts ros 服务中的脚本,在配置脚本时会读取并写入 ros 配置
|
|
|
|
|
|
├── templates ros 服务的模板镜像
|
|
|
|
|
|
├── config.jh.bak.csv 极狐的配置参考表
|
|
|
|
|
|
├── config.jg.bak.csv 极光的配置参考表
|
|
|
|
|
|
├── config.csv 需要执行配置的表
|
|
|
|
|
|
├── steps.py 所有配置函数
|
|
|
|
|
|
└── main.py 主程序,执行 `steps.py` 中的配置函数
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-28 18:05:21 +08:00
|
|
|
|
## 使用说明
|
|
|
|
|
|
|
2026-02-26 15:40:34 +08:00
|
|
|
|
1. 上传 ros 镜像,位置在 `templates` 目录下
|
2025-09-28 18:05:21 +08:00
|
|
|
|
|
2026-02-26 15:40:34 +08:00
|
|
|
|
2. 为 ros 配置公网 IP 与网关,并重置 mac 地址
|
2025-09-28 18:05:21 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
/ip/address/set 0 address=公网地址/掩码
|
|
|
|
|
|
/ip/route/set 0 gateway=网关地址
|
|
|
|
|
|
/interface/ethernet/reset-mac-address wan
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-02-26 15:40:34 +08:00
|
|
|
|
3. 将需要部署的 ros 配置条目从 `config.jh.bak.csv` 或 `config.jg.bak.csv` 中复制到 `config.csv`(没有的话创建一个)
|
|
|
|
|
|
|
|
|
|
|
|
> `config.jh.bak.csv` 与 `config.jg.bak.csv` 中是所有 ros 配置项的完整记录
|
|
|
|
|
|
|
|
|
|
|
|
4. 检查并按需调整 `main.py` 脚本开头定义的参数
|
2025-09-28 18:05:21 +08:00
|
|
|
|
|
2026-02-26 15:40:34 +08:00
|
|
|
|
5. 执行 `main.py`
|
2025-09-28 18:05:21 +08:00
|
|
|
|
|
2025-09-08 12:55:20 +08:00
|
|
|
|
## 部署流程
|
|
|
|
|
|
|
|
|
|
|
|
**参数**
|
|
|
|
|
|
|
|
|
|
|
|
- 默认网关
|
|
|
|
|
|
- 公网 CIDR
|
|
|
|
|
|
- 内网 CIDR
|
|
|
|
|
|
- RADIUS 配置
|
|
|
|
|
|
- NAT 网关
|
|
|
|
|
|
- 节点 IP 池
|
|
|
|
|
|
- 节点地区编号
|
|
|
|
|
|
- 城市数量
|
|
|
|
|
|
- 窗口数量
|
|
|
|
|
|
- 连接报告地址
|
|
|
|
|
|
- 日志报告地址
|
|
|
|
|
|
|
|
|
|
|
|
**配置网络**
|
|
|
|
|
|
|
|
|
|
|
|
刷新 mac 地址(手动)
|
|
|
|
|
|
|
|
|
|
|
|
默认网关(手动 [默认网关])
|
|
|
|
|
|
|
|
|
|
|
|
wan 口 ip(手动 [公网 CIDR])
|
|
|
|
|
|
|
|
|
|
|
|
lan 口 ip([内网 CIDR])
|
|
|
|
|
|
|
|
|
|
|
|
**配置 vpn**
|
|
|
|
|
|
|
|
|
|
|
|
地址池(172.17.0.0/16)
|
|
|
|
|
|
|
|
|
|
|
|
ppp profile(本地地址,地址池)
|
|
|
|
|
|
|
|
|
|
|
|
pptp & l2tp & sstp 服务端(profile)
|
|
|
|
|
|
|
|
|
|
|
|
ppp secrets & radius([RADIUS 配置])
|
|
|
|
|
|
|
|
|
|
|
|
路由表,默认路由,路由策略(default => [NAT 网关],172.17.0.0/16 => vpn)
|
|
|
|
|
|
|
|
|
|
|
|
**配置 nat**
|
|
|
|
|
|
|
|
|
|
|
|
ospf 路由表,黑洞路由([节点 IP 池])
|
|
|
|
|
|
|
|
|
|
|
|
实例,区域,模板;在 lan 上的 area0 区域重分发黑洞路由表上的静态路由区域
|
|
|
|
|
|
|
|
|
|
|
|
**配置脚本**
|
|
|
|
|
|
|
|
|
|
|
|
上线脚本:
|
|
|
|
|
|
- 删除旧 nat 规则
|
|
|
|
|
|
- 根据[节点地区编号],[城市数量],[窗口数量]生成 ipv4 地址生成 snat 规则(172.16.x.x => 10.i.j.k)
|
|
|
|
|
|
- 上报开始占用
|
|
|
|
|
|
|
|
|
|
|
|
下线脚本:
|
|
|
|
|
|
- 删除旧 nat 规则
|
|
|
|
|
|
- 上报解除占用
|
|
|
|
|
|
|
|
|
|
|
|
清理超时连接(9 小时):
|
|
|
|
|
|
- 查找并删除在线超过 24 小时的连接
|
|
|
|
|
|
|
|
|
|
|
|
报告用户在线数量(5 分钟):
|
|
|
|
|
|
- 查找并上报用户在线数量
|
|
|
|
|
|
|
|
|
|
|
|
配置脚本调度
|
|
|
|
|
|
挂载上下线脚本到 ppp profile
|
|
|
|
|
|
|
|
|
|
|
|
**配置日志**
|
|
|
|
|
|
|
|
|
|
|
|
上报到远程地址
|
|
|
|
|
|
|
2025-09-06 16:32:47 +08:00
|
|
|
|
## 单地区
|
|
|
|
|
|
|
|
|
|
|
|
### 添加 ros 后应该改什么
|
|
|
|
|
|
|
|
|
|
|
|
域名:
|
|
|
|
|
|
- A 解析单地区
|
|
|
|
|
|
- CNAME 解析省混合
|
|
|
|
|
|
|
|
|
|
|
|
## 混拨
|