用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)
Neutron Routing 服务提供跨 subnet 互联互通的能力。
例如前面我们搭建了实验环境:
cirros-vm1 172.16.100.3 vlan100
cirros-vm3 172.16.101.3 vlan101
这两个 instance 要通信必须借助 router。可以是物理 router 或者虚拟 router。
下面详细讨论 Neutron 的虚拟 router 实现。
配置 l3 agent
Neutron 的路由服务是由 l3 agent 提供的。
l3 agent 需要正确配置才能工作,配置文件为 /etc/neutron/l3_agent.ini,位于控制节点或网络节点。
devstack 已经帮我们配置默认的属性,大部分情况下不需要修改就可以使用。
external_network_bridge 指定连接外网的网桥,默认是 br-ex。
interface_driver 是最重要的选项,如果 mechanism driver 是 open vswitch,则:
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
如果选用 linux bridge,则:
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
l3 agent 运行在控制或网络节点。
下面将创建虚拟 router “router_100_101”,打通 vlan100 和 vlan101。
创建 router
进入操作菜单 Project -> Network -> Routers。
点击 “Create Router” 按钮。
router 命名为 “router_100_101”,点击 “Create Router” 按钮确认。
router_100_101 创建成功。
接下来需要将 vlan100 和 vlan101 连接到 router_100_101。
点击 “router_100_101” 链接进入 router 的配置页面,在 “Interfaces” 标签中点击 “Add Interface” 按钮。
选择 vlan100 的 subnet_172_16_100_0,点击 “Add Interface” 确认。
用同样的方法添加 vlan101 的 subnet_172_16_101_0。
完成后,可以看到 router_100_101 有了两个 interface,其 IP 正好是 subnet 的 Gateway IP 172.16.100.1 和 172.16.101.1。
到这里,我们可以预见:
1. router_100_101 已经连接了 subnet_172_16_100_0 和 subnet_172_16_101_0。
2. router_100_101 上已经设置好了两个 subnet 的 Gateway IP。
3. cirros-vm1 和 cirros-vm3 应该可以通信了。
通过 PING 测试一下:
不出所料,cirros-vm1 和 cirros-vm3 能通信了。
下一节我们详细探究 router_100_101 是如何起作用的。
用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)的更多相关文章
- 虚拟 router 原理分析- 每天5分钟玩转 OpenStack(101)
上一节我们创建了虚拟路由器"router_100_101",并通过 ping 验证了 vlan100 和 vlan101 已经连通. 本节将重点分析其中的原理. 首先我们查看控制节 ...
- Neutron Router 工作原理 - 每天5分钟玩转 OpenStack(142)
上一节我们创建了 router 连通了 vlan100 和 vlan101, 今天分析router是如何工作的.首先查看控制节点的网络结构发生了什么变化: br-int 上多了两个 port: 1. ...
- 每天5分钟 玩转OpenStack 目录列表
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
- 写在最前面 - 每天5分钟玩转 OpenStack(1)
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
- Why Namespace? - 每天5分钟玩转 OpenStack(102)
上一节我们讨论了 Neutron 将虚拟 router 放置到 namespace 中实现了不同 subnet 之间的路由.今天探讨为什么要用 namespace 封装 router? 回顾一下前面的 ...
- 理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)
前面我们学习了安全组,今天学习另一个与安全相关的服务 -- FWaaS.理解概念 Firewall as a Service(FWaaS)是 Neutron 的一个高级服务.用户可以用它来创建和管理防 ...
- Routing 功能概述 - 每天5分钟玩转 OpenStack(98)
路由服务(Routing)提供跨 subnet 互联互通功能. 例如前面我们搭建了实验环境: cirros-vm1 172.16.100.3 vlan100 cirros-vm ...
- 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...
- cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...
随机推荐
- openstack创建实例测试步骤
source admin-openrc.shkeystone user-create --name=demo --pass=123456keystone tenant-create --name=de ...
- 修改SqlServer字段长度
Alter Table [JHEMR].[dbo].[PT_ERROR_LOG] ALTER COLUMN MESS nvarchar(1000)
- CSS——京东首页实战总结
第一天成果 1.浮动的盒子不要给宽,内容撑起盒子的宽 在前端设计中,一般不给浮动的盒子设置宽,让其用内容撑起一个高度. 2.小三角的表示 ◇用一个盒子(盒子宽为字的宽,高度为字高度的一半)去截取这个菱 ...
- Unity3d之剥离alpha通道
unity中, 将图集的 alpha 通道剥离出来可减少包体大小和内存使用大小. 方法是将原来的一张 rgba 图分成一张 rgb 和一张 alpha 图,android上rgb和alpha图均采用e ...
- java 读excel xlsx
http://bbs.csdn.net/topics/380257685 import java.io.File; import java.io.IOException; import java.io ...
- 酷炫的方块状散点3D
http://threejs.org/examples/webgl_particles_random.html
- Ubuntu Server PHP常用扩展库的安装
sudo apt-get install php5-gd curl libcurl3 libcurl3-dev php5-curl
- 将Web项目访问的URL项目名设置为"/"
工具:Eclipse 步骤: 1.鼠标右键项目名--->properties--->Web Project Setting--->Context root. 将Context roo ...
- 在windos 环境下安装
在windows 环境下安装node 和 StrongLoop需要一些几个步骤. 本人使用的安装软件,文章最后的分享. 1,安装Git: 2,安装Node.js: 3,安装npm: 4,安装Stron ...
- Docker 命令(二)
Docker 入门 启动docker systemctl start docker 帮助命令 docker --help docker [Commands] --help 例:docker run ...