Hướng dẫn open port mongodb - mở cổng mongodb
13/11/2020 01:11 | Lượt xem : 147 01:11 | Lượt xem : 147 MongoDB là gì? MongoDB là một cơ sở dữ liệu tài liệu mã nguồn mở được sử dụng trong nhiều ứng dụng web. Theo mặc định, nó chỉ cho phép các kết nối bắt nguồn từ cùng một máy chủ nơi nó được cài đặt. Nếu bạn muốn quản lý MongoDB từ xa hoặc kết nối nó với một máy chủ ứng dụng riêng, có một số thay đổi bạn cần thực hiện đối với cấu hình mặc định.MongoDB là gì? MongoDB là một cơ sở dữ liệu tài liệu mã nguồn mở được sử dụng trong nhiều ứng dụng web. Theo mặc định, nó chỉ cho phép các kết nối bắt nguồn từ cùng một máy chủ nơi nó được cài đặt. Nếu bạn muốn quản lý MongoDB từ xa hoặc kết nối nó với một máy chủ ứng dụng riêng, có một số thay đổi bạn cần thực hiện đối với cấu hình mặc định. Trong bài viết này BKNS sẽ hướng dẫn các bạn cấu hình kết nối MongoDB từ một máy chủ từ xa đáng tin cậy. Các bạn sẽ cần phải thực hiện mở Port và cho phép địa chỉ IP tin cậy kết nối. Chúng ta đi vào cấu hình nhé.BKNS sẽ hướng dẫn các bạn cấu hình kết nối MongoDB từ một máy chủ từ xa đáng tin cậy. Các bạn sẽ cần phải thực hiện mở Port và cho phép địa chỉ IP tin cậy kết nối. Chúng ta đi vào cấu hình nhé. Bước 1: Hãy chắc chắn rằng cài đặt firewalld đã được cài đặt trên Centos 7. Bước 1: Hãy chắc chắn rằng cài đặt firewalld đã được cài đặt trên Centos 7. systemctl start firewalld.service systemctl enable firewalld.service systemctl status firewalld.service Bước 2: Cấu hình cài đặt tường lửa.Bước 2: Cấu hình cài đặt tường lửa. Kiểm tra cổng cài đặt MongoDB bằng lệnh netstat netstat -plunt | grep mongo Kết quả: tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod Allow IP connect đến Port mặc định của MongoDB. Thay đổi trusted_server_ip = IP tin cậy của bạn.trusted_server_ip = IP tin cậy của bạn. firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="trusted_server_ip" port protocol="tcp" port="27017" accept' firewall-cmd --reload Kiểm tra lại danh sách được cho phép trên firewalld xem đã có Allow IP chưa. firewall-cmd --list-all
Bước 3: Cấu hình BindIP Public. Bước 3: Cấu hình BindIP Public. Hiện tại, mặc dù cổng đang mở, MongoDB hiện đang bị ràng buộc với 127.0.0.1, nghĩa là MongoDB chỉ có thể chấp nhận các kết nối bắt nguồn từ máy chủ nơi nó được cài đặt. Để cho phép kết nối từ xa, bạn phải chỉnh sửa tệp cấu hình MongoDB trong /etc/mongod.conf./etc/mongod.conf. Tìm network interfaces phần, phần giá trị bindIp.network interfaces phần, phần giá trị bindIp. netstat -plunt | grep mongo1 netstat -plunt | grep mongo2 netstat -plunt | grep mongo3 netstat -plunt | grep mongo4 netstat -plunt | grep mongo2 netstat -plunt | grep mongo3 netstat -plunt | grep mongo4 Lưu lại cấu hình file và restart lại service. systemctl restart mongod Sau khi reset xong, MongoDB của bạn sẽ có thể chấp nhận các kết nối từ xa từ bất kỳ máy nào bạn đã cho phép truy cập cổng 27017. Bước 3: Kiểm tra lại kết nối MongoDB.Bước 3: Kiểm tra lại kết nối MongoDB. nc -zv mongodb_server_ip 27017 Chúc các bạn cài đặt thành công! Chúc các bạn cài đặt thành công! Hào Phạm – Bộ phận kỹ thuật! Cho phép truy cập từ xa với MongoDB – Remote access. Mặc định MongoDB không cho phép các kết nối từ bên ngoài. Tức là máy bạn cài MongoDB thì bạn chỉ có thể kết nối MongoDB từ máy của bạn. Máy khác không thể truy cập được MongoDB trên máy của bạn. Để cho phép các kết nối từ xa tới MongoDB ta cần chỉnh lại tham số netstat -plunt | grep mongo5 trong file netstat -plunt | grep mongo6 Ví dụ máy mình là windows, cài mongodb bản 4.0 thì file mongo.cfg sẽ là: netstat -plunt | grep mongo7 Với hệ điều hành ubuntu thì file netstat -plunt | grep mongo6 mặc định nằm ở netstat -plunt | grep mongo9 Mặc định giá trị netstat -plunt | grep mongo5 ban đầu sẽ là tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod1 tức là chỉ cho phép kết nối nội bộ / localhost ... # network interfaces net: port: 27017 bindIp: 127.0.0.1 Để cho phép các máy trên cùng mạng LAN truy cập vào MongoDB trên máy của bạn thì bạn thêm địa chỉ LAN IP vào bindIP Ví dụ LAN IP của mình là: tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod2, sau khi thêm LAN IP vào netstat -plunt | grep mongo5 thì các máy tính trong cùng mạng LAN có thể truy cập MongoDB trên máy mình qua địa chỉ tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod2 ... # network interfaces net: port: 27017 bindIp: 127.0.0.1, 192.168.0.15 Tương tự nếu bạn có static ip, public ip thì đều có thể thêm vào netstat -plunt | grep mongo5 để truy cập mongodb qua các ip đó. Đặc biệt, thay vì thêm địa chỉ ip vào netstat -plunt | grep mongo5 các bạn có thể để nó thành DNS tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod7 nó sẽ tự động map tất cả các IP của máy bạn (public IP, LAN IP, public IP…) vào netstat -plunt | grep mongo5 và bạn có thể truy cập vào MongoDB bằng bất kỳ địa chỉ IP nào trong số đó. ... # network interfaces net: port: 27017 bindIp: 0.0.0.0 Với trường hợp dùng domain để kết nối tới MongoDB thì bạn cần map domain đó tới IP của bạn và thêm IP đó vào netstat -plunt | grep mongo5 hoặc cũng có thể khai báo chung cho tất cả bằng tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod7 Start MongoDB với tham số –bindIpNgoài cách cấu hình bindIP trong file firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="trusted_server_ip" port protocol="tcp" port="27017" accept' firewall-cmd --reload1 bạn cũng có thể chỉ rõ bindIp khi start MongoDB bằng lệnh firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="trusted_server_ip" port protocol="tcp" port="27017" accept' firewall-cmd --reload2 Ví dụ: netstat -plunt | grep mongo0 Okay, Done! References: https://docs.mongodb.com/…/#net-options |