Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10326562
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2017-06-10 14:04:12

CloudStack手动设置虚拟机IP总结

一、现象

CloudStack 4.2.0版本及后续版本,在界面增加每个虚拟可以设置辅助IP的功能。如果不在界面中设置辅助IP,而是直接在虚拟机手动设置IP,会导致该IP不生效的问题。

在CloudStack 4.2.0之前的版本是可以手动设置任意可用的IP

二、实现机制

引起这个差异就是4.2.0版本的辅助IP功能引入的。4.2.0的实现机制是,默认网络规则会通过ebtables策略将非vm使用的IP做NAT屏蔽,这会导致若不配置ebtables规则,手动设置IP无效。而4.0版本则无该限制。

ebtables的规则实现代码在scripts\vm\network\security_group.py文件 default_network_rules方法。

三、实验

该实验就是模拟CloudStack配置辅助IP的步骤。

虚拟机i-2-3-VM通过DHCP获得的IP为10.6.32.19,现修改为10.6.32.24。

1、通过ipset增加第二个IP

ipset -A i-2-3-VM 10.6.32.24

通过ipsetlist命令查询


2、配置ebtables

ebtables-t nat -I i-2-3-VM-in-ips -p ARP --arp-ip-src 10.6.32.24 -j RETURN

ebtables-t nat -I i-2-3-VM-out-ips -p ARP --arp-ip-dst 10.6.32.24 -j RETURN

查询ebtables的nat表配置。

ebtables -t nat -L


3、手动将虚拟的IP修改为10.6.32.24,配置完成后,该IP可用。

四、结论

CloudStack 4.2.0及以后版本所管理的虚拟机,若需要手动设置IP,建议使用设置辅助IP功能;或者手动添加ipset和ebtablse的规则,再配置IP

阅读(1728) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~