[openstack-dev] [Network] Allocate MAC and IP address for a VM instance
Dong Liu
willowd878 at gmail.com
Wed Feb 19 12:17:37 UTC 2014
Sorry for replying so late.
Yes, that is what I mean, btw, if you only need floatingip to bind vm mac, you do not need to specified --fix_ip, just specify the --mac-address is ok.
What I mean floatingip-mac is that, actually, when you creating a floatingip, neutron will automatic create a port use that public ip, this port has a mac-address, I mean this one.
在 2014年2月19日,18:22,Jay Lau <jay.lau.513 at gmail.com> 写道:
> Hi Liu Dong,
>
> Just found a solution for this as following, the method is using fixed ip as a bridge for MAC and floating ip.
>
> Can you please help check if it is the way that you want me to do? If not, can you please give some suggestion for your idea?
>
> Thanks,
>
> Jay
>
> ==============My steps==============
> Suppose I want to bind MAC fa:16:3e:9d:e9:11 to floating ip 9.21.52.22, I was doing as following:
>
> 1) Create a port for fixed ip with the MAC address fa:16:3e:9d:e9:11
> [root at db01b05 ~(keystone_admin)]# neutron port-create IntAdmin --mac-address fa:16:3e:9d:e9:11 --fixed-ip ip_address=10.0.1.2
> Created a new port:
> +-----------------------+---------------------------------------------------------------------------------+
> | Field | Value |
> +-----------------------+---------------------------------------------------------------------------------+
> | admin_state_up | True |
> | allowed_address_pairs | |
> | binding:capabilities | {"port_filter": true} |
> | binding:host_id | |
> | binding:vif_type | ovs |
> | device_id | |
> | device_owner | |
> | fixed_ips | {"subnet_id": "0fff20f4-142a-4e89-add1-5c5a79c6d54d", "ip_address": "10.0.1.2"} |
> | id | b259770d-7f9c-485a-8f84-bf7b1bbc5706 |
> | mac_address | fa:16:3e:9d:e9:11 |
> | name | |
> | network_id | fb1a75f9-e468-408b-a172-5d2b3802d862 |
> | security_groups | aa3f3025-ba71-476d-a126-25a9e3b34c9a |
> | status | DOWN |
> | tenant_id | f181a9c2b1b4443dbd91b1b7de716185 |
> +-----------------------+---------------------------------------------------------------------------------+
> [root at db01b05 ~(keystone_admin)]# neutron port-list | grep 10.0.1.2
> | b259770d-7f9c-485a-8f84-bf7b1bbc5706 | | fa:16:3e:9d:e9:11 | {"subnet_id": "0fff20f4-142a-4e89-add1-5c5a79c6d54d", "ip_address": "10.0.1.2"} |
>
> 2) Create a floating ip with the port id created in step 1)
> [root at db01b05 ~(keystone_admin)]# neutron floatingip-create --port-id b259770d-7f9c-485a-8f84-bf7b1bbc5706 Ex
> Created a new floatingip:
> +---------------------+--------------------------------------+
> | Field | Value |
> +---------------------+--------------------------------------+
> | fixed_ip_address | 10.0.1.2 |
> | floating_ip_address | 9.21.52.22 |
> | floating_network_id | 9b758062-2be8-4244-a5a9-3f878f74e006 |
> | id | 7c0db4ff-8378-4b91-9a6e-87ec06016b0f |
> | port_id | b259770d-7f9c-485a-8f84-bf7b1bbc5706 |
> | router_id | 43ceb267-2a4b-418a-bc9a-08d39623d3c0 |
> | tenant_id | f181a9c2b1b4443dbd91b1b7de716185 |
> +---------------------+--------------------------------------+
>
> 3) Boot the VM with the port id in step 1)
> [root at db01b05 ~(keystone_admin)]# nova boot --image centos64-x86_64-cfntools --flavor 2 --key-name adminkey --nic port-id=b259770d-7f9c-485a-8f84-bf7b1bbc5706 vm0001
> +--------------------------------------+--------------------------------------+
> | Property | Value |
> +--------------------------------------+--------------------------------------+
> | OS-EXT-STS:task_state | scheduling |
> | image | centos64-x86_64-cfntools |
> | OS-EXT-STS:vm_state | building |
> | OS-EXT-SRV-ATTR:instance_name | instance-00000026 |
> | OS-SRV-USG:launched_at | None |
> | flavor | m1.small |
> | id | c0cebd6b-94ae-4305-8619-c013d45f0727 |
> | security_groups | [{u'name': u'default'}] |
> | user_id | 345dd87da2364fa78ffe97ed349bb71b |
> | OS-DCF:diskConfig | MANUAL |
> | accessIPv4 | |
> | accessIPv6 | |
> | progress | 0 |
> | OS-EXT-STS:power_state | 0 |
> | OS-EXT-AZ:availability_zone | nova |
> | config_drive | |
> | status | BUILD |
> | updated | 2014-02-19T10:12:36Z |
> | hostId | |
> | OS-EXT-SRV-ATTR:host | None |
> | OS-SRV-USG:terminated_at | None |
> | key_name | adminkey |
> | OS-EXT-SRV-ATTR:hypervisor_hostname | None |
> | name | vm0001 |
> | adminPass | F4cSHu9oC3Wi |
> | tenant_id | f181a9c2b1b4443dbd91b1b7de716185 |
> | created | 2014-02-19T10:12:36Z |
> | os-extended-volumes:volumes_attached | [] |
> | metadata | {} |
> +--------------------------------------+--------------------------------------+
>
> 4) The VM goes to active with floating ip 9.21.52.22
> [root at db01b05 ~(keystone_admin)]# nova list
> +--------------------------------------+--------+--------+------------+-------------+-------------------------------+
> | ID | Name | Status | Task State | Power State | Networks |
> +--------------------------------------+--------+--------+------------+-------------+-------------------------------+
> | c0cebd6b-94ae-4305-8619-c013d45f0727 | vm0001 | ACTIVE | None | Running | IntAdmin=10.0.1.2, 9.21.52.22 |
> +--------------------------------------+--------+--------+------------+-------------+-------------------------------+
>
> 5) Check the VM MAC address, it is FA:16:3E:9D:E9:11 as expected
> [root at db01b05 ~(keystone_admin)]# ssh -i adminkey.priv root at 9.21.52.22
> ssh: connect to host 9.21.52.22 port 22: Connection refused
> [root at db01b05 ~(keystone_admin)]# ssh -i adminkey.priv root at 9.21.52.22
> Last login: Wed Feb 19 18:14:00 2014
> [root at host-10-0-1-2 ~]# ifconfig
> eth0 Link encap:Ethernet HWaddr FA:16:3E:9D:E9:11
> inet addr:10.0.1.2 Bcast:10.0.1.255 Mask:255.255.255.0
> inet6 addr: fe80::f816:3eff:fe9d:e911/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:43 errors:0 dropped:0 overruns:0 frame:0
> TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:6402 (6.2 KiB) TX bytes:6483 (6.3 KiB)
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> inet6 addr: ::1/128 Scope:Host
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:4 errors:0 dropped:0 overruns:0 frame:0
> TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:352 (352.0 b) TX bytes:352 (352.0 b)
>
>
>
>
>
> 2014-02-19 17:59 GMT+08:00 Jay Lau <jay.lau.513 at gmail.com>:
> Thanks Liu Dong.
>
> It is a VM mac address, so do you have any idea for how can I make sure the VM mac address can bind to a floating ip address?
>
> Also what do you mean by floatingip mac?
>
> Really thanks very much for your kind help, it is really helped me a lot!
>
> Thanks,
>
> Jay
>
>
>
> 2014-02-19 16:21 GMT+08:00 Dong Liu <willowd878 at gmail.com>:
>
> Jay, what the mac belong to? Is it a vm mac, or a mac of floatingip.
> If it is a vm mac, you can associate any floatingip to vm port.
> If it is a floatingip mac, I have no idea.
>
> 2014-02-19 11:44, Jay Lau :
> Thanks Liu Dong.
>
> In case that you may not get my previous question, so here just post it
> again to see if you can give a help.
>
> Is it possible to bind MAC to a FLOATING IP?
>
> Thanks,
>
> Jay
>
>
>
> 2014-02-19 10:38 GMT+08:00 Dong Liu <willowd878 at gmail.com
> <mailto:willowd878 at gmail.com>>:
>
>
> yes, it does not worked via dashboard
>
> Dong Liu
>
> 于 2014-02-19 8:11, Jay Lau 写道:
>
> Thanks Dong for the great help, it does worked with command line!
>
> This seems not available via dashboard, right?
>
> Thanks,
>
> Jay
>
>
>
> 2014-02-19 1:11 GMT+08:00 Dong Liu <willowd878 at gmail.com
> <mailto:willowd878 at gmail.com>
> <mailto:willowd878 at gmail.com <mailto:willowd878 at gmail.com>>>__:
>
>
>
> Hi Jay,
>
> In neutron API, you could create port with specified
> mac_address and
> fix_ip, and then create vm with this port.
> But the mapping of them need to manage by yourself.
>
>
> 在 2014年2月18日,22:41,Jay Lau <jay.lau.513 at gmail.com
> <mailto:jay.lau.513 at gmail.com>
> <mailto:jay.lau.513 at gmail.com
> <mailto:jay.lau.513 at gmail.com>>__> 写道:
>
>
>
> > Greetings,
> >
> > Not sure if it is suitable to ask this question in
> openstack-dev
> list. Here come a question related to network and want to
> get some
> input or comments from you experts.
> >
> > My case is as this: For some security issue, I want to
> put both
> MAC and internal IP address to a pool and when create VM, I
> can get
> MAC and its mapped IP address and assign the MAC and IP
> address to
> the VM.
> >
> > For example, suppose I have following MAC and IP pool:
> > 1) 78:2b:cb:af:78:b0, 192.168.0.10
> > 2) 78:2b:cb:af:78:b1, 192.168.0.11
> > 3) 78:2b:cb:af:78:b2, 192.168.0.12
> > 4) 78:2b:cb:af:78:b3, 192.168.0.13
> >
> > Then I can create four VMs using above MAC and IP
> address, each
> row in above can be mapped to a VM.
> >
> > Does any of you have any idea for the solution of this?
> >
> > --
> > Thanks,
> >
> > Jay
> > _________________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.__org
> <mailto:OpenStack-dev at lists.openstack.org>
> <mailto:OpenStack-dev at lists.__openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>>
>
> >
> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
> _________________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.__org
> <mailto:OpenStack-dev at lists.openstack.org>
> <mailto:OpenStack-dev at lists.__openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>>
>
> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev
>
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>
> --
> Thanks,
>
> Jay
>
>
> _________________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.__org
> <mailto:OpenStack-dev at lists.openstack.org>
> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
> _________________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.__org
> <mailto:OpenStack-dev at lists.openstack.org>
> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>
>
> --
> Thanks,
>
> Jay
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> --
> Thanks,
>
> Jay
>
>
>
> --
> Thanks,
>
> Jay
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140219/a7059a04/attachment.html>
More information about the OpenStack-dev
mailing list