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