目前,我的家庭网络在逻辑上分为2个单独的VLAN。
10.20.0.0/16
):所有受信任的设备将在其中运行10.30.0.0/16
):将运行所有IOT /家庭娱乐不受信任的设备。在防火墙级别LAN
可以访问IOT_LAN
,但反之则不能。
我在通过以太网电缆连接到交换机的中继端口的树莓派4上运行 Docker 。在Raspi级别,本地LAN绑定到eth0
接口,而IOT_LAN
绑定到eth0.30
。
这里的问题是:是否可能有两个不同的容器同时运行,一个绑定到eth0接口,另一个绑定到eth0.30?
举例来说,我们可以说容器1是一个需要能够访问主LAN
网络的应用程序,而容器2是一个IOT专用应用程序,我想将其限制为{{1} }网络。
谢谢
答案 0 :(得分:0)
这是我解决问题的方法:
我已经在print(paste0("Trial.", i, " - Trial.", j))
文件中创建了一个网络:
docker-compose.yml
然后使用以下语法将需要留在10.30网络中的每个容器附加到上面的网络:
# IOT_LAN.
networks:
vlan30:
driver: macvlan
driver_opts:
parent: eth0.30
ipam:
config:
- subnet: 10.30.0.0/16
IP地址在docker-compose文件中定义,并且应属于先前在路由器上创建的保留范围,以避免与DHCP分配的地址冲突。
这对我有用。现在,所有容器仅属于networks:
vlan30:
ipv4_address: "10.30.0.15"
网络。