openstack 怎样创建虚拟网络

openstack 怎样创建虚拟网络,第1张

(一)网络服务配置

1、在compute node上面安装nova-network nova-api-metadata,在controller管理机上面安装nova-network服务compute node:# apt-get install nova-api-metadata

controller : # apt-get install nova-network

2、编辑nova.conf定义网络模块,在[DEFAULT]选项下修改添加如下,注意,controller和compute节点都要添加该配置文件

[DEFAULT]

...

network_manager=nova.network.manager.FlatDHCPManager

firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver

network_size=254

allow_same_net_traffic=False

multi_host=True

send_arp_for_ha=True

share_dhcp_address=True

force_dhcp_release=True

flat_network_bridge=br100

flat_interface=eth1

public_interface=eth1

3、重启网络服务

# service nova-network restart

4、现在在controller管理机设置环境变量,运行

# source openrc.sh

然后创建一个可以使用的虚拟机网络

# nova network-create vmnet --fixed-range-v4=10.0.0.0/24 --bridge=br100 --multi-host=T

5、通过nova命令查看创建的虚拟机网络

root@ubuntu:~# nova network-list

+--------------------------------------+-------+-------------+

| ID | Label | Cidr |

+--------------------------------------+-------+-------------+

| f115a713-3411-4ff9-b71e-4fa43bcfda79 | vmnet | 10.0.0.0/24 |

+--------------------------------------+-------+-------------+

OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢看

1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个。这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2。

2. 添加一个新的bridge br-ex,并将eth2作为port绑定到br-ex

[plain] view plain copy

# ovs-vsctl add-br br-ex

# ovs-vsctl add-port br-ex eth2

3. 创建/etc/sysconfig/network-scripts/ifcfg-eth2文件,并输入如下内容:

[plain] view plain copy

TYPE=OVSPort

BOOTPROTO=none

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

DEVICE=eth2

ONBOOT=yes

4. 创建/etc/sysconfig/network-scripts/ifcfg-br-ex文件,并输入如下内容:

[plain] view plain copy

TYPE=OVSBridge

BOOTPROTO=none

DEVICETYPE=ovs

NAME=br-ex

DEVICE=br-ex

ONBOOT=yes

5. 重新启动网络服务让配置生效

[plain] view plain copy

# systemctl restart network.service

6. 用具有admin role的用户在Openstack Controller节点创建外网(external network)和相应子网,这里的外网是所谓的provider network,是不允许普通权限的租户创建的,普通的租户只能创建租户网络。注意"--router:external=true"选项表示这是一个外网,网络类型选的是flat(如果外网是VLAN,就选VLAN),子网的CIDR是192.168.100.0/24。

[plain] view plain copy

# neutron net-create --provider:network_type flat --provider:physical_network default --router:external=true public

# neutron subnet-create public --name public_subnet --allocation-pool start=192.168.100.100,end=192.168.100.150 192.168.100.0/24

创建完成后显示结果如下:

7. 如果要让租户的虚机访问外网,还需要创建一个router,用普通租户用户创建router,命令如下:

[plain] view plain copy

# neutron router-create router01

8. 将租户的私有子网(private_sub)作为interface加入router01,并将外网(public)设置为网关:

[plain] view plain copy

# neutron router-interface-add router01 private_sub

# neutron router-gateway-set router01 public

9. 然后就可以为虚拟机分配floating IP了。分配完成后虚拟机就可以访问外网了。

[plain] view plain copy

# neutron floatingip-create public

# neutron floatingip-list

[plain] view plain copy

# neutron floatingip-associate e12a6c2b-fc5e-4448-a6bb-3047638b850e 164f410e-6961-422d-b256-0609bfe6e9ff

使用OpenStack虚机启动的网卡是临时的,虚拟机重启就失效了,虚拟机挂起也会失效,网卡重启也会失效

测试环境: 分别在三台机器上增加一个网卡,选择lan网段,地址172.16.0.0/24

(一)增加一个flat网络原因

(二)添加网卡eth1

控制节点:

计算节点1:

计算节点2:

互相进行ping测试,测试连通性

(三)控制节点配置

1:控制节点

a:

b:

c:重启

systemctl restart neutron-server.service neutron-linuxbridge-agent.service

(四)计算节点配置

a:

b:重启

(五)创建网络

1、命令行创建:

neutron net-create --shared --provider:physical_network net172_16_0

--provider:network_type flat jiage

neutron subnet-create --name jiage

--allocation-pool start=172.16.0.1,end=172.16.0.250

--dns-nameserver 223.5.5.5 --gateway 172.16.0.254

jiage 172.16.0.0/24

查看创建的网络和子网详情

2、web页面创建网络:

管理员-网络-创建网络(供应商:平面)

创建子网

创建实例测试网络是否可用:项目-实例-创建实例(创建过程中可以选择刚创建的网络)

目前网络内网是通的,但是外网不通.因为指定的网关真实并不存在

需要创建一个linux系统作为路由器使用:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11250234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存