floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)

上一节我们通过 Web UI 创建为 cirros-vm3 分配了浮动 IP,今天将分析其工作原理。

首先查看 router 的 interface 配置:

可以看到,floating IP 已经配置到 router 的外网 interface qg-b8b32a88-03 上。
查看 router 的 NAT 规则:

iptables 增加了两条处理 floating IP 的规则:
1. 当 router 接收到从外网发来的包,如果目的地址是 floating IP 10.10.10.3,将目的地址修改为 cirros-vm3 的 IP 172.16.101.3。这样外网的包就能送达到 cirros-vm3。
2. 当 cirros-vm3 发送数据到外网,源地址 172.16.101.3 将被修改为 floating IP 10.10.10.3。

下面我们通过 PING 测试一下。
在我的实验环境中,10.10.10.1 是外网中的物理交换机,现在让它 PING cirros-vm3。

能够 PING 通。
我们通过 tcpdump 可用在 router 的 interface 上观察 floating IP 的行为。

ext_net interface qg-b8b32a88-03 的 tcpdump 输出:

可见,在外网接口 qg-b8b32a88-03 上,始终是通过 floating IP 10.10.10.3 与外网通信。

vlan101 interface qr-e17162c5-00 的 tcpdump 输出:

当数据转发到租户网络,地址已经变为 cirros-vm3 的租户 IP 172.16.101.3 了。

小结一下:
1. floating IP 能够让外网直接访问租户网络中的 instance。这是通过在 router 上应用 iptalbes 的 NAT 规则实现的。
2. floating IP 是配置在 router 的外网 interface 上的,而非 instance。
这一点需要特别注意。

至此,我们已经完成了 Neutron L3 服务连接不同 subnet,访问外网,以及 floating IP 的学习。
下节开始,我们将学习 Neutron 如何支持 VxLAN 网络类型。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值