近期需要搞明白的点
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表。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现