欢迎光临
我们一直在努力

在群晖NAS上部署iStoreOS:Docker + macvlan 完全指南

在群晖NAS上部署iStoreOS:Docker + macvlan 完全指南

用闲置的群晖NAS搭建软路由,无需额外硬件,家庭网络管理新境界!

前言

你是否有一台高性能的群晖NAS平时只用来存文件?是否想搭建软路由但又不想购买额外硬件?今天我就教你如何在群晖NAS的Docker中部署iStoreOS软路由系统,让你的NAS秒变全能网络管家!

一、环境检查与准备

1.1 硬件要求

  • 群晖NAS:DSM 7.0+(建议DS918+、DS920+等x86机型)
  • 网卡:至少两个网口(一个管理口,一个WAN/LAN口)
  • 内存:建议4GB以上(iStoreOS约占用512MB)

1.2 软件安装

  • DSM更新:确保DSM系统为最新版本
  • 安装Docker:通过"套件中心"搜索安装"Docker"
  • 开启SSH:控制面板 → 终端机和SNMP → 启用SSH服务
  • 1.3 网络规划

    网口用途IP地址
    eth0 管理口(连接主路由) 192.168.5.100(示例)
    eth1 软路由WAN/LAN口 192.168.5.0/24网段

    二、SSH连接与网卡配置

    2.1 SSH登录群晖

    ssh admin@你的群晖IP -p 22
    # 输入管理员密码
    sudo -i # 切换到root权限

    2.2 确认网卡名称

    # 查看所有网卡
    ip link show

    # 通常群晖网卡为:eth0, eth1, eth2…
    # 确认要用于软路由的网卡名称

    2.3 开启网卡混杂模式

    # 假设使用eth1作为软路由网卡
    ip link set eth1 promisc on

    # 验证是否成功
    ip link show eth1 | grep PROMISC

    注意:重启后需重新设置,如需持久化请添加开机脚本(文章末尾附方法)

    三、创建macvlan网络

    3.1 Docker网络准备

    # 切换到Docker目录(群晖默认路径)
    cd /volume1/docker # 根据你的存储卷调整

    # 创建macvlan网络
    docker network create -d macvlan \\
    –subnet=192.168.5.0/24 \\
    –gateway=192.168.5.1 \\
    -o parent=eth1 \\
    macvlan_proxy

    3.2 验证网络创建

    docker network ls | grep macvlan
    # 应看到 macvlan_proxy

    四、部署iStoreOS容器

    4.1 选择合适的镜像

    iStoreOS提供了多个版本,建议选择:

    • soroke/istoreos:22.03.7-2025050912-x86-64(稳定版)
    • soroke/istoreos:latest(最新版)

    4.2 创建持久化存储目录

    # 在群晖上创建配置目录
    mkdir -p /volume1/docker/istoreos/config
    mkdir -p /volume1/docker/istoreos/data

    4.3 启动容器(推荐使用Docker CLI)

    docker run -d \\
    –name=istoreos \\
    –restart=unless-stopped \\
    –network=macvlan_proxy \\
    –privileged \\
    –cap-add=NET_ADMIN \\
    -v /volume1/docker/istoreos/config:/etc/config \\
    -v /volume1/docker/istoreos/data:/root \\
    soroke/istoreos:22.03.7-2025050912-x86-64

    在这里插入图片描述

    参数解析:

    • –restart=unless-stopped:异常退出时自动重启
    • –privileged:容器需要网络配置权限
    • –cap-add=NET_ADMIN:添加网络管理能力
    • -v:挂载配置文件和数据目录

    4.4 或使用Docker Compose(群晖支持)

    创建 docker-compose.yml:

    version: '3.8'
    services:
    istoreos:
    image: soroke/istoreos:22.03.72025050912x8664
    container_name: istoreos
    restart: unlessstopped
    privileged: true
    cap_add:
    NET_ADMIN
    networks:
    macvlan_proxy:
    ipv4_address: 192.168.5.250
    volumes:
    /volume1/docker/istoreos/config:/etc/config
    /volume1/docker/istoreos/data:/root

    networks:
    macvlan_proxy:
    external: true

    启动:

    docker-compose up -d

    五、配置iStoreOS网络

    5.1 进入容器配置

    # 进入容器bash
    docker exec -it istoreos bash

    # 编辑网络配置文件
    vim /etc/config/network

    5.2 修改LAN接口配置

    找到或添加以下配置:

    config interface 'lan'
    option proto 'static'
    option device 'eth0' # 容器内网卡名称
    option ipaddr '192.168.5.250' # 为容器分配的固定IP
    option netmask '255.255.255.0'
    option gateway '192.168.5.1'
    option dns '192.168.5.1'

    5.3 重启网络服务

    /etc/init.d/network restart
    exit # 退出容器

    六、访问与管理

    6.1 首次访问

    • 管理地址:http://192.168.5.250
    • 默认用户:root
    • 默认密码:password

    6.2 基本设置

  • 修改密码:首次登录后立即修改默认密码
  • 时区设置:系统 → 系统 → 时区 → Asia/Shanghai
  • 软件包更新:系统 → 软件包 → 更新列表
  • 在这里插入图片描述

    6.3 网络设置建议

    • LAN口配置:根据你的网络规划调整IP段
    • DHCP服务:如需提供DHCP,记得关闭主路由的DHCP
    • 防火墙规则:默认配置即可,有特殊需求再调整

    七、群晖优化与注意事项

    7.1 开机自启脚本

    创建 /usr/local/etc/rc.d/enable_promisc.sh:

    #!/bin/sh
    # 开机自动开启网卡混杂模式
    ip link set eth1 promisc on

    设置权限:

    chmod +x /usr/local/etc/rc.d/enable_promisc.sh

    7.2 资源监控

    # CPU和内存使用
    docker stats istoreos

    # 网络流量
    docker exec istoreos ifconfig

    7.3 备份与恢复

    # 备份配置
    cp -r /volume1/docker/istoreos/config /volume1/docker/istoreos/config_backup_$(date +%Y%m%d)

    # 恢复配置(出现问题时可使用)
    docker stop istoreos
    cp -r /volume1/docker/istoreos/config_backup /volume1/docker/istoreos/config
    docker start istoreos

    八、常见问题与解决

    8.1 容器无法启动

    可能原因:端口冲突、权限不足
    解决方案:

    # 查看容器日志
    docker logs istoreos

    # 删除并重新创建
    docker rm -f istoreos
    # 按第四步重新创建

    8.2 无法访问管理界面

    检查步骤:

  • 确认容器运行:docker ps | grep istoreos
  • 确认IP可达:ping 192.168.5.250
  • 检查防火墙:docker exec istoreos iptables -L -n
  • 8.3 网络配置无效

    解决方法:

  • 重启容器:docker restart istoreos
  • 检查网络配置:docker exec istoreos cat /etc/config/network
  • 重建macvlan网络(需先删除容器)
  • 九、进阶应用

    9.1 作为旁路由

    配置为旁路由时,只需连接一个网口,设备手动指定网关即可享受高级功能。

    9.2 安装插件

    iStoreOS自带应用商店,可安装:

    • AdGuard Home:广告过滤
    • OpenVPN:远程访问
    • DDNS:动态域名
    • 网络唤醒:远程开机

    9.3 性能监控

    使用群晖的"资源监控"套件监控Docker资源使用,调整CPU和内存限制。

    十、总结与收益

    这样做的好处:

  • 低成本:利用现有群晖硬件,无需额外设备
  • 高性能:x86群晖性能远超ARM软路由设备
  • 易管理:Docker容器化,随时备份/恢复/迁移
  • 多功能:iStoreOS丰富的插件生态
  • 低功耗:相比专用软路由设备更省电
  • 适用场景:

    • 家庭网络优化(广告过滤、QoS)
    • 开发者需要测试网络环境
    • 小型办公室网络管理
    • 学习网络知识的实验环境

    写在最后

    在群晖上部署iStoreOS是我尝试过的最具性价比的软路由方案。整个过程涉及Docker、网络和Linux知识,但只要按步骤操作,小白也能成功。

    注意事项:

  • 首次配置建议在非工作时间进行
  • 重要数据提前备份
  • 修改网络配置时保留原有网络连接
  • 如果遇到问题,欢迎在评论区留言,我会尽力解答!


    标签:群晖NAS iStoreOS Docker 软路由 macvlan 网络配置 Synology
    分类:云计算与容器技术 / 网络技术

    赞(0)
    未经允许不得转载:171主机测评 » 在群晖NAS上部署iStoreOS:Docker + macvlan 完全指南
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址