您好,欢迎访问沃航(武汉)科技有限公司官方网站
通过.nspawn管理nspawn多容器(含ip设置)
2026-09-23 17:19:31

添加.nspawn

/etc/systemd/nspawn下创建 [容器名称].nspawn

如果/etc/systemd/nspawn不存在则创建

一般容器内容,格式如下:

[Exec]
Boot=yes
ResolvConf=off
Timezone=off

[Network]
Zone=bridge
Port=tcp:80:80
Port=tcp:443:443

Boot=yes意思是--boot或-b

ResolvConf=off意思是/etc/resolv.conf不从宿主机复制

Timezone=off意思是/etc/localtime不从宿主机复制

Zone=bridge意思是--network-zone=bridge

Port=tcp:80:80 可选,意思是把主机的80端口映射到容器的80端口

设置宿主机的网桥ip

创建文件/etc/systemd/network/20-vz-bridge.network内容如下:

[Match]
Name=vz-bridge

[Network]
Address=192.168.56.1/24
IPMasquerade=both

意思是设置nspawn网桥的ip为192.168.56.1

Name=vz-bridge中bridge是与.nspawn中的Zone一致,修改需要同时修改。

IPMasquerade=both是保证容器内可以上网用的。

设置容器的ip与dns

在容器内创建/etc/systemd/network/20-host0.network

[Match]
Name=host0

[Network]
Address=192.168.56.100/24
Gateway=192.168.56.1

客户根据不同的需求修改ip地址

在容器内修改/etc/resolv.conf

nameserver 223.5.5.5
nameserver 223.6.6.6

设置容器MASQUERADE(可选,如果容器内运行wireguard需要)

先安装iptables与持久化工具apt install iptables iptables-persistent

iptables -t nat -A POSTROUTING -o host0 -j MASQUERADE
netfilter-persistent save
systemctl enable --now netfilter-persistent.service

设置宿主机iptables允许路由转发(可选,如果安装了iptables且默认禁止转发需要)

先安装iptables持久化工具apt install iptables-persistent

执行允许虚拟网桥路由转发命令

iptables -A FORWARD -i vz-bridge -j ACCEPT
iptables -A FORWARD -o vz-bridge -j ACCEPT
netfilter-persistent save
systemctl enable --now netfilter-persistent.service

将docker容器加入到vz-bridge方法

方法如下:

docker network create -d macvlan \
  --subnet=192.168.56.0/24 \
  --gateway=192.168.56.1 \
  -o parent=vz-bridge \
  br-docker

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Shanghai \
  -v /etc/homeassistant:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=br-docker \
  --ip 192.168.56.101 \
  ghcr.io/home-assistant/home-assistant:stable

该方法执行后,可以通过nspawn容器访问docker容器

homeassistant设置反向代理信任状态

反向代理信任设置位置为UI下设置 -> 系统 -> 网络 -> HTTP 服务器 -> 反向代理


联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn