Openstack中单网卡使用多ip

文章来自作者维护的社区微信公众号【虚拟化云计算】)
目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问
创建虚拟机时主机上会有一条iptables 用来将ip和mac绑定,用来防止arp欺骗。在需要给单个网卡配置多个ip的场景下(例如keepalive)另外添加的ip地址是无法与外界通信的。 两种方法来解决。
 
第一种是使用allowed-address-pairs来扩展端口属性,允许手动指定端口的mac_address和ip 地址对的流量通过。
 
1. 建立port时指定allowed-address-pairs属性
# neutron port-create e13762dc-9af7-49b6-a74e-2ed2a9728a6c --allowed-address-pairs type=dict list=true ip_address=172.16.1.5
可以看出新建的port的ip_address为172.16.1.7,而对应的allowed-address-pairs为172.16.1.5,两个ip对应的mac是相同的。
 
2. 给现有网卡添加allowed-address-pairs属性
# neutron port-update 18dea4cb-db1d-4c44-96f0-0b57305e7b1e --allowed-address-pairs type=dict list=true ip_address=172.16.1.23
 
设置了属性后主机的iptables如下:
RETURN     all  --  172.16.1.5           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
RETURN     all  --  172.16.1.4           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
 
第二种是使用port_security_enabled属性,可以针对整个网络更改,也针对某个端口更改。
创建net和port时现在没有参数来指定port_security_enabled,默认是True,所以需要在创建之后更新。
 
首先移除port上的安全组(创建port时默认是有安全组的,可以添加参数--no-security-groups创建没有安全组的prot),然后设置port的port_security_enabled为False(有安全组时port_security_enabled无法设置为False ) :
# neutron port-update b0ddb9ad-6250-45f2-9927-a6633ddaf406 --no-security-groups --port_security_enabled=False
设置了port_security_enabled=False后再主机的iptables中对应的下面规则会被删除。
RETURN     all  --  172.16.1.4           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
 
============================================================
关注微信公众号【虚拟化云计算】,阅读更多虚拟化云计算知识,纯技术干货更新不停。
 
 
 
 
 
 
 
 
 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值