在qnap nas Docker中使部署安装immortalwrt/rootfs:x86_64-op...
Creado el: 24 de febrero de 2025
Respondido usando O3 Mini High por Chat01
Creado el: 24 de febrero de 2025
Respondido usando O3 Mini High por Chat01
在qnap nas Docker中使部署安装immortalwrt/rootfs:x86_64-openwrt-24.10.0当旁路由使用,
容器的名称openwrt-tnl
需要打开网卡混杂模式
要创建一个独立的虚拟网络接口macvlan-tnl
主路由的地址为ip192.168.2.1
ImmortalWrt的管理界面地址设为192.168.2.3
进入容器 shell 后,需要手动在 /etc/config/network 文件中添加 lan 接口的配置。
要让一个从没接触过docker的人能一次顺利的按你的步骤操作成功
下面提供一份详细的、一步一步的操作指南,假设你对 Docker 没有任何经验。按照下面的步骤操作,就能在 QNAP NAS 的 Container Station 中利用 Docker 部署 ImmortalWrt 旁路由,容器名称为 openwrt-tnl,并且实现以下要求:
/etc/config/network
文件中手动添加 LAN 接口配置下面是具体步骤:
确认 QNAP NAS 环境
eth0
,如果不确定,可通过 SSH 执行 ip a
或 ifconfig
查看)。安装 Docker 客户端
在 NAS 上登录 SSH 后(例如使用 PuTTY 或系统自带终端),执行下面命令(假设网卡为 eth0
;若实际名称不同,请替换为对应的名称):
bashsudo ip link set eth0 promisc on
此命令将网卡设置为混杂模式,使其能接收所有经过的数据包。
利用 Docker 创建一个独立的 macvlan 网络接口,命令如下(依然假设主机网卡名称为 eth0
;若不一样,请自行替换):
bashdocker network create -d macvlan \ --subnet=192.168.2.0/24 \ --gateway=192.168.2.1 \ -o parent=eth0 macvlan-tnl
解释:
在命令行中执行下面命令下载镜像:
bashdocker pull immortalwrt/rootfs:x86_64-openwrt-24.10.0
等待镜像下载完成。
运行容器时指定容器名称、网络、静态 IP 及必要的网络管理权限。执行命令:
bashdocker run -d \ --name openwrt-tnl \ --network macvlan-tnl \ --ip 192.168.2.3 \ --cap-add=NET_ADMIN \ immortalwrt/rootfs:x86_64-openwrt-24.10.0
解释:
容器启动后,进入容器内部修改配置文件。执行:
bashdocker exec -it openwrt-tnl /bin/sh
这样就进入了容器的 shell 环境。
在容器内,使用你熟悉的编辑器(例如 vi)编辑 /etc/config/network
文件。如果容
继续
下面继续步骤6之后的操作,确保配置正确并让新添加的 LAN 接口生效。
在容器的 shell 中(通过前面执行的 docker exec -it openwrt-tnl /bin/sh
已经进入容器),执行以下操作:
打开配置文件
使用 vi(或你熟悉的编辑器)打开文件:
bashvi /etc/config/network
添加 LAN 接口配置
在文件中新增或修改一段 LAN 接口的配置,示例配置如下:
textconfig interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.2.3' option netmask '255.255.255.0' option gateway '192.168.2.1' option dns '8.8.8.8 8.8.4.4'
说明:
option type 'bridge'
表示该接口为桥接接口。option ifname 'eth0'
假设容器内网卡名称为 eth0
,如果不是,请调整为正确名称。option proto 'static'
设定为静态 IP,并指定了管理地址(192.168.2.3)、子网掩码、网关及 DNS。保存退出
i
进入插入模式,将上述内容粘贴进去。Esc
退出插入模式,输入 :wq
保存并退出编辑器。使新的网络配置生效,执行重启命令:
bash/etc/init.d/network restart
若该命令提示无效,也可选择重启整个容器(注意:重启容器可能会中断当前会话):
bashreboot
ip addr
命令,确认 eth0
已正确配置 IP 地址。macvlan-tnl
的虚拟网络,指定子网与网关。openwrt-tnl
和静态 IP(192.168.2.3),并给予 NET_ADMIN 权限。/etc/config/network
文件中添加 LAN 接口配置,然后重启网络服务。按照以上详细步骤,即使是没有 Docker 经验的用户,也能一步一步成功部署 ImmortalWrt 旁路由。希望这些说明能帮您顺利完成部署,如有问题可随时反馈。