Floating IP in OpenStack Neutron(2)

stack@openstack-wangp11-01:~/devstack$ neutron net-create --provider:network_type vlan --provider:physical_network public_eth1 --provider:segmentation_id 100 vlan_100​ stack@openstack-wangp11-01:~/devstack$ neutron net-show vlan_100 +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | 2426ff0d-953f-467f-a564-c4f63d926836 | | mtu | 0 | | name | vlan_100 | | port_security_enabled | True | | provider:network_type | vlan | | provider:physical_network | public_eth1 | | provider:segmentation_id | 100 | | router:external | False | | shared | False | | status | ACTIVE | | subnets | fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f | | tenant_id | 8cb8c084ffb84914b41d5044ecbcad4e | +---------------------------+--------------------------------------+ stack@openstack-wangp11-01:~/devstack$ neutron subnet-create --enable-dhcp --ip-version 4 --name vlan_100_subnet01 2426ff0d-953f-467f-a564-c4f63d926836 192.168.46.0/24​ stack@openstack-wangp11-01:~/devstack$ neutron subnet-show fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f +-------------------+----------------------------------------------------+ | Field | Value | +-------------------+----------------------------------------------------+ | allocation_pools | {"start": "192.168.46.2", "end": "192.168.46.254"} | | cidr | 192.168.46.0/24 | | dns_nameservers | | | enable_dhcp | True | | gateway_ip | 192.168.46.1 | | host_routes | | | id | fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | vlan_100_subnet01 | | network_id | 2426ff0d-953f-467f-a564-c4f63d926836 | | subnetpool_id | | | tenant_id | 8cb8c084ffb84914b41d5044ecbcad4e | +-------------------+----------------------------------------------------+

接下来,创建Floating IP所在的public network, 网络类型是flat

注意下面:192.168.1.100-192.168.1.119是网络管理员分配给我的IP pool,192.168.1.30是我们网络的router ip

# Step 1: create external flat network $ neutron net-create --router:external --provider:network_type flat --provider:physical_network public_eth0 public_net # Step 2: create subnet based on your reservation Here $ neutron subnet-create --name public_eth0_subnet01 --allocation-pool start=192.168.1.100,end=192.168.1.119 --gateway​ 192.168.1.30 --disable-dhcp --ip-version 4 22d01ce7-b4c4-4af2-bc3c-9c3991903b4c 192.168.1.0/24 # Step 3: create a external router $ neutron router-create router1 # Step 4: connect router1 with the private subnet via 'neutron router-interface-add <router-id> <private_subnet_id>' $ neutron router-interface-add 2da62299-6e41-4b24-a1c7-a3d6cc4db1c8 fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f # Step 5: Set the external public network as the router gateway 'neutron router-gateway-set <router-id> <public_subnet_id>' $ neutron router-gateway-set 73a38db4-20f9-49ba-b855-472be1e2fd45 e0368da6-197e-4c46-bfd1-4897d61b519a # Step 6: Create floating IP from public network 'neutron floatingip-create <public network id>' $ neutron floatingip-create 1452712a-acb3-4341-a5ca-1d838eb2feb9 # Step 7: assicate the VM instance's port in private network to the newly created floating ip port ## get the port id of floating IP (in bold) $ stack@openstack-wangp11-01:~$ neutron floatingip-list +--------------------------------------+------------------+---------------------+--------------------------------------+ | id | fixed_ip_address | floating_ip_address | port_id | +--------------------------------------+------------------+---------------------+--------------------------------------+ | a2316e0b-6d72-420f-8a23-f8421160d3d4 | | 192.168.1.102 | 75353e16-5a16-452e-b420-0ada719d625c | +--------------------------------------+------------------+---------------------+--------------------------------------+ ## get the port id of private interface attached to VM instance $ stack@openstack-wangp11-01:~$ neutron port-list +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | 16a3e39c-48ef-4d4d-bc8a-96b27da7ff3c | | fa:16:3e:c1:24:51 | {"subnet_id": "e0368da6-197e-4c46-bfd1-4897d61b519a", "ip_address": "192.168.1.100"} | | 616d03cd-df6a-465f-a23a-b6bf46e55f7a | | fa:16:3e:48:2e:7f | {"subnet_id": "fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f", "ip_address": "192.168.46.4"} | | 713e4541-7d22-4403-b828-94d714d94ec0 | | fa:16:3e:af:43:7b | {"subnet_id": "fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f", "ip_address": "192.168.46.2"} | | 75353e16-5a16-452e-b420-0ada719d625c | | fa:16:3e:23:11:db | {"subnet_id": "fab94e2f-f7de-4bf6-8e9b-7ade0fcfad1f", "ip_address": "192.168.46.3"}
# 上面红色的port是VM在private network的interface $ stack@openstack
-wangp11-01:~$ neutron floatingip-associate a2316e0b-6d72-420f-8a23-f8421160d3d4 75353e16-5a16-452e-b420-0ada719d625c # Now you can use '192.168.1.102' to login to the VM instance from 192.168.1.XX network

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9c193305e1d2f40f73ac90186d0999f4.html