我正在进行一个项目,将一个现有的VOIP遗留系统转换成一个被篡改的形式。现有的系统由5台不同的Linux机器组成,每台机器都有两个不同的网络接口--一个是公开给公共广域网的,另一个是专用的局域网。我计划创建一个用于设置业务流程的docker文件。
该网络大致如下所示:
服务器#1 Eth0: IP 192.168.0.200/24 Eth1: IPX.65/27
服务器#2 Eth0: IP 192.168.0.201/24 Eth1: IPX.66/27
服务器#3 Eth0: IP 192.168.0.202/24 Eth1: IPX.87/27
服务器#4 Eth0: IP 192.168.0.203/24 Eth1: IPY.240/27
服务器#5 Eth0: IP 192.168.0.204/24 Eth1: IP Y.241/27
服务器1-3是同一子网的一部分,服务器4-5也是。
我试图找到最好的方法将这个网络设置转换为码头网络,我希望每个容器都保留他的公共IP ( Eth1上的那个,这意味着从容器中生成的流量将保持原来服务器上的相同的公共IP ),但也能够在同一个专用网络上与其他每个码头容器通信,同时保持它易于管理和尽可能少的开销。
是否有可能在网桥网络之间混合,并将每个码头集装箱连接到它,同时也为每个码头集装箱建立一个麦克夫兰网络,在主机级别上绑定到不同的网络接口上?
我能否只为主机创建两个网络接口,每个接口用于一个不同的子网,同时在它们上维护不同的IP地址(一个网络接口将由2个IP组成,另一个由3个IP组成,每个接口将有一个相应的Macvlan停靠网络)?
有什么更好的办法让这件事成功吗?
编辑
使用nmtui命令,我创建了一个具有多个IP地址的IPv4接口,我希望将3个容器连接到这个网络接口,同时为每个容器提供不同的公共IP。根据下面的截图,创建一个Macvlan网络并为每个容器分配它自己的IPv4地址是否就足够了?在线阅读它并没有给我一个明确的答案,但似乎Docker引擎会忽略这个设置,而是对每个容器使用已定义的主IP。本质上,我希望每个容器从它自己的主机IP接收流量,并从同一个IP发送流量。
services:
kamin:
networks:
kamin:
priority: 1
ipv4_address: "69.31.245.134"
networks:
kamin:
driver: macvlan
driver_opts:
parent: enp0s25
ipam:
config:
- subnet: 69.30.245.130/29
gateway: 69.31.245.129

发布于 2020-10-20 15:42:55
我在主机级别使用了3个网络接口,在码头级别使用了一个自定义桥接器和2个ipvlan网络。
https://stackoverflow.com/questions/64357626
复制相似问题