【Linux】iptables&ebtables

本文深入探讨了Docker网络中iptables和ebtables的使用,特别是在SNAT和DNAT转换中的作用。文章首先介绍了主机如何处理报文,强调了ip_forward的重要性。接着详细阐述了eb-prerouting、eb-input、eb-forward等阶段的功能,特别是它们如何影响报文的目标MAC和IP地址。总结指出,iptables的prerouting和output链以及ebtables的eb-forward链在Docker网络中起到关键作用,确保容器间的通信和对外连接的建立。
摘要由CSDN通过智能技术生成

上一篇介绍docker的组网,其中用到了SNAT和DNAT,收集了网上比较多的资料,温故并把整个流程理了一遍。


1、主机收到报文后,检测该报文的目的MAC地址

     1.1 目标MAC地址为组播和广播地址,继续执行;

     1.2 目标MAC地址等于主机的MAC地址,继续执行;

     1.3 目标MAC地址不等于主机的MAC地址

           1.3.1 如果开启ip_forward,继续执行;

           1.3.2 如果未开启ip_forward,丢弃该报文;

2、经过eb-brouting(处理广播或组播报文)

3、经过eb-prerouting(可以修改报文的目标MAC)

4、根据目标MAC地址,决定报文往哪走

     4.1 目标MAC地址等于主机的MAC地址,进入eb-input,进一步进入到网络层处理;

     4.2 目标MAC地址不等于主机的MAC地址,进入eb-forward;


总结而言:

prerouting有修改目标地址的能力(目标MAC和目标IP)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值