ipvlan L3 网络中的容器无法 ping 通其 docker 主机,Mikrotik 防火墙中的“连接状态”为“无效”,但可以 ping 通其他所有人

ipvlan L3 网络中的容器无法 ping 通其 docker 主机,Mikrotik 防火墙中的“连接状态”为“无效”,但可以 ping 通其他所有人

在 Mikrotik 上创建静态路由:

- destination address: 10.21.0.0/16
- gateway 10.9.0.3

在Docker主机上创建docker网络:

docker network create -d ipvlan --subnet=10.21.0.0/16 --gateway=10.9.0.1 \
    -o ipvlan_mode=l3 -o parent=ens18 ipvlan

已创建、进入容器并进行一些 ping:

docker run -it --rm --network ipvlan alpine /bin/sh

Ping 结果:

  • 确定:google.com
  • 确定:10.9.0.1(Mikrotik)
  • 确定:10.9.0.2(网络中的另一台计算机)
  • ok:10.21.0.2(ipvlan 中的另一个容器)
  • 不正常:10.9.0.3(Docker 主机)

Mikrotik 上有一条防火墙规则:

- chain: forward
- connection state: invalid
- action: drop

为了使 ping 工作,我需要禁用此规则或添加另一条规则,当源地址为10.9.0.3且目标地址为时允许无效连接状态10.21.0.0/16

为什么连接状态被标记为无效?

相关内容