如果您需要拒绝或允许特定IP访问网络型负载均衡NLB实例,您可以通过NLB安全组功能来实现流量的访问控制。通过设置NLB安全组,您可以实现黑白名单的访问策略,以便对流量进行更精确的控制。
场景说明
-
当NLB实例未加入安全组时,NLB监听端口默认对所有请求放通。
-
当NLB实例加入安全组且未设置任何拒绝策略时,NLB监听端口默认对所有请求放通。如果您需要只允许特定IP访问NLB,请注意添加一条拒绝策略进行兜底。
当您的NLB实例有访问控制的诉求,希望控制NLB实例的入流量时,您可以选择为NLB实例添加安全组,同时可基于业务设置相应的安全组规则。
重要
负载均衡的出方向流量为用户请求的回包,为了保证您的业务正常运行,NLB的安全组对出流量不做限制,您无需额外配置安全组出方向规则。
本文从以下2种场景为例介绍NLB安全组的黑白名单访问策略。关于安全组规则的排序策略,请参见安全组规则排序策略。
黑名单:NLB安全组对指定IP地址的拒绝访问策略
白名单:NLB安全组对指定IP地址的允许访问策略
使用限制
分类 |
安全组类型 |
说明 |
NLB支持加入的安全组 |
|
关于普通安全组和企业安全组的介绍,请参见普通安全组与企业级安全组。 |
NLB不支持加入的安全组 |
托管安全组 |
关于托管安全组的介绍,请参见托管安全组。 |
前提条件
您已创建4台ECS实例。关于如何创建ECS实例,请参见自定义购买实例。
-
ECS01和ECS02实例作为NLB实例的后端服务器,且ECS01和ECS02实例中部署了应用服务。关于如何部署应用服务,请参见部署LNMP环境(CentOS 7)。
-
ECS03和ECS04实例为公网实例,用于访问NLB实例。您也可以使用已有的Linux服务器访问NLB实例,这种情况下无需创建ECS03和ECS04实例。
下表列出了本文ECS实例的相关配置,仅供参考。
分类 |
ECS配置 |
所属VPC |
IP |
说明 |
ECS01 |
|
VPC01 |
|
作为NLB实例后端服务器。 |
ECS02 |
|
|||
ECS03 |
VPC02 |
|
作为访问NLB实例的客户端。 |
|
ECS04 |
|
配置流程
步骤一:创建服务器组
- 登录网络型负载均衡NLB控制台。
-
在顶部菜单栏,选择服务器组所属的地域。本文选择华东1(杭州)。
-
在左侧导航栏,选择网络型负载均衡 NLB > 服务器组。
-
在服务器组页面,单击创建服务器组。
-
在创建服务器组对话框中,完成以下配置,然后单击创建。
此处仅列出部分配置项,其余参数可保持默认值。更多信息,请参见创建服务器组。
配置
说明
服务器组类型
选择一种服务器组类型。本文选择服务器类型。
服务器组名称
输入服务器组名称。本文输入RS01。
VPC
从VPC下拉列表中选择一个VPC。本文选择VPC1,与ECS01、ECS02实例所属VPC保持一致。
选择后端协议
选择一种后端协议。本文选择TCP。
-
在服务器组创建成功对话框中单击添加后端服务器。
-
在后端服务器页签单击添加后端服务器。
-
在添加后端服务器面板,选择已创建的ECS01、ECS02实例,然后单击下一步。
-
为已添加的服务器设置端口和权重,然后单击确定。本文端口输入80,权重保持默认值。
步骤二:创建NLB实例并配置监听
-
在左侧导航栏,选择网络型负载均衡NLB > 实例,在实例页面,单击创建网络型负载均衡。
-
在网络型负载均衡(按量付费)购买页面,完成以下配置。
此处仅列出部分配置项。其余参数的配置,请参见创建实例。
-
地域:本文选择华东1(杭州)。
-
实例网络类型:本文选择公网。
-
VPC:本文选择VPC01。
-
-
单击立即购买,然后根据控制台提示完成实例购买。
-
返回实例页面,找到已创建的NLB实例,单击该NLB实例ID。
-
单击监听页签,在监听页签单击快速创建监听。在快速创建监听对话框中,配置以下参数,完成TCP 80监听的创建,然后单击确定。
监听配置
说明
选择负载均衡协议
选择监听的协议类型。本文选择TCP。
监听端口
输入监听端口,本文输入80。
转发的后端服务器组
选择服务器类型及服务器类型下的服务器组。
本文选择步骤一:创建服务器组创建的服务器组。
-
NLB实例未加入安全组时,验证访问结果。验证过程中执行的
curl -s http://whatismyip.akamai.com/
命令是为了获取当前客户端的公网IP地址,以方便您识别当前客户端。-
登录ECS03实例,执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS03实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问成功。
-
登录ECS04实例。执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS04实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问成功。
验证结果表明:NLB实例未加入安全组时,ECS03和ECS04可正常访问NLB实例。
-
步骤三:创建安全组
在NLB实例加入安全组前,您需要先至ECS管理控制台创建安全组,按照以下访问规则创建2个安全组。
-
实现黑名单策略的安全组1
新增拒绝策略的规则。本文以拒绝ECS03实例的公网IP(47.XX.XX.55)访问为例,添加一条拒绝策略的规则,默认的安全组规则可保留。
授权策略
优先级
协议类型
端口范围
授权对象
拒绝
1
全部
目的:-1/-1
源:47.XX.XX.55
-
实现白名单策略的安全组2
新增允许和拒绝的规则。本文以允许ECS03实例的公网IP(47.XX.XX.55)访问为例,添加一条允许策略的规则,并增加一条拒绝策略的规则,如下表。
授权策略
优先级
协议类型
端口范围
授权对象
允许
1
全部
目的:-1/-1
源:47.XX.XX.55
拒绝
100
全部
目的:-1/-1
源:0.0.0.0/0
-
登录ECS管理控制台。
-
在左侧导航栏,选择网络与安全 > 安全组。
-
在顶部菜单栏,选择安全组所属的地域。本文选择华东1(杭州)。
-
在安全组页面,单击创建安全组。
-
在创建安全组页面,设置安全组的基本信息参数。
此处仅列出部分配置项,其余参数的配置请参见创建安全组。
-
网络:本文选择VPC1,与NLB实例所属VPC保持一致。
-
安全组类型:本文选择普通安全组。
-
-
在创建安全组安全组页面,设置安全组的访问规则参数。
-
在入方向单击手动添加,分别按照实现黑名单策略的安全组1和实现白名单策略的安全组2的规则创建。
-
单击创建安全组。
-
步骤四:NLB实例加入安全组并验证结果
实现黑名单访问策略
NLB实例加入步骤三:创建安全组创建的安全组1,并验证安全组1中规则对NLB实例的访问控制是否生效。
- 登录网络型负载均衡NLB控制台。
-
在顶部菜单栏,选择NLB实例所属的地域。本文选择华东1(杭州)。
-
在NLB实例页面,找到步骤二:创建NLB实例并配置监听创建的NLB实例,单击实例ID。在实例详情页签,单击安全组页签。
-
在安全组页签,单击添加安全组,在弹出的NLB实例加入安全组对话框中,选择步骤三:创建安全组创建的安全组,然后单击确定。
-
在左侧列表框单击目标安全组ID,可单击入方向或出方向页签分别查看安全组规则。
此处仅列出与本文强相关的安全组规则。
授权策略
优先级
协议类型
端口范围
授权对象
拒绝
1
全部
目的:-1/-1
源:47.XX.XX.55
-
NLB实例加入安全组后,测试访问结果。验证过程中执行的
curl -s http://whatismyip.akamai.com/
命令是为了获取当前客户端的公网IP地址,以方便您识别当前客户端。-
登录ECS03实例。执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS03实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问失败。
-
登录ECS04实例,执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS04实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问成功。
验证结果表明:NLB实例加入实现黑名单策略的安全组1后,安全组内拒绝规则中的IP地址不能访问该NLB实例,不在安全组拒绝规则中的IP可以正常访问。
-
实现白名单访问策略
NLB实例加入步骤三:创建安全组创建的安全组2,并验证安全组2中规则对NLB实例的访问控制是否生效。
- 登录网络型负载均衡NLB控制台。
-
在顶部菜单栏,选择NLB实例所属的地域。本文选择华东1(杭州)。
-
在NLB实例页面,找到步骤二:创建NLB实例并配置监听创建的NLB实例,单击实例ID。在实例详情页签,单击安全组页签。
-
在安全组页签,单击添加安全组,在弹出的NLB实例加入安全组对话框中,选择步骤三:创建安全组创建的安全组2,然后单击确定。
-
在左侧列表框单击目标安全组ID,可单击入方向或出方向页签分别查看安全组规则。
授权策略
优先级
协议类型
端口范围
授权对象
允许
1
全部
目的:-1/-1
源:47.XX.XX.55
拒绝
100
全部
目的:-1/-1
源:0.0.0.0/0
-
NLB实例加入安全组后,测试访问结果。验证过程中执行的
curl -s http://whatismyip.akamai.com/
命令是为了获取当前客户端的公网IP地址,以方便您识别当前客户端。-
登录ECS03实例。执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS03实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问成功。
-
登录ECS04实例,执行
telnet nlb-l9l01beht50ofq****.cn-hangzhou.nlb.aliyuncs.com 80
命令,测试ECS04实例是否可以访问NLB实例。收到如下所示的回复报文,则表示访问失败。
验证结果表明:NLB实例加入实现白名单策略的安全组2时,安全组内仅允许规则中的IP地址可以访问该NLB实例。
-
相关文档
-
关于NLB加入安全组和解绑安全组等操作,请参见NLB加入安全组。
-
如何配置安全组实现NLB基于监听/端口粒度的访问控制,请参见配置安全组实现NLB基于监听/端口粒度的访问控制。
-
关于安全组的详细介绍,请参见安全组。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/168306.html