配置IP黑、白名单
前提条件
通过配置IP白名单和IP黑名单管控远程连接IP时,需要确保所设置实例的状态为Online。
操作步骤
- 以omm用户身份登录待配置接入认证的GaussDB 100服务器。
- 在单机/主备部署模式下,DN直接对外提供服务,用户需要对所有DN配置客户端接入认证。
- 在分布式部署模式下,多组DN通过CN共同对外提供服务,只允许通过配置了接入认证的CN远程访问数据库。用户可以根据实际需要确定允许远程访问的CN个数以及每个CN上允许或禁止的远程访问的用户和IP。
- 使用zsql连接数据库。
- 单机/主备部署时,通过DN端口连接数据库。
假设所使用的DN端口号是40000。
zsql omm@127.0.0.1:40000 Please enter password: ***********
omm为安装后创建的系统管理员,其默认密码是gaussdb_123。
- 分布式部署时,通过CN端口连接数据库。
假设所使用的CN端口号是8000。
zsql omm@127.0.0.1:8000 Please enter password: ***********
omm为安装后创建的系统管理员,其默认密码是gaussdb_123。
- 确认当前客户端的接入权限。
可通过查看参数TCP_INVITED_NODES的当前值查看已配置的IP白名单;可通过查看参数TCP_EXCLUDED_NODES的当前值查看已配置的IP黑名单。
- 查询参数TCP_INVITED_NODES和TCP_EXCLUDED_NODES的当前生效值。
SELECT VALUE FROM DV_PARAMETERS WHERE NAME = 'TCP_INVITED_NODES'; SELECT VALUE FROM DV_PARAMETERS WHERE NAME = 'TCP_EXCLUDED_NODES';
- 退出连接。
exit
- 使用gs_gucZenith在线配置客户端接入认证。
- 配置IP白名单。
gs_gucZenith -c "TCP_INVITED_NODES=(127.0.0.1,::1,10.13.59.12, 10.253.11.23)" -I INSTANCE_Name1,...,INSTANCE_NameN
- 配置IP黑名单。
gs_gucZenith -c "TCP_EXCLUDED_NODES=(10.190.168.112, 10.134.175.142/32,20ab::9217:acff:feab:fcd0/64)" -I INSTANCE_Name1,...,INSTANCE_NameN
其中,“INSTANCE_Name1,...,INSTANCE_NameN”是要配置客户端接入认证的实例名称,即gs_om -t status的查询结果中字段INSTANCE的值。- 单机/主备部署场景,为所有DN实例名称。
- 单机/主备部署场景,为需要配置接入认证所有CN实例名称。
说明:- 白名单设置子网字符串不能超过1024字节,如果超过会报错。
- 请在原有的IP黑、白名单基础上增加新的IP地址,否则会覆盖原来的记录,也就是删掉原有的IP黑、白名单信息。
- IP白名单和IP黑名单均支持使用IPV4、IPV6地址,或指定子网掩码长度表示一个子网网段。声明多个IP地址或网段时,通过逗号分隔。
- 通过配置IP白名单和IP黑名单管控远程连接IP时,用户可使用“zsql / as clsmgr -D cn_data_dir”直接本地登录CN,也可使用“zsql / as sysdba -D dn_data_dir”直接本地登录DN。
- 如果一个IP地址同时配置在IP白名单和IP黑名单中,则只有其在IP黑名单中的配置生效。
- 使用gs_gucZenith在线开启IP白名单检测功能。
gs_gucZenith -c "TCP_VALID_NODE_CHECKING = true" -I INSTANCE_Name1,...,INSTANCE_NameN
说明:- 开启IP白名单检测功能前,要求至少配置了TCP_INVITED_NODES或TCP_EXCLUDED_NODES中的一种,否则将报如下错误:GS-00254 : For invited and excluded nodes is both empty, ip whitelist function can't be enabled。
- IP白名单检测功能开启后,要求至少配置了TCP_INVITED_NODES或TCP_EXCLUDED_NODES中的一种,否则将报如下错误:GS-00255, Ip whitelist function is enabled, invited and excluded nodes can't set to both empty。
配置后可以执行如下命令检查。查询结果为TRUE时,表示已开启IP白名单检测功能。查询结果为FALSE时,表示未开启IP白名单检测功能:
SELECT NAME, RUNTIME_VALUE, VALUE FROM DV_PARAMETERS WHERE NAME = 'TCP_VALID_NODE_CHECKING';
NAME RUNTIME_VALUE VALUE ---------------------------------------------------------------- -------------------- ---------------------------------------------------------------- TCP_VALID_NODE_CHECKING TRUE TRUE 1 rows fetched.
示例
- 在Online状态下将IP地址10.13.59.12和10.253.11.23加入IP白名单,允许其远程连接数据库集群。
[omm@plat1 ~]\>gs_gucZenith -c "TCP_INVITED_NODES=(127.0.0.1,::1,10.13.59.12, 10.253.11.23)" -I cn_402,cn_401 Get cluster status. Start getting healthy zenith instances... Successfully got healthy zenith instances. Start verifying the specifications of the kernel parameter value... Successfully verified the specifications of the kernel parameter value. Start setting kernel parameter... Set kernel parameter successfully! Instance: cn_401 Set kernel parameter successfully! Instance: cn_402 Successfully set kernel parameter.
- 在Online状态下将IP地址10.190.168.112和10.190.167.*加入IP黑名单,禁止其远程连接数据库集群。
[omm@plat1 ~]\>gs_gucZenith -c "TCP_EXCLUDED_NODES=(10.190.168.112, 10.134.175.142/32,20ab::9217:acff:feab:fcd0/64)" -I cn_402,cn_401 Get cluster status. Start getting healthy zenith instances... Successfully got healthy zenith instances. Start verifying the specifications of the kernel parameter value... Successfully verified the specifications of the kernel parameter value. Start setting kernel parameter... Set kernel parameter successfully! Instance: cn_401 Set kernel parameter successfully! Instance: cn_402 Successfully set kernel parameter.
- 在Online状态下将IP地址10.190.168.112和10.190.167.*加入IP黑名单,禁止其远程连接数据库集群。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 配置IP黑名单。
- 退出连接。
- 分布式部署时,通过CN端口连接数据库。
- 单机/主备部署时,通过DN端口连接数据库。