有3个不同的vms,其中RabbitMQ服务部署在全局模式。我的目标是阻塞一个RabbitMQ服务容器的流量。尝试在Reproduce RabbitMQ network partition scenario中使用iptables
通过添加iptables链
iptables -A DOCKER-INGRESS -d 10.255.0.33 -p tcp --dport amqp -m state --state ESTABLISHED,RELATED -j DROP
在运行RabbitMQ服务任务容器的两个停靠节点上。10.255.0.33是从docker service inspect输出的集群覆盖网络中获取的容器ip。尽管如此,流量仍然通过,网络分区不被复制。如何正确地阻塞服务集装箱的流量?
发布于 2019-03-06 09:05:20
假设要阻塞container_id标识的容器之间的通信量
步骤2-3应该在容器内运行。
1)进入集装箱:
docker exec -it --privileged --env http_proxy=proxy_ip container_id bash如果您可以直接连接到web,而不是在某个(公司)代理后面,则不需要--env http_proxy=proxy_ip。
2)这个步骤假设底层映像操作系统是基于Debian的。如果是基于红帽子的,请使用yum包安装程序等效的命令。如果是其他操作系统家族,请使用适当的包安装程序命令。
安装iptables
apt-get update && apt-get install -y iptables3)阻止虚拟ip为10.0.0.183的容器之间的通信量。
iptables -A OUTPUT -d 10.0.0.183 -j DROP
iptables -A INPUT -d 10.0.0.183 -j DROPhttps://stackoverflow.com/questions/45692140
复制相似问题