精华内容
下载资源
问答
  • Neutron

    2019-10-25 08:23:34
    Neutron
  • neutron

    2014-05-23 14:29:13
    1./etc/init.d/neutron-server start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir $DAEMON_DIR --exec $DAEMON -- $DAEMON_ARGS  PIDFILE=/var/run/neutron/neutron-server.pid  LOGFILE=/var/log/n
    1./etc/init.d/neutron-server

    start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir $DAEMON_DIR --exec $DAEMON -- $DAEMON_ARGS

        PIDFILE=/var/run/neutron/neutron-server.pid
        LOGFILE=/var/log/neutron/neutron-server.log

        DAEMON=/usr/bin/neutron-server
        DAEMON_ARGS="--log-file=$LOGFILE"
        DAEMON_DIR=/var/run

    2.neutron-stable-icehouse\setup.cfg
    neutron-server = neutron.server:main

    3.neutron-stable-icehouse\neutron\server\__init__.py
    main()
    from neutron import service
        pool = eventlet.GreenPool()
            neutron_api = service.serve_wsgi(service.NeutronApiService)
            api_thread = pool.spawn(neutron_api.wait)

                neutron_rpc = service.serve_rpc()
                rpc_thread = pool.spawn(neutron_rpc.wait)

    4.neutron-stable-icehouse\neutron\service.py

    serve_wsgi(cls):
        service = cls.create()
        service.start()

    class NeutronApiService(WsgiService):
        def create(cls, app_name='neutron'):
            service = cls(app_name)

    class WsgiService(object):
        def start(self):
            self.wsgi_app = _run_wsgi(self.app_name)


    from neutron import wsgi
            
    def _run_wsgi(app_name):
        app = config.load_paste_app(app_name)

        server = wsgi.Server("Neutron")
        server.start(app, cfg.CONF.bind_port, cfg.CONF.bind_host,
                     workers=cfg.CONF.api_workers)


    5.neutron-stable-icehouse\neutron\wsgi.py
    class Server(object):





               
    展开全文
  • neutron-fwaas 是 OpenStack Neutron 的防火墙服务。这个包包括了 Neutron 防火墙服务(FWaaS)的源代码,例如第三方驱动。这个库需要 Neutron 运行。 标签:neutron
  • OpenStackNeutron解析

    2021-01-30 04:49:59
    Neutron是OpenStac环境的核心组件之一,了解Neutron的功能和部署方式,是企业OpenStack系统的规划、部署和运维需要修炼的内功。在本文中,Neutron“大师兄”龚永生为我们详细介绍了Neutron的技术原理和发展方向,...
  • neutron-server

    2020-02-22 15:27:41
    openstack kilo版本与H3C VCF对接中,当插件安装完成后service neutron-server restart无法重启neutron服务,使用此脚本冲洗,重启命令/etc/init.d/neutron-w start
  • Neutron部署

    2019-10-14 19:49:56
    文章目录控制节点 控制节点 进入数据库 创建数据库neutron ... grant all privileges on neutron.* to 'neutron'@'%' identified by 'neutron'; source openrc 创建用户 openstack user create --...

    部署环境

    • 控制节点添加两块网卡:ens37和ens38
    • 计算节点添加一块网卡:ens37

    控制节点

    登录mariadb,创建neutron的用户和数据库

    创建数据库neutron
    	create database neutron;
    创建用户neutron并赋予其neutron库的所有权限
    	grant all privileges on neutron.* to 'neutron'@'%' identified by 'neutron';
    

    退出mariadb,在OpenStack平台中创建环境

    admin登录OpenStack
    	source openrc
    创建用户
    	openstack user create --domain default --password=neutron neutron
    将neutron加入service项目
    	openstack role add --project service --user neutron admin
    创建neutron服务
    	openstack service create --name neutron --description "OpenStack Networking" network
    创建endpoint
    	openstack endpoint create --region RegionOne network public http://controller1:9696
    	openstack endpoint create --region RegionOne network internal http://controller1:9696
    	openstack endpoint create --region RegionOne network admin http://controller1:9696
    

    检查上述步骤是否成功

    检查用户是否成功创建
    	openstack user list
    	+----------------------------------+-----------+
    	| ID                               | Name      |
    	+----------------------------------+-----------+
    	| a32609f262634901a3628cb45afd6137 | neutron   |
    	+----------------------------------+-----------+
    检查neutron服务是否成功创建
    	openstack service list
    	+----------------------------------+-----------+-----------+
    	| ID                               | Name      | Type      |
    	+----------------------------------+-----------+-----------+
    	| 4e650de0ccc94371970b3e14f7e4c9bc | neutron   | network   |
    	+----------------------------------+-----------+-----------+
    检查endpoint
    	openstack endpoint list
    	+-------------------+-----------+--------------+--------------+---------+-----------+--------------------+
    	| ID                | Region    | Service Name | Service Type | Enabled | Interface | URL                |
    	+-------------------+-----------+--------------+--------------+---------+-----------+--------------------+
    	| 573a26f7c7324612a | RegionOne | neutron      | network      | True    | internal  | http://controller1 |
    	| b337b963913a7ee   |           |              |              |         |           | :9696              |
    	| 7a44bd7f420040898 | RegionOne | neutron      | network      | True    | admin     | http://controller1 |
    	| 0bce5546868fa9f   |           |              |              |         |           | :9696              |
    	| f720e727359049b18 | RegionOne | neutron      | network      | True    | public    | http://controller1 |
    	| 3e7de7d0cb50d3b   |           |              |              |         |           | :9696              |
    	+-------------------+-----------+--------------+--------------+---------+-----------+--------------------+
    

    安装配置neutron

    安装neutron软件包
    	yum -y install openstack-neutron openstack-neutron-ml2 openvswitch openstack-neutron-openvswitch ebtables
    编辑配置文件	
    	vim /etc/neutron/neutron.conf
    	vim /etc/neutron/plugins/ml2/ml2_conf.ini
    	vim /etc/neutron/plugins/ml2/openvswitch_agent.ini
    	vim /etc/neutron/l3_agent.ini
    	vim /etc/neutron/metadata_agent.ini
    	vim /etc/neutron/dhcp_agent.ini
    	vim /etc/nova/nova.conf
    建立启动链接
    	ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    同步数据库
    	su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
    	--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
    重启nova服务
    	systemctl restart openstack-nova-api
    启动neutron服务
    	systemctl enable neutron-server neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent
    	systemctl restart neutron-server neutron-openvswitch-agent neutron-dhcp-agent neutron-metadata-agent
    启动layer-3服务
    	ovs-vsctl add-br br-ex 
    	ovs-vsctl add-port br-ex ens38
    	systemctl enable neutron-l3-agent
    	systemctl restart neutron-l3-agent
    

    计算节点

    安装neutron软件包	
    	yum -y install openvswitch openstack-neutron-openvswitch ebtables ipset
    修改配置文件
    	vim /etc/neutron/neutron.conf
    	vim /etc/nova/nova.conf
    启动neutron服务
    	systemctl enable openvswitch neutron-openvswitch-agent
    	systemctl restart openvswitch neutron-openvswitch-agent	
    

    配置文件

    控制节点的/etc/neutron/neutron.conf

    [DEFAULT]
    # 设置neutron状态文件存储路径
    state_path = /var/lib/neutron
    auth_strategy = keystone
    # 设置neutron的核心插件使用ML2
    core_plugin = ml2
    # neutron的服务插件使用router
    service_plugins = router
    # 允许重叠ip
    allow_overlapping_ips = true
    dhcp_agent_notification = true
    # 端口状态和数据更改时向nova发送通知,nova可以更新缓存,类似一个监控功能
    notify_nova_on_port_status_changes = true
    notify_nova_on_port_data_changes = true
    transport_url = rabbit://openstack:openstack@controller1
     
    [agent]
     
    [cors]
     
    [cors.subdomain]
     
    [database]
    connection = mysql+pymysql://neutron:neutron@controller1/neutron
     
    [keystone_authtoken]
    auth_uri = http://controller1:5000
    auth_url = http://controller1:35357
    memcached_servers = controller1:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = neutron
    password = neutron
     
    [matchmaker_redis]
     
    [nova]
    region_name = RegionOne
    auth_url = http://controller1:35357
    auth_type = password
    project_domain_name = default
    project_name = service
    user_domain_name = default
    username = nova
    password = nova
     
    [oslo_concurrency]
    lock_path = $state_path/tmp
     
    [oslo_messaging_amqp]
     
    [oslo_messaging_kafka]
     
    [oslo_messaging_notifications]
     
    [oslo_messaging_rabbit]
     
    [oslo_messaging_zmq]
     
    [oslo_middleware]
     
    [oslo_policy]
     
    [qos]
     
    [quotas]
     
    [ssl]
    

    控制节点的/etc/neutron/plugins/ml2/ml2_conf.ini

    [DEFAULT]
     
    [ml2]
    # ML2类型驱动可以使用flat、vlan、vxlan
    type_drivers = flat,vlan,vxlan
    # 租户网络类型使用vxlan
    tenant_network_types = vxlan
    # 设置mechanism驱动
    mechanism_drivers = openvswitch,l2population
    # 设置扩展驱动
    extension_drivers = port_security
     
    [ml2_type_flat]
     
    [ml2_type_geneve]
     
    [ml2_type_gre]
     
    [ml2_type_vlan]
     
    [ml2_type_vxlan]
    # VXLAN VNI ID范围
    vni_ranges = 1:1000
     
    [securitygroup]
    # 使用ipset加速基于iptables的安全组
    enable_ipset = true
    

    控制节点的/etc/neutron/plugins/ml2/openvswitch_agent.ini

    [DEFAULT]
     
    [agent]
    # 设置代理支持的网络类型
    tunnel_types = vxlan
    # 使用ML2 l2 population的mechanism驱动提高隧道技术伸缩性
    l2_population = True
     
    [ovs]
    # 使用哪种隧道网桥
    tunnel_bridge = br-tun
    local_ip = 192.168.88.111
    bridge_mappings =
     
    [securitygroup]
    # 启用ipset提高安全组效率
    firewall_driver = iptables_hybrid
    enable_security_group = true
     
    [xenapi]
    
    

    控制节点的/etc/neutron/l3_agent.ini

    [DEFAULT]
    # 选择用于管理虚拟接口的驱动程序
    interface_driver = openvswitch
    external_network_bridge = br-ex
     
    [agent]
     
    [ovs]
    

    控制节点的/etc/neutron/metadata_agent.ini

    [DEFAULT]
    nova_metadata_ip = controller1
    # 类似密码的东西,要和nova metadata的配置一致
    metadata_proxy_shared_secret = neutron
     
    [agent]
     
    [cache]
    

    控制节点的/etc/neutron/dhcp_agent.ini

    [DEFAULT]
    interface_driver = openvswitch
    dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
    enable_isolated_metadata = true
     
    [agent]
     
    [ovs]
    
    

    /etc/nova/nova.conf

    [neutron]
    url = http://controller1:9696
    auth_url = http://controller1:35357
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    region_name = RegionOne
    project_name = service
    username = neutron
    password = neutron
    service_metadata_proxy = true
    metadata_proxy_shared_secret = neutron
    

    计算节点的/etc/neutron/neutron.conf

    [DEFAULT]
    auth_strategy = keystone
    transport_url = rabbit://openstack:openstack@controller1
    
    [agent]
    
    [cors]
    
    [cors.subdomain]
    
    [database]
    
    [keystone_authtoken]
    auth_uri = http://controller1:5000
    auth_url = http://controller1:35357
    memcached_servers = controller1:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = neutron
    password = neutron
    
    [matchmaker_redis]
    
    [nova]
    
    [oslo_concurrency]
    lock_path = /var/lib/neutron/tmp
    
    [oslo_messaging_amqp]
    
    [oslo_messaging_kafka]
    
    [oslo_messaging_notifications]
    
    [oslo_messaging_rabbit]
    
    [oslo_messaging_zmq]
    
    [oslo_middleware]
    
    [oslo_policy]
    
    [qos]
    
    [quotas]
    
    [ssl]
    
    
    展开全文
  • openstack neutron

    2020-01-15 17:32:37
    neutron-server:可以理解为用来接收Neutron REST API调用的服务器,然后负责将不同的rest api分发到不同的neutron-plugin上 neutron-plugin:可以理解为不同网络功能实现的入口,各个厂商可以开发自己的plugin。...

    在数据中心现有的物理网络基础之上叠加一层我们自己的虚拟网络–>neutron
    neutron包含组件:

    在这里插入图片描述
    neutron-server:可以理解为用来接收Neutron REST API调用的服务器,然后负责将不同的rest api分发到不同的neutron-plugin上

    neutron-plugin:可以理解为不同网络功能实现的入口,各个厂商可以开发自己的plugin。Neutron-plugin接收neutron-server分发过来的REST API向neutron database完成一些信息的注册,然后将具体要执行的业务操作和参数通知给自身对应的neutron agent

    4.Neutron database,顾名思义就是Neutron的数据库,一些业务相关的参数都存在这里。

    5.Network provider,即为实际执行功能的网络设备,一般为虚拟交换机(OVS或者Linux Bridge)。

    neutron-plugin分为core-plugin和service-plugin两类。

    Core-plugin,Neutron中即为ML2(Modular Layer 2),负责管理L2的网络连接。ML2中主要包括network、subnet、port三类核心资源,对三类资源进行操作的REST API被neutron-server看作Core API,由Neutron原生支持。其中:
    network->{tenant broadcast subnet and port assign to special network} network ->Flat Vlan Vxlan GRE.
    在这里插入图片描述
    Service-plugin,即为除core-plugin以外其它的plugin,包括l3 router、firewall、loadbalancer、VPN(虚拟专用网络,在公网上建的加密的虚拟网络)、metering等等,主要实现L3-L7的网络服务。这些plugin要操作的资源比较丰富,对这些资源进行操作的REST API被neutron-server看作Extension API,需要厂家自行进行扩展

    “Neutron对Quantum的插件机制进行了优化,将各个厂商L2插件中独立的数据库实现提取出来,作为公共的ML2插件存储租户的业务需求,使得厂商可以专注于L2设备驱动的实现,而ML2作为总控可以协调多厂商L2设备共同运行”。在Quantum中,厂家都是开发各自的Service-plugin,不能兼容而且开发重复度很高,于是在Neutron中就为设计了ML2机制,使得各厂家的L2插件完全变成了可插拔的,方便了L2中network资源扩展与使用。

    (注意,以前厂商开发的L2 plugin跟ML2都存在于neutron/plugins目录下,而可插拔的ML2设备驱动则存在于neutron/plugins/ml2/drivers目录下)

    ML2作为L2的总控,其实现包括Type和Mechanism两部分,每部分又分为Manager和Driver**。Type指的是L2网络的类型(如Flat、VLAN、VxLAN等),与厂家实现无关。Mechanism则是各个厂家自己设备机制的实现,如下图所示。当然有ML2,对应的就可以有ML3,不过在Neutron中L3的实现只负责路由的功能**,传统路由器中的其他功能(如Firewalls、LB、VPN)都被独立出来实现了,因此暂时还没有看到对ML3的实际需求。
    在这里插入图片描述
    一般而言**,neutron-server和各neutron-plugin部署在控制节点或者网络节点上**,而neutron agent则部署在网络节点上和计算节点上。我们先来分析控制端neutron-server和neutron-plugin的工作,然后再分析设备端neutron-agent的工作。
    在这里插入图片描述

    2.2 Neturon网络虚拟化简介
    part1

    想要了解openstack的虚拟化网络,必先知道承载openstack虚拟化网络的物理网络    
    
    在实际的数据中心中,与openstack相关的物理网络可以分为三层:
    

    1 OpenStack Cloud network:OpenStack 架构的网络
    2 机房intranet (external network):数据中心所管理的的公司网(Intranet) ,虚机使用的 Floating IP 是这个网络的地址的一部分。
    3 以及真正的外部网络即 Internet:由各大电信运营商所管理的公共网络,使用公共IP。
    External 网络和Internet 之间是数据中心的 Uplink 路由器,它负责通过 NAT 来进行两个网络之间的IP地址(即 floating IP 和 Internet/Public IP)转换,因此,这部分的控制不在 OpenStack 控制之下,我们无需关心它。
    openstack架构的网络—>机房的网络external-----(NAT)—>外网internet

    part2

    openstack架构的网络又可细分为以下几种(下述指的仍然是物理网络):

    管理网络:包含api网络(public给外部用,admin给管理员用-是内部ip,internal给内部用-是内部ip)
    数据网络
    存储网络
    IDRAC网络
    PXE网络
      数据网络主要用于vm之间的通信,这部分是neutron所实现网络虚拟化的核心,neutron基于该物理网络之上,来实现满足多租户要求的虚拟网络和服务
      part3

    Neutron 提供的网络虚拟化能力包括:

    (1)二层到七层网络的虚拟化:L2(virtual switch)、L3(virtual Router 和 LB(loadbalancer))、L4-7(virtual Firewall )等

    (2)网络连通性:二层网络和三层网络

    (3**)租户隔离性**

    (4**)网络安全性**

    (4)网络扩展性

    (5)REST API

    (6)更高级的服务,包括 LBaaS,FWaaS,VPNaaS 等。具体以后再慢慢分析。
    Neutron主要为租户提供虚拟的

    1. 交换机(switch)
      2. 网络(L2 network)和子网(subnet)一个L2网络负责提供一种二层隔离方法,可以是一个纯粹的L2技术(如VLAN),或一个网络覆层(overlay)技术(如GRE隧道,VxLAN),
      3. 路由器(router)
      4. 端口(port)

    2.3 构建大二层网络:虚拟交换机(switch)+物理交换机
    1. 什么是二层网络?

    二层指的是数据链路层,计算机与计算机之间的通信采用的是基于以太网协议广播的方式,请参考
    https://www.cnblogs.com/linhaifeng/articles/5937962.html
    2. 什么是大二层网络?
    
    大二层的概念指的是openstack中所有的vm都处于一个大的二层网络中,大二层也可以被想象成一堆二层交换机串联到一起。
     3. 为什么要构建大二层网络?
    构建大二层网络的目的就是为了满足vm可以迁移到全网的任意位置。二层无需网关,无需路由,因而资源调用更加灵活,反之,如果所有vm不在一个大二层中,那么vm迁移到另外一个位置(另外一个网络中),则需要我们人为地指定网关,添加路由策略,然而这还只是针对一台vm的迁移,要满足所有的vm的动态迁移,再去指定网关、路由等就不现实了。
    
    1. 如何构建大二层网络?

      一些列二层设备串联起来,组成一个大二层网络,在openstack中二层设备分为:物理的二层设备和虚拟机的二层设备

      虚拟的二层设备又分为:

    1. Neutron 默认采用的 开源Open vSwitch 创建的虚机交换机

    2. Linux bridge。
        在这里插入图片描述
    需要特别强调的是:

    1.大二层网络是由虚拟二层设备和物理二层设备共同组成的;
      2.而这里面所有的二层设备合在一起相当于一个大的交换机;
      3.大二层网络是在计算节点或者网络节点启动时就会建立,而后期用户建立的网络,都是在此网络的基础之上进行逻辑划分,用户每新建一个网络都被分配相应的段ID(相当于vlan id)

    2.4 大二层网络创建完毕后,用户如何使用?->网络(L2 network)、子网(subnet)
    part1:用户创建的L2 network

    云平台在构建完毕后,即在物理节点都正常启动后,大二层网络也就创建好了,对用户来说,此时相当于一台大的二层交换机摆在面前,即用户创建网络就是把整个大二层网络当成一个交换机

    然后用户需要做的是基于该网络划分自己的vlan,即建立一个l2 network,

    例如:用户(例如demo用户)可以在自己的project下创建网络(L2 network)(vlan 网络隔离),该网络就是在大二层的基础上划分出来的,是一个隔离的二层网段。类似于物理网络世界中的虚拟 LAN (VLAN),每建立一个l2 network,都会被分配一个段ID,该段ID标识一个广播域,这个ID是被随机分配的,除非使用管理员身份在管理员菜单下,才可以手动指定该ID

    那么就让我们在demo租户下以demo用户身份创建demo-net网络:
    那么就让我们在demo租户下以demo用户身份创建demo-net网络:
    在这里插入图片描述
    以admin用户登录,这样才能看到新建网络demo-net的段ID,其实此时demo-net仅仅只是一种逻辑上划分
    在这里插入图片描述
    补充:使用管理员身份在管理员菜单下,创建网络可以手动指定段ID
    在这里插入图片描述
    part2:用户为自己新建的l2 network,即demo-net,创建子网==

    子网是一组 IPv4 或 IPv6 地址以及与其有关联的配置。它是一个地址池,OpenStack 可从中向虚拟机 (VM) 分配 IP 地址。每个子网指定为一个无类别域间路由 (Classless Inter-Domain Routing) 范围,必须与一个网络相关联。除了子网之外,租户还可以指定一个网关、一个域名系统 (DNS) 名称服务器列表,以及一组主机路由。这个子网上的 VM 实例随后会自动继承该配置。

    在 OpenStack Kilo 版本之前,用户需要自己输入 CIDR。Kilo 版本中实现了这个 Blueprint,使得 Neutron 能够从用户指定的 CIDR Pool 中自动分配 CIDR。

    在这里插入图片描述

    在这里插入图片描述

    查看新建子网的信息
    在这里插入图片描述
    创建的结果:就好比我们拿来一台“交换机”分出了一个VLAN.

    注:在AWS中,该概念对应其 Subnet 概念。AWS 对 Subnet 的数目有一定的限制,默认地每个 VPC 内最多只能创建 200 个 Subnet。从CIDR角度看,一个 VPC 有一个比较大的网段,其中的每个 Subnet 分别拥有一个较小的网段。这种做法和OpenStack 有区别,OpenStack 中创建网络时不需要指定 CIDR。
     ========part3:dhcp-agent服务于网络demo-net下的子网demo-subnet==========   
    

    在建立了子网后,会在网络节点上新增一个名称空间用来运行dhcp-agent专门为demo-net下的demo-subnet分配ip

    demo-net有一个段ID:51

    demo-subnet有网络ID:a603fd2c-35ef-46de-b9c4-da48680eb27d

    连接dhcp-agent的端口网络ID:a603fd2c-35ef-46de-b9c4-da48680eb27d
    在这里插入图片描述
    对应大二层网络上的变化为:在网络节点上新增dhcp-agent,在网络节点上的br-int新增端口,该端口的属于demo-net,及属于段ID:51

    ps:新建子网后,便会网络节点新增dhcp-agent(解释一下:图中虚拟机是新建虚拟机后才有的)
    

    在这里插入图片描述
    在demo-net新增一个子网的话,不会新增dhcp-agent,会新增地址池
    在这里插入图片描述
    总结:

    DHCP 服务是网络环境中必须有的。Neutron 提供基于 Dnamasq (轻型的dns和dhcp服务)实现的虚机 DHCP 服务,向租户网络内的虚机动态分配固定 IP 地址。它具有以下特性:
    

    一个网络可以有多个运行在不同物理网络节点上的 DHCP Agent,同时向网络内的虚机提供服务
    一个 DHCP Agent 只属于一个网络,在网络节点上运行在一个 network namespace 内
    网络内的子网共享该 DHCP Agent
    在这里插入图片描述
    part4:新建vm1和vm2连接到demo-net==

    在demo-net以及demo-subnet建立成功后,就可以新建虚拟机连接到demo-net了,相当于同一个vlan中的俩台虚拟机,二层互通

    此处我们新建vm1和vm2,网络拓扑如下

    在这里插入图片描述
    对应大二层网络的端口连接连接
    在这里插入图片描述
    这里所谓的隔离,可以理解为几个含义:
    1每个网络使用自己的 DHCP Agent,每个 DHCP Agent 在一个 Network namespace 内
    2.不同网络内的IP地址可以重复(overlapping)
    3.跨网络的子网之间的流量必须走 L3 Virtual Router

    2.5 虚拟机路由器(Vitual Router)
      要想让demo-net1上的vm3与demo-net上的vm2通信,用户必须建立连接这两个网络的路由器router
      在这里插入图片描述
      添加接口
      在这里插入图片描述
       查看网络拓扑
       在这里插入图片描述
       对应大二层网络的变化
       在这里插入图片描述
        测试来自demo-net的vm2:172.16.45.6与demo-net1的vm3:172.16.18.3的连通性
        在这里插入图片描述
        要想连接外网,需要用管理员身份,创建与外部网络绑定的网络,然后将demo租户下的test-router的网关指定为该网络
        在这里插入图片描述
        在这里插入图片描述
    网络拓扑
    在这里插入图片描述
    测试:
    在这里插入图片描述
    2.6 端口(Port)
    一个 Port 代表虚拟网络交换机(logical network switch)上的一个虚机交换端口(virtual switch port)。虚机的网卡(VIF - Virtual Interface)会被连接到 port 上。当虚机的 VIF 连接到 Port 后,这个 vNIC 就会拥有 MAC 地址和 IP 地址。Port 的 IP 地址是从 subnet 中分配的。
    三 实现网络虚拟化的关键:如何构建虚拟的大二层网络
    根据创建网络的用户的权限,Neutron L2 network 可以分为:
    Provider network:管理员创建的和物理网络有直接映射关系的虚拟网络。

    在这里插入图片描述
    在这里插入图片描述
    Tenant network:租户普通用户创建的网络,物理网络对创建者透明,其配置由 Neutron根据管理员在系统中的配置决定
    在这里插入图片描述
    虚机可以直接挂接到 provider network 或者 tenant network 上 “VMs can attach directly to both tenant and provider networks, and to networks with any provider:network_type value, assuming their tenant owns the network or its shared.”。
    根据网络的类型,Neutron L2 network 可以分为:

    Flat network:基于不使用 VLAN 的物理网络实现的虚拟网络。每个物理网络最多只能实现一个虚拟网络。
    local network(本地网络):一个只允许在本服务器内通信的虚拟网络,不知道跨服务器的通信。主要用于单节点上测试。
    VLAN network(虚拟局域网) :**基于物理 VLAN 网络实现的虚拟网络。**共享同一个物理网络的多个 VLAN 网络是相互隔离的,甚至可以使用重叠的 IP 地址空间。每个支持 VLAN network 的物理网络可以被视为一个分离的 VLAN trunk,它使用一组独占的 VLAN ID。有效的 VLAN ID 范围是 1 到 4094。
    GRE network (通用路由封装网络):一个使用 GRE 封装网络包的虚拟网络。GRE 封装的数据包基于 IP 路由表来进行路由,因此 GRE network 不和具体的物理网络绑定。
    VXLAN network(虚拟可扩展网络):基于 VXLAN 实现的虚拟网络。同 GRE network 一样, VXLAN network 中 IP 包的路由也基于 IP 路由表,也不和具体的物理网络绑定。
    注:在AWS中,该概念对应 VPC 概念。AWS 对 VPC 的数目有一定的限制,比如每个账户在每个 region 上默认最多只能创建 5 个VPC,通过特别的要求最多可以创建 100 个。
    L2 network之Provider与Tenant的区别

    Provider network 是由 Admin 用户创建的,而 Tenant network 是由 tenant 普通用户创建的。
    Provider network 和物理网络的某段直接映射,比如对应某个 VLAN,因此需要预先在物理网络中做相应的配置。而 tenant network 是虚拟化的网络,Neutron 需要负责其路由等三层功能。
    对 Flat 和 VLAN 类型的网络来说,只有 Provider network 才有意义。即使是这种类型的 tenant network,其本质上也是对应于一个实际的物理段。
    对 GRE 和 VXLAN 类型的网络来说,只有 tenant network 才有意义,因为它本身不依赖于具体的物理网络,只是需要物理网络提供 IP 和 组播即可。
    Provider network 根据 admin 用户输入的物理网络参数创建;而 tenant work 由 tenant 普通用户创建,Neutron 根据其网络配置来选择具体的配置,包括网络类型,物理网络和 segmentation_id。
    创建 Provider network 时允许使用不在配置项范围内的 segmentation_id。
    3.2 依赖物理的二层来建立虚拟的大二层(vlan模式)
    物理的二层指的是:物理网络是二层网络,基于以太网协议的广播方式进行通信

    虚拟的二层指的是:neutron实现的虚拟的网络也是二层网络(openstack的vm机所用的网络必须是大二层),也是基于以太网协议的广播方式进行通信,但毫无疑问的是该虚拟网络依赖于物理的二层网络
    
    物理二层+虚拟二层的典型代表:vlan网络模式,https://www.cnblogs.com/linhaifeng/p/6710751.html
    

    3.3 依赖物理的三层来建立虚拟的大二层(gre模块与vxlan模式)
    物理的三层指的是:物理网络是三层网络,基于ip路由的方式进行通信

    虚拟的二层指的是:neutron实现的虚拟的网络仍然是二层网络(openstack的vm机所用的网络必须是大二层),仍然是基于以太网协议的广播方式进行通信,但毫无疑问的是该虚拟网络依赖于物理的三层网络,这有点类似于VPN的概念,根本原理就是将私网的包封装起来,最终打上隧道的ip地址传输。
    
    物理三层+虚拟二层的典型代表:gre模式与vxlan模式,https://www.cnblogs.com/linhaifeng/p/6716477.html
    http://www.cnblogs.com/linhaifeng/articles/5937962.html
    
    展开全文
  • Neutron学习

    2019-10-10 17:34:50
  • Neutron介绍

    千次阅读 2019-04-09 22:08:58
    Neutron简介 Neutron是OpenStack中提供网络服务的核心组件,基于软件定义网络的思想,实现软件化的网络资源管理,在实现上充分利用了Linux系统中各种网络相关技术,支持第三方插件。 常用术语 Bridge-int:综合...
  • Neutron Docker网络驱动程序 该存储库包含用于Docker网络的Neutron Docker驱动。 使用驱动程序将导致Docker容器加入一个或多个现有或新创建的Neutron网络。 每种Neutron端口类型都必须为此存储库添加支持,以插入其...
  • neutron debug

    2016-12-30 16:19:00
    neutron port-list neutron port-delete neutron floatingip-list neutron floatingip-delete
  • openstack Neutron 简析

    2016-05-12 23:14:14
    openstack Neutron 简析
  • Atom 的 Neutron 语法主题 包的补充语法主题。
  • OpenStack neutron Lbaas v2 源码分析文档

    万次阅读 2021-04-15 15:47:58
    packages/neutronclient/neutron/v2_0/lb/v2/pool.py 再轮询算法中添加了一个hyuy字符串, 命令行执行(代码生效需要重启neutron,systemctl restart neutron-server.service) 4、lbaas 和 Octavia 分析 Neutron中...
  • neutron.egg-info/ent可_points.txt 中定义了 Neutron Server的启动函数名称: neutron-server = neutron.cmd.eventlet.server:main 按照这个路径,找到main函数文件: neutron/cmd/eventlet/server/__init__.py ...
  • 该存储库已移至[stackforge akanda-neutron]( )存储库。 请访问[akanda.io]( ),以获取有关该公司的信息。 转到[akanda]( ),以获取有关项目的信息。
  • Open vSwitch in Neutron

    2017-12-11 19:33:18
    Openstack openvswitch neutron Openstack openvswitch neutron
  • Neutron 在 OpenStack 中的定位是 NaaS (Networking as a Service)。NaaS 有两层含义: 1.对外接口:Neutron 为 Network、Subnet、Port、Router 等网络资源建立了逻辑模型,并提供了 RESTful API、CLI(命令行)和...
  • openstack_neutron

    2018-01-13 10:54:38
    该ppt是比较详细的openstack&neutron;的介绍,包含从底层到高级的详解。
  • 最近在两台物理机环境中部署了OpenStack的Liberty版本,各个模块都遇到或多或少的问题,但尤以Neutron的问题最让人头疼。尽管OpenStack一直致力于简化Neutron的部署,但对于非网络技术人员来说依然存在着很大的挑战...
  • OpenStack Neutron 原理详解
  • Neutron聊天是一个简单的聊天应用程序,用于通过TCP / IP协议和您自己的服务器在网络或Internet中进行通信。 它基于.NET Framework 4.0,并使用AES加密。 而且它是NSA认证的。 只是在说'。 新版本(可能是最新版本)...
  • Neutron Web Client

    2020-12-27 18:14:49
    Neutron" style. I just removed some unnecessary things like payments, invoices etc., modified the UI and signup process. <p>If you want to add to your project you can find it here: ...
  • Neutron常用命令

    2021-04-12 20:06:35
    列出当前所有网络 neutron net-list Neutron命令参考

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,292
精华内容 2,916
关键字:

neutron