# ADSG-LBaaS
**Repository Path**: NeusoftSecurity/ADSG-LBaaS
## Basic Information
- **Project Name**: ADSG-LBaaS
- **Description**: ADSG LBaaS Driver 当前实现了对 OpenStack (Havana 版本或更高)负载均衡即服务(Loa
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 18
- **Forks**: 2
- **Created**: 2015-02-28
- **Last Updated**: 2023-07-28
## Categories & Tags
**Categories**: cloud
**Tags**: None
## README
#Overview
ADSG LBaaS Driver 当前实现了对 OpenStack (Havana 版本或更高)负载均衡即服务(Load Balancer as a Service, LBaaS )的支持。
通过将一个 LBaaS 驱动集成到 OpenStack LBaaS 组件中,ADSG 可以将负载均衡以服务的形式提供给用户。用户可以在 OpenStack 中进行负载均衡配置,
从而对自己在 OpenStack 上部署的服务器实例进行负载均衡。
#应用场景
ADSG 可以安装在物理设备和虚拟化平台中,典型部署模式包括:
1. VLAN模式. 在该场景中,租户在OpenStack 的虚拟网络中部署了虚拟服务器和客户端。通过将一台
物理交换机上的端口配置为Trunk,实现与ADSG 物理设备、租户的虚拟服务器网络、
客户端网络之间相连。ADSG 通过二层VLAN 分别与物理及虚拟客户端、虚拟服务器进
行通信。

2. DSNAT 模式. 在该场景中, ADSG 部署在OpenStack 外部网络,租户在OpenStack 私有
云中创建了虚拟服务器。虚拟服务器通过浮动IP 与OpenStack 外部网络进行通信。客户
端通过ADSG 的VIP 发起对服务器的访问时, ADSG 会将客户端的源IP
转换为自身接口的IP地址或VIP ;同时将客户端的
目的IP 地)转换为真实的服务器地址。然后将客户端请求负载均
衡到虚拟服务器。

3. Proxy Mode. 在该场景中, ADSG 作为虚拟机部署在OpenStack 的管理员网络中,与租户的虚拟服务
器网络和虚拟客户端网络通过Neutron router 进行通信。外部网络客户端使用ADSG 的
浮动VIP (10.1.3.137)访问负载均衡服务,内部客户端使用VIP (172.16.0.10)访问负
载均衡服务。ADSG 以代理的形式,负责在客户端和服务器之间转发数据。

#安装
1. 下载NEUSOFT_ADSG 驱动,并安装到“..neutron/neutron/services/loadbalancer/drivers/NEUSOFT_ADSG ” 目录下。
2. 修改 “/etc/neutron/neutron.conf”配置文件。
注释掉原有的haproxy的配置.
添加ADSG的配置:
service_provider = LOADBALANCER:Neusoft_ADSG:neutron.services.loadbalancer.drivers.Neusoft_ADSG.adsg.AdsgDriver:default
3. 执行 service neutron-server restart重启neutron server.
4. 配置ADSG驱动配置文件. 创建配置文件 “mkdir -p /etc/neutron/services/loadbalancer/Neusoft_ADSG” and a configuration file config.py, and set as follows:
devices = {
"adsg1": {
"username":"admin"
"host": "10.1.3.119"
"port": 10000
"protocol": "https"
"password": "neteye"
"localip": "172.16.0.10,172.16.1.10"
"use_float": False
"method": "hash"
}
}
**username** : ADSG 北向接口用户名。
**password** : ADSG 北向接口通信密码。
**host** : ADSG 北向接口IP 地址。该IP 用于与OpenStack 驱动所在的节点进行通信。
**port** :北向接口通信服务端口号。
**protocol** : ADSG 北向接口通信协议。
**localip** : 四层负载均衡需要配置这个IP 地址,保证ADSG 能与后端服务器通信。该IP需要与ADSG 负载均衡资源池所管理的网段在同一个网段。可以设置为多个,以逗号分隔,无空格。如果localip 没有与资源池在同一个网段,则用户创建VIP 会失败。
**use_float** : 可以设置为True 和False。
• True—表示需要为租户的虚拟机服务器绑定浮动IP,用于与OpenStack 外网进行通信。
• False—表示不需要为租户的虚拟机服务器绑定浮动IP。
在VLAN 部署模式下,推荐将use_float 设置为False。
**method**: 在存在多个ADSG 设备的情况下,通过Hash 算法为租户选择ADSG 设备。