Skip to content

快速开始

本指南将帮助您快速部署和运行 IPAM 系统。

环境要求

必需组件

组件版本要求说明
Go1.25.5+后端运行环境
Node.js25.2.1+前端构建环境
MariaDB10.11.14+数据库(推荐)
或 MySQL8.0+数据库
pnpm10.25.0+包管理工具

可选组件

组件说明
Git版本控制
Make构建工具
Docker容器化部署

安装步骤

1. 克隆项目

bash
git clone https://gitee.com/liumou_site/ipam-go.git
cd ipam-go

2. 配置数据库

创建数据库

sql
CREATE DATABASE ipam CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'ipam_user'@'%' IDENTIFIED BY 'your_strong_password';

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, INDEX ON ipam.* TO 'ipam_user'@'%';

FLUSH PRIVILEGES;

数据库配置建议

ini
# my.cnf 或 my.ini
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_connections=200
innodb_buffer_pool_size=256M

3. 配置后端

复制配置文件

bash
cp config.example.toml config.toml

编辑配置

toml
[database]
type = "mysql"
host = "localhost"
port = 3306
user = "ipam_user"
password = "your_strong_password"
dbname = "ipam"
charset = "utf8mb4"

[server]
port = 8080
mode = "debug"  # debug 或 release

[jwt]
secret = "your-jwt-secret-key-change-this"
expire_hours = 24

[monitoring]
enabled = true
interval = 300
max_concurrent = 100

4. 启动后端

bash
# 安装依赖
go mod tidy

# 运行
go run main.go

后端服务将在 http://localhost:8080 启动。

5. 配置并启动前端

bash
cd frontend

# 安装依赖
pnpm install

# 开发模式启动
pnpm dev

前端服务将在 http://localhost:3000 启动。

6. 访问系统

打开浏览器访问:http://localhost:3000

默认账户

系统首次启动时自动创建以下账户:

角色用户名密码权限
管理员adminadmin123完整系统管理权限
操作员operatoroperator123IP管理权限
只读用户readonlyreadonly123仅查看权限

⚠️ 安全提示:首次登录后请立即修改默认密码!

生产部署

构建前端

bash
cd frontend

# 安装依赖
pnpm install

# 生产构建
pnpm build

构建产物将生成在 frontend/dist 目录。

构建后端

bash
# Linux
GOOS=linux GOARCH=amd64 go build -o ipam-server main.go

# Windows
GOOS=windows GOARCH=amd64 go build -o ipam-server.exe main.go

# macOS
GOOS=darwin GOARCH=amd64 go build -o ipam-server main.go

部署结构

ipam/
├── ipam-server          # 后端可执行文件
├── config.toml          # 配置文件
├── frontend/
│   └── dist/            # 前端静态文件
└── logs/                # 日志目录

使用 systemd 管理服务

创建 /etc/systemd/system/ipam.service

ini
[Unit]
Description=IPAM Server
After=network.target

[Service]
Type=simple
User=ipam
WorkingDirectory=/opt/ipam
ExecStart=/opt/ipam/ipam-server
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

启动服务:

bash
sudo systemctl daemon-reload
sudo systemctl enable ipam
sudo systemctl start ipam

使用 Nginx 反向代理

nginx
server {
    listen 80;
    server_name ipam.example.com;

    location / {
        root /opt/ipam/frontend/dist;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Docker 部署

使用 Docker Compose

创建 docker-compose.yml

yaml
version: '3.8'

services:
  db:
    image: mariadb:10.11
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: ipam
      MYSQL_USER: ipam_user
      MYSQL_PASSWORD: ipam_password
    volumes:
      - db_data:/var/lib/mysql
    ports:
      - "3306:3306"

  app:
    build: .
    ports:
      - "8080:8080"
    volumes:
      - ./config.toml:/app/config.toml
      - ./logs:/app/logs
    depends_on:
      - db

volumes:
  db_data:

启动:

bash
docker-compose up -d

常见问题

数据库连接失败

问题:启动时提示数据库连接失败

解决

  1. 检查数据库服务是否运行
  2. 验证配置文件中的连接信息
  3. 确认用户权限正确
  4. 检查防火墙设置

前端无法访问后端

问题:前端页面报错,无法连接后端

解决

  1. 检查后端服务是否正常运行
  2. 确认前端配置的后端地址正确
  3. 检查跨域配置
  4. 查看浏览器控制台错误信息

监控功能不工作

问题:IP 在线状态不更新

解决

  1. 检查配置中 monitoring.enabled 是否为 true
  2. 确认运行环境有 ping 权限
  3. 检查防火墙是否允许 ICMP
  4. 查看日志中的错误信息

导入导出失败

问题:Excel 导入导出功能异常

解决

  1. 确认 Excel 格式为 .xlsx
  2. 检查 Sheet 名称是否正确
  3. 验证数据格式是否符合要求
  4. 查看详细的错误提示

下一步

基于 MIT 许可发布