ip地址配置 mongodb_【已解决】给MongoDB限制IP访问
已经知道了,想要限制特定的IP去访问连接mongo的话,是去修改配置文件:
vi /etc/mongod.conf
修改其中的bindIP
但是此处,需要搞清楚:
如何确定mongo的客户端的IP
mongo how check client ip
然后去本地去连接了远程的mongo了:
但是结果mongo shell中都还是无法打印出正在连接的ip[root@naturling-general-01 ~]# mongo
MongoDB shell version: 3.2.19
connecting to: test
> db.currentOp().inprog
> db.currentOp().inprog
> db.currentOp(true).inprog
> db.currentOp(true).inprog
进去对应数据库,也不行:> use gridfs
switched to db gridfs
> db.currentOp(true).inprog
去看服务端mongod的log:2018-04-08T17:32:04.543+0800 I NETWORK [initandlisten] waiting for connections on port 27017
2018-04-08T17:32:12.235+0800 I NETWORK [initandlisten] connection accepted from 127.0.0.1:35930 #1 (1 connection now open)
2018-04-08T17:32:12.237+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { getLog: "startupWarnings" }
2018-04-08T17:32:12.239+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { replSetGetStatus: 1.0, forShell: 1.0 }
2018-04-08T17:32:38.469+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { currentOp: 1.0 }
2018-04-08T17:32:56.056+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49881 #2 (2 connections now open)
2018-04-08T17:32:56.208+0800 I ACCESS [conn2] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:32:56.289+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49882 #3 (3 connections now open)
2018-04-08T17:32:56.426+0800 I ACCESS [conn3] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:32:56.513+0800 I NETWORK [conn3] end connection 112.4.64.141:49882 (2 connections now open)
2018-04-08T17:32:56.513+0800 I NETWORK [conn2] end connection 112.4.64.141:49881 (1 connection now open)
2018-04-08T17:33:01.485+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49913 #4 (2 connections now open)
2018-04-08T17:33:01.588+0800 I ACCESS [conn4] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:33:01.669+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49914 #5 (3 connections now open)
2018-04-08T17:33:01.765+0800 I ACCESS [conn5] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:33:01.864+0800 I NETWORK [conn4] end connection 112.4.64.141:49913 (2 connections now open)
2018-04-08T17:33:01.865+0800 I NETWORK [conn5] end connection 112.4.64.141:49914 (1 connection now open)
2018-04-08T17:33:05.178+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49936 #6 (2 connections now open)
2018-04-08T17:33:05.301+0800 I ACCESS [conn6] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:33:05.382+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:49937 #7 (3 connections now open)
2018-04-08T17:33:05.473+0800 I ACCESS [conn7] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:33:07.218+0800 I NETWORK [conn7] end connection 112.4.64.141:49937 (2 connections now open)
2018-04-08T17:33:07.219+0800 I NETWORK [conn6] end connection 112.4.64.141:49936 (1 connection now open)
2018-04-08T17:33:09.472+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { currentOp: 1.0 }
2018-04-08T17:33:22.720+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { currentOp: 1.0, $all: true }
2018-04-08T17:34:11.478+0800 I NETWORK [initandlisten] connection accepted from 112.4.64.141:50339 #8 (2 connections now open)
2018-04-08T17:34:11.614+0800 I ACCESS [conn8] Successfully authenticated as principal gridfs on gridfs
2018-04-08T17:34:11.633+0800 I ACCESS [conn8] Unauthorized: not authorized on admin to execute command { getLog: "startupWarnings" }
2018-04-08T17:34:11.713+0800 I ACCESS [conn8] Unauthorized: not authorized on admin to execute command { replSetGetStatus: 1.0, forShell: 1.0 }
2018-04-08T17:34:23.127+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { currentOp: 1.0, $all: true }
2018-04-08T17:34:38.914+0800 I ACCESS [conn1] Unauthorized: not authorized on admin to execute command { currentOp: 1.0, $all: true }
2018-04-08T17:36:42.435+0800 I NETWORK [conn1] end connection 127.0.0.1:35930 (1 connection now open)
可以看出,先后3次的client的连接,都显示出了对应的ip(和端口)了:
112.4.64.141:49882
112.4.64.141:49913
112.4.64.141:49937
->从而确定了,此处的client的IP是:
112.4.64.141
另外的要加的IP:
同事的公司的IP:
112.4.64.138
对于:
net.bindIp
好像就是IP的列表,逗号隔开即可
所以接着去添加IP的限制:vi /etc/mongod.conf
26 # network interfaces
27 net:
28 port: 12345
29 bindIp: 127.0.0.1, 112.4.64.141 # Listen to specific IP
结果竟然重启mongod出错:
【总结】
mongod的配置中的:bindIp:主要指的是,mongod去监听listen哪个IP(的哪个port)端口
所以此处的IP都指的是:服务器本身的IP
典型的是:
127.0.0.1
等价于:localhost
新版mongo默认值就是127.0.0.1
服务器的内网/局域网/私有 IP
比如此处的:172.16.141.197
可以通过ifconfig或阿里云ECS服务器控制后台中找到
而不是外网的,作为mongo的client的IP的限制
这点很容易搞混淆
也有很多人,包括我,之前搞错了,以为是用来限制,只允许特定外网IP能访问mongo的呢
如果有多个IP,用逗号隔开
比如:
bindIp: 127.0.0.1,172.16.141.197
要注意:逗号中间不能有空格,否则会报错:
getaddrinfo(” 112.4.64.141″) failed: Name or service not known
而想要实现:
限制外网访问mongo,只允许特定的IP进来访问mongo的话,则:
Mongo的配置中,是无法实现这个效果的。
只能换用其他办法,比如:
通过设置防火墙,添加:
只允许某些IP,入网方向,能够访问mongo的对应的端口
从而禁止掉其他的IP访问mongo
而此处的阿里云的ECS服务器中,可以通过设置安全组,实现和防火墙一样的效果。
具体设置办法:
进去阿里云控制后台-》云服务器 ECS-》安全组-〉你的ECS服务器所在的区域-》对应的ECS服务器-〉配置规则:
增加2个规则:
(1)规则1: 允许特定的IP(单个IP,某个IP地址段(内的所有的IP),某几个IP)允许访问某端口
(2)规则2:禁止掉,其他的IP访问该端口
举例如下:授权策略协议类型端口范围授权类型授权对象描述优先级
允许自定义 TCP12345/12345地址段访问112.4.64.141允许外网特定IP访问MongoDB数据库1
拒绝自定义 TCP12345/12345地址段访问0.0.0.0/0禁止外网别的IP访问MongoDB数据库2
详见:
ip地址配置 mongodb_【已解决】给MongoDB限制IP访问相关推荐
- 计算机ip地址配置参数,如何正确设置电脑的IP地址和DNS等参数[图文]
使用宽带路由器的话一般建议手工指定电脑的IP地址和DNS等参数,设置方法参考下文. 如果你使用的是Windows 2000或Windows XP系统,请点击 "网上邻居"――> ...
- 网络适配器本地连接没有有效ip地址配置错误的解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 win server2008通过一台win xp的共享网络来上网,采用ipv4,网址设置如下: win xp是可以上网 ...
- linux使用running网卡ping,Linux CentOS 7 IP地址配置及网络问题排查
一.Linux CentOS 7 IP地址配置 输入命令"ifconfig" 查看本机IP地址.[[email protected] ~]# ifconfig ens33: fla ...
- 计算机网络·ip地址计算+ip地址配置+静态路由配置
看完能会做计网作业你说神不神奇 一.解决各类IP地址 二.搭建网络拓扑图 三.配置ip地址 四.配置静态路由 某公司内部的网络拓扑如下图所示: 其中网络1有主机120台,网络2有主机60台,网络3有主 ...
- IP地址配置冲突导致路由振荡怎么办
本期小编为大家带来的是:由于IP地址配置冲突导致路由振荡,使用户业务时断时通. 背景知识: IP地址在一个局域网内具有唯一性,也就是说局域网内,不能为不同的设备配置相同的IP地址. 组网情况: RTA ...
- 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
2.1.远程拷贝 (将/export/servers/hadoop上的文件拷贝到bigdate@192.168.1.1:/export/servers/ ) scp –r /export/server ...
- ip服务器ip地址信息配置,服务器ip地址配置
服务器ip地址配置 内容精选 换一换 当创建文件系统后,您需要将文件系统挂载至云服务器上,在为root用户创建一个本地目录.如已成功挂载文件系统,可跳过此章节.请记录步骤4的本地目录后,按照为每个用户 ...
- 虚拟机如何配置网络ip地址_木杉入门Elasticsearch(2):虚拟机IP地址配置
木杉入门 本系列的目标是在本地搭建一个Elasticsearch的服务集群,通过在阿里云服务器搭建FRP通道对外提供服务,为小规模应用提供一种高性价比的解决思路. 系列内容: 木杉入门Elastics ...
- 配置计算机名及工作组;TCP/IP地址配置;网络连通性测试
1:配置计算机名及工作组 1.1 问题 本例要求为修改计算机名并加入工作组: 1)设置计算机名:姓名拼音 2)设置工作组名:TARENA-NETWORK 1.2 方案 修改Windows 2008服务 ...
最新文章
- Python-S13-day2-之购物车
- SAP Tax计算逻辑
- Unity——Shader
- 以太网帧的最小长度_802.3?以太网?看完你就懂了
- /usr/bin/ld: skipping incompatible -转
- 零基础学python还是c语言-为什么大一先学C语言,而不是Python,你知道为什么吗?...
- 自动化部署之git merge和git rebase的区别
- html代码在线获取,在线客服系统html代码的获取与生成方式 - 快商通
- 计算机编码怎么记忆,怎样有效记忆数字编码?
- 夜深人静写算法(十四)- 基数估计 (Cardinality Estimation)
- win10专业版和企业版的区别_Win10专业版和家庭版有什么区别?
- Vue-电子签名(E-Signature)
- 设计模式之访问者模式(Vistor)
- 2019最新抖音全方位数据分析报告
- MySQL中DML语言的插入语句、修改语句、删除语句(增删改)——笨蛋笔记4
- c语言怎么描述逢2进1,C语言之进制
- 蓝牙nrf52832的架构和开发
- Linux test
- dwcc怎么设置html默认,Dreamweaver CC2018写div自适应页面布局的教程
- 如何在本地上次文件到GitHub
热门文章
- cad输入法自动切换_银河麒麟操作系统用户教程(八):如何设置输入法?
- 展厅设计全面优化企业形象,取得客户的信任为合作打下良好的基础
- Chrome插件 Tamper Dev
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智能物流管理系统k852w
- 返回值取vector容器的前n个元素
- JavaSwing_4.1: JFrame(窗口)
- Zabbix简单检查的使用
- 【Hive】快速入门~
- 哪些外贸软件比较好用?常用外贸软件有哪些?
- Arrays.sort与Arrays.parallelSort区别