近期需要搞明白的点

1.

(1)在网络节点上的路由器命名空间中往外ping包,路径是怎么样的,每一步的包头src_mac, dst_mac, src_ip, dst_ip分别是什么

      首先走qrouter-xxx内部的iptables PREROUTEING表和NAT表,然后走路由表,如果是本机就走INPUT表然后走本机路由表找到目的网卡走OUTPUT出来.   一般从qg出来到br-ex的eth0,当数据包到达br-ex时,首先要匹配br-ex上的流表,除非特殊标记的包需要drop掉,其他的都会广播到br-ex的所有接口上,一般从eth0出去到外网。

    

(2)从VM 主机内部往外网地址ping,路径是怎么样的,每一步的包头src_mac, dst_mac, src_ip, dst_ip分别是什么。

      首先数据包从VM出来需要经过计算节点的qbr,通过加载在qbr上的安全组过滤,然后到达br-int,br-tun通过加载在这两个ovs上的流表过滤,然后通过vxlan-tunnel到达网络节点(非DVR模式)的br-tun,然后分别通过网络节点的br-tun, br-int两个ovs上的流表过滤,到达DHCP或者Router接口,然后再通过加载在虚拟网卡上的PREROUTEING表和NAT表,然后走路由表...接下来的路径见(1)

      这里又分为两种情况

       A. VM所在子网添加到路由器上,本身没有floatingip

       B. VM绑定了floatingip

       这两种情况也就是上述(1)中的PREROUTING和nat表和route表有些规则不同,其他大同小异。

       这里要开启iptables才走以上的PREROUTING,nat,INPUT表。

 

  

posted @   JaneySJ  阅读(339)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示