Vấn đề kết nối database của private server

Tình hình là website của mình muốn connect database(SQL Server) tới server máy khác mà khổ nỗi server này vì lý do bảo mật nên ko muốn public ra ngoài. M.n cho hỏi có cách nào để connect được ko hay phải bắt buộc public server ra. Ai có kinh nghiệm xin chỉ giúp (Mình ko rành về network lắm :slight_smile:)

Thanks

2 server phải thỏa 2 điều kiện sau:

  • Cùng lớp mạng (ở 1 trong các network interface trên 2 server nếu 2 server có nhiều interface/ nếu chỉ có 1 interface thì thường là sẽ có giống nhau kiểu 172.xxx.xxx.xxx hoặc 192.168.x.x hoặc 10.xxx.xxx.xxx thì mới được).
  • Router/ và switch trong mạng được cấu hình cho phép 2 server “nhìn thấy nhau” và trả lời với nhau trên cổng mà DBMS hoạt động.

Mạng phần cứng không thông thì phần mềm bó tay nhé, như việc không có đường dẫn lên cầu thì xe máy bạn khiêng lên cầu để đi?

Nếu 2 server không cùng lớp mạng thì phải nhờ bên quản trị mạng route, mở firewall để “2 server nhìn thấy nhau”. Nếu không cùng lớp mạng thì phải public ra Internet để tận dụng địa chỉ IP Internet như là “cùng lớp mạng”.

Túm lại: lập trình phần mềm dạng client - server phải biết chút ít kiến thức về mạng, sử dụng được các lệnh đơn giản như ping, tracert, netstat chứ không thì loay hoay mãi với code trong khi vấn đề lại nằm ở mạng máy tính.

6 Likes

Mình thấy người khác kêu phải ssh, vpn,… thì có đc ko?

Thái độ học hành của bạn nói thật là mình cảm thấy chán. Người khác nói là mơ hồ, bạn nghe thì phải nghe cho ra đầu ra đuôi, còn không thì phải tự tra cứu lấy xem các lệnh đó làm gì, rồi gõ thử lên trên máy chứ.

Giờ mình trả lời được/ không thì sao? Mỗi lệnh nó có chức năng, nhiệm vụ của nó và có các tham số đi kèm, bạn định làm gì thì tra cứu lệnh để sử dụng, chứ giờ bạn lại lặp lại vấn đề ở chủ đề cũ (sao không rút kinh nghiệm nhỉ?) khiến mất thời gian anh em: BẠN KHÔNG CUNG CẤP ĐỦ THÔNG TIN ĐỂ NGƯỜI TA HIỂU BẠN ĐANG NHƯ THẾ NÀO. Mà HỎI MỘT CÁCH HẾT SỨC RỘNG kiểu tôi muốn đi lên Mặt Trăng, giờ sao?

Nếu chưa biết cách đặt câu hỏi thì cứ mô tả lại vấn đề của bạn, càng chi tiết càng tốt để người ta hình dung ra bạn đang bị vướng cái gì. Ít nhất phải có: server chạy cơ sở dữ liệu gì, IP của server, 2 server đó đã thông mạng hay chưa? Cái này thì hỏi trong nội bộ trước, nếu nội bộ không có ai thì tự bạn làm quản trị mạng cho chính bạn luôn :smiley:

6 Likes

Cài firewall cho server database, thêm các IP của các server muốn connect tới vào whilelist, hệ điều hành linux thì cài iptable. Mà database cũng cần đúng username password mới access được chứ. Đóng hết các port không cần thiết, chừa lại port cho database thôi.

6 Likes

Oke! thanks nha :+1:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?