在 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
。
为什么连接状态被标记为无效?