jumpserver / jumpserver

An open-source PAM tool alternative to CyberArk. 广受欢迎的开源堡垒机。
https://jumpserver.com
GNU General Public License v3.0
25.37k stars 5.32k forks source link

[Bug] 无法使用网域登录内网MongoDB #8825

Closed LucaLq closed 2 years ago

LucaLq commented 2 years ago

JumpServer 版本(v1.5.9以下不再支持) v2.25.3

浏览器版本 Chrome 93.0.4577.63

Bug 描述 无法通过网域登录内网Mongo,相同的账号配置信息,在本地可以正常通过Navicat登录内网Mongo。

Bug 重现步骤(有截图更好) image

jym503558564 commented 2 years ago

后台日志截图一下

skwonline commented 2 years ago

@jym503558564 我的问题和这个一样,你要截图哪个日志呢?我看jumpserver.log里面好像么得这个登录mongodb的日志

jym503558564 commented 2 years ago

@skwonline

cd /opt/jumpserver/koko/data/logs
tail -f koko.log
skwonline commented 2 years ago

@jym503558564 2022-09-06 16:45:51 [ERRO] server selection error: server selection timeout, current topology: { Type: ReplicaSetNoPrimary, Servers: [{ Addr: 内网IP:27077, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 内网IP:27077: i/o timeout }, { Addr: 内网IP:27077, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 内网IP:27077: i/o timeout }, { Addr: 内网IP:27077, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 内网IP:27077: i/o timeout }, ] } 2022-09-06 16:45:51 [ERRO] Ws[84ddbfa9-e0bd-4dfa-8086-4937b7925a86] send TERMINAL_BINARY message err: websocket: close sent 2022-09-06 16:45:51 [ERRO] 开始连接数据库 mongodb://外网IP:27077/admin error: 网络不通(连接超时) 2022-09-06 16:45:51 [ERRO] Ws[84ddbfa9-e0bd-4dfa-8086-4937b7925a86] send TERMINAL_BINARY message err: websocket: close sent 2022-09-06 16:45:51 [ERRO] Try password: qGvsG** 2022-09-06 16:45:51 [ERRO] Ws[84ddbfa9-e0bd-4dfa-8086-4937b7925a86] send TERMINAL_BINARY message err: websocket: close sent 2022-09-06 16:45:51 [ERRO] Ws[84ddbfa9-e0bd-4dfa-8086-4937b7925a86] send CLOSE message err: websocket: close sent

他这块一开始连接的为啥是内网IP了,写的都是外网IP地址啊

LeeEirc commented 2 years ago

@skwonline 网域网关的是否配置正确,是否能正确转发到内网数据库?

Codecaver commented 2 years ago

@skwonline 网域网关的是否配置正确,是否能正确转发到内网数据库?

开始连接数据库 mongodb://192.xx.xx.16:27017/admin error: server selection error: server selection timeout, current topology: { Type: ReplicaSetNoPrimary, Servers: [{ Addr: 192.xx.xx.16:27017, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 192.xx.xx.16:27017: connect: no route to host }, { Addr: 192.xx.xx.17:27017, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 192.xx.xx.17:27017: connect: no route to host }, { Addr: 192.xx.xx.18:27017, Type: Unknown, Last error: connection() error occured during connection handshake: dial tcp 192.xx.xx.18:27017: connect: no route to host }, ] } Receive Connection closed Connection websocket closed 请问下,我配置了网域网关去连内网的mongo副本集,但是却提示路由不可达,但是我在网域服务器上是可以登录到mongo副本集的。 从这个报错来看,像是jumpserver没用网域网关去登录副本集而是自己直连mongo副本集。 然后我们测试通过网域网关登录内网mysql,是可以登录上的。应该能说明网域是正确配置的吧 这个网域的实现,难道不是jumpserver 通过ssh登录到网域网关服务器,然后再用mongosh登录内网副本集的?

LeeEirc commented 2 years ago

如果是 mongo 集群地址,未验证过,不确定是否能连接上。jumpserver的网域网关是相当于ssh 到网关服务器连接副本集。

Codecaver commented 2 years ago

如果是 mongo 集群地址,未验证过,不确定是否能连接上。jumpserver的网域网关是相当于ssh 到网关服务器连接副本集。

有时间你可以验证一下,通过网域网关去连接mongo集群。如果是先ssh到网域网关,理论上不是只要网域网关能登录mongo集群,jumpserver这边就能登录了吗。不解

LeeEirc commented 2 years ago

https://github.com/jumpserver/jumpserver/issues/8833

github-actions[bot] commented 2 years ago

您超过 30 天未反馈信息,我们将关闭该 issue,如有需求您可以重新打开或者提交新的 issue。

viazry commented 1 year ago

我的也是连接mongos集群,不过报的不一样 2022-11-16 15:25:06 [ERRO] connection() error occured during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-256": (AuthenticationFailed) Authentication failed. 2022-11-16 15:25:06 [ERRO] 开始连接数据库 mongodb://内网IP:8635/admin error: 认证失败(用户名或密码错误) 2022-11-16 15:25:06 [ERRO] Try password: ** 2022-11-16 15:25:06 [ERRO] Ws[dfcf8ffb-bd07-4ebc-b84a-f0f3e9ee7d5d] read data err: websocket: close 1005 (no status)

Codecaver commented 1 year ago

SCRAM-SHA-256 创建用户的时候加上这个验证方法就好了

db.createUser( { user: "test", pwd: "test", roles: ["readWrite"], mechanisms: ["SCRAM-SHA-1","SCRAM-SHA-256"] } )

fanmaoyang commented 1 year ago

2023-03-28 22:12:31 [ERRO] connection() error occured during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.