OpenStack----Neutron服务的DHCP代理、网络名称空间、L3代理

一、DHCP代理

OpenStack的实例在启动过程中能够从Neutron提供的DHCP服务自动获取IP地址。

1.1、DHCP主要组件

  • DHCP代理( neutron-dhcp-agent) :为项目网络提供DHCP功能,提供元数据请求(Metadata request)服务。

  • DHCP驱动:用于管理DHCP服务器,默认为DNSmasq,这是有1个提供DHCP和DNS服务的开源软件,提供DNS缓存和DHCP服务功能。

  • DHCP代理调度器(Agent Scheduler) :负责DHCP代理与网络(Network) 的调度。

1.2、DHCP代理的主要任务

Neutron DHCP提供两类REST API接口: Agent Managerment Extension API和Agent Scheduler Extension API,这两类API都是extension API DHCP代理是核心组件,完成以下任务。

  • 定期报告DHCP代理的网络状态,通过RPC报告给Neutron-server,然后通过Core Plugin报告给数据库并进行更新网络状态。

  • 启动dnsmasq进程,检测gdhcp-xxx名称(Namespace)中的ns-xxx端口接收到DHCP DISCOVER请求,在启动dnsmasq进程的过程中,决定是否需要创建名称空间中的ns-xxx端口,是否需要配置名称空间中的iptables,是否需要刷新dnsmasq进程所需的配置文件。

  • 创建网络(Network) 并在子网(subnet)上启用 DHCP时,网络节点上的DHCP代理会启动一个dnsmasq进程为网络提供DHCP服务。dnsmasq 与网络(network) 是一一对 应关系,一个dnsmasq进程可为同一网络中 所有启动DHCP的子网(Subnet) 提供服务

1.3、DHCP 代理配置文件

DHCP代理配置文件是/etc/neutron/dhcp_agent.ini

其中有重要的配置选项有二个。
[root@ct ~(keystone_ admin)]# grep -vE ‘#|$’ /etc/neutron/dhcp_ agent.ini
在这里插入图片描述

  • 1、interface_driver:用来创建TAP设备的接口驱动,

    • 如果使用Linux Bridge连接,该值设为neutron.agent.linux.interface.BridgelnterfaceDriver ;
    • 如果选择Open Vswitch,该值为neutron.agent.linux.interface.OVSInterfaceDriver
  • 2、 dhcp_driver:指定DHCP启动,默认值为neutron.agent.linux.dhcp.Dnsmasq 表示dnsmasq进程来实现DHCP服务
    在这里插入图片描述

1.4、DHCP代理工作机制

DHCP代理运行在网络节点上,DHCP 为项目网络提供DHCP服务IP地址动态配,另外还会提供源数据请求服务。工作机制如下:
在这里插入图片描述
通过DHCP获取IP地址过程如下。

(1)创建实例时,Neutron随机生成MAC并从配置数据中分配一个固定的IP地址,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值