首页 资讯 社群 我的社区 搜索

[管理篇]VMWare搭建Openstack——将FlatDHCP网络转化为GRE网络——设置浮动IP

chinagissoft
2018-09-30 08:01:48

接下来,我使用Horizon界面操作来先进入UserA用户下,创建一个VM,如果使用命令行一句话就可以搞定,但是如果使用界面化操作,我们需要注意两个问题,密钥对和网络,密钥对好理解,因为我们有一个外部网络和一个租户C的内部网络,所以我们开启VM的时候,我们选择租户C的网络。


选择密钥对




选择租户子网



创建虚拟机,我们可以看到,创建的虚拟机IP从12.0.0.2开始



我们可以进入该虚拟机(该虚拟机默认会启动比较长的时间)

进入虚拟机控制台,系统提示了用户名和密码,进入系统我们查看IP信息


我们可以看到,系统自动获得了DHCP的12.0.0.2信息,这说明没有问题,如果该IP获取不了,可以检查一下DHCP配置文件,以及GRE的通道IP(各个节点)是否设置正确。


同样方式,我们可以再启动一个Vm2虚拟机,我们可以在系统的网络拓扑图看到如下所示


我们可以回想上一篇文章创建的步骤:

1、创建外部网络和子网 IP范围:203.0.113.0/24

2、创建租户网络和子网 IP范围:12.0.0.0/24

3、创建租户路由,连接租户子网

4、创建路由与外部网络的网关,达到通过外部网络访问租户内虚拟机的目的


刚刚创建的VM2,我们通过VM1来访问,看看是否可以ping通


这说明整个租户的网络是通的,但是目前通过我的笔记本仍然是不能访问租户内的虚拟机的



这时候,我们就需要通过外部网络来实现连通了。


原理很简单,就是为租户内的虚拟机设置一个可供外部网络的IP,虚拟机包含两个IP,一个内部网络IP,一个外部网络IP,这样就可以保证访问连通了,实现浮动IP的绑定有两种方式,命令行操作和界面化绑定,后者非常简单,但是还是介绍一下命令行的操作。


1、通过外部网络对租户C创建一个浮动IP

  1. sm@controller:~$ neutron --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net
  2. Created a new floatingip:
  3. +---------------------+--------------------------------------+
  4. | Field | Value |
  5. +---------------------+--------------------------------------+
  6. | fixed_ip_address | |
  7. | floating_ip_address | 203.0.113.105 |
  8. | floating_network_id | ee146ef6-d4ae-4c14-b216-51c827ee9351 |
  9. | id | b088ecc8-3e03-4810-90af-a1728a59ce2d |
  10. | port_id | |
  11. | router_id | |
  12. | status | DOWN |
  13. | tenant_id | 7a9a86dfd657482a859688fb97e2375f |
  14. +---------------------+--------------------------------------+
2、查看浮动IP列表
  1. sm@controller:~$ nova --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 floating-ip-list
  2. +---------------+-----------+----------+---------+
  3. | Ip | Server Id | Fixed Ip | Pool |
  4. +---------------+-----------+----------+---------+
  5. | 203.0.113.105 | | - | ext-net |
  6. +---------------+-----------+----------+---------+
3、为租户C的虚拟机Vm1设置浮动IP,并查看租户C的虚拟机IP信息
  1. sm@controller:~$ nova --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 floating-ip-associate vm1 203.0.113.105
  2. sm@controller:~$ nova --os-tenant-name TenantC --os-username UserC --os-password password --os-auth-url=http://localhost:5000/v2.0 list
  3. +--------------------------------------+------+--------+------------+-------------+-------------------------------------+
  4. | ID | Name | Status | Task State | Power State | Networks |
  5. +--------------------------------------+------+--------+------------+-------------+-------------------------------------+
  6. | 2dda7bd7-d39f-4022-b472-a6c8974cce23 | vm1 | ACTIVE | - | Running | tenantC-Net=12.0.0.2, 203.0.113.105 |
  7. | 247358ed-e341-4b77-b4c5-71abc14af67f | vm2 | ACTIVE | - | Running | tenantC-Net=12.0.0.4 |
  8. +--------------------------------------+------+--------+------------+-------------+-------------------------------------+

我们可以看到,VM2与VM1相比,Vm1包含两个IP,VM2包含一个IP,也就是我们可以通过外网访问VM1,但是访问不了VM2,VM2目前只能访问VM1。

当然,我在我本机既可以ping通VM1,也可以进入VM1进行操作

  1. C:UsersAdministrator>ping 203.0.113.105
  2. 正在 Ping 203.0.113.105 具有 32 字节的数据:
  3. 来自 203.0.113.105 的回复: 字节=32 时间=6ms TTL=63
  4. 来自 203.0.113.105 的回复: 字节=32 时间=2ms TTL=63
  5. 来自 203.0.113.105 的回复: 字节=32 时间=1ms TTL=63
  6. 来自 203.0.113.105 的回复: 字节=32 时间=1ms TTL=63
  7. 203.0.113.105 的 Ping 统计信息:
  8. 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
  9. 往返行程的估计时间(以毫秒为单位):
  10. 最短 = 1ms,最长 = 6ms,平均 = 2ms


对于VM2如果也想使用外部网络访问,我们可以直接在horizon绑定浮动IP即可。

在VM2的操作界面,点击绑定浮动IP,设置选择外部网络,生成浮动IP


如果没有,选择+号按钮生成即可,然后点击关联。


接下来,我们可以看到所有的VM虚拟机都有两个IP,也就是外部网络都可以访问了。




--------------------- 本文来自 chinagissoft 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/chinagissoft/article/details/46706621?utm_source=copy   


用户评论