Hướng dẫn mở port router cho truy cập sql server

Trong bài viết này mình sẽ hướng dẫn các bạn cấu hình mở port trên tường lửa Fortigate (hay còn gọi là NAT port hoặc Port Forwarding) bằng Virtual IPs. Trong mô hình chúng ta sử dụng chính IP đấu nối để NAT, trong trường hợp sử dụng IP không phải IP đấu nối thì chúng ta sẽ sử dụng IP Pools, Nmình sẽ hướng dẫn các bạn trong bài viết khác

Mô hình kết nối

Hướng dẫn mở port router cho truy cập sql server

Trong mô hình này mình sử dụng server có địa chỉ IP local là 192.168.100.1, ip wan là 172.20.121.143 với 3 dịch vụ cần mở port là http (port 80), ftp (port 21) và ssh (port 22). Khi người dùng từ ngoài internet truy cập vào dịch vụ sẽ truy cập bằng cách http://ip_wan:port. Các bạn có thể làm tương tự để mở port cho camera, SQL, App, .... trên tường lửa Fortigate.

Các bước thực hiện

  • Bước 1: Tạo virtual IP để map port giữa IP nội bộ và IP wan
  • Bước 2: Tạo Policy và gán các virtual IP vào policy cho phép bên ngoài truy cập vào dịch vụ
  • Bước 3: Kiểm tra kết nối bằng cách từ ngoài truy cập vào địa chỉ ip_wan:port

Bước 1: Tạo Virtual IP

Truy cập vào Policy & Objects > Virtual IPs, chọn Create New

Trong đó:

  • Name: tên của virtual IP
  • Comments: ghi chú lại kiểu như chúng ta sử dụng virtual ip này để làm gì
  • Interface: chọn cổng sẽ sử dụng để NAT port, cổng này là cổng đấu nối ra internet
  • External IP Address/Range: địa chỉ IP wan
  • Mapped IP Address/Range: địa chỉ IP nội bộ cần NAT ra ngoài
  • Tích enable Port Forwarding
  • Protocol: chọn protocol tương ứng với port
  • External Service Port: port mà người dùng bên ngoài sử dụng để truy cập dịch vụ, port này có thể giống hoặc khác port nội bộ
  • Map to Port: Port sử dụng trong local

Tạo Virtual IP cho dịch vụ web http với port 80

Tạo virtual IP cho dịch vụ FTP với port 21

Tạo virtual IP cho dịch vụ SSH với port 22

Tạo 1 Virtual IP Group để nhóm 3 virtual IP lại, chọn Create New > Virtual IP Group

  • Name: tên Group
  • Interface: chọn cổng đấu nối ra internet
  • Members: nhấn dấu + và chọn các virtual IP vừa tạo ở trên

Sau khi tạo xong chúng ta vào Virtual IPs để kiểm tra lại cấu hình

Bước 2: Mở Policy cho phép bên ngoài truy cập vào dịch vụ

Truy cập Policy & Objects > IPv4 Policy, chọn Create New

Trong đó:

  • Name: Tên của policy
  • Incoming Interface: bên ngoài truy cập vào nên cổng này sẽ là cổng wan
  • Outgoing Interface: chọn cổng đấu nối xuống server, camera có IP nội bộ cần NAT
  • Source: chọn all
  • Destination: chọn Virtual IP Group vừa tạo, nếu không tạo group có thể chọn từng dịch vụ
  • Schedule: thời gian policy có hiệu lực, chọn always để policy luôn có hiệu lực
  • Service: chọn các dịch vụ cầm NAT, có thể chọn all hoặc chọn dịch vụ tương ứng chúng ta đang NAT, Fortigate có tạo sẵn các dịch vụ phổ biến. Nếu chưa có các bạn có thể tạo thêm trong phần Policy & Objects > Services, chọn Create New
  • Action: chọn ACCEPT NAT: tắt nat đi để máy chủ thấy được địa chỉ IP nguồn. Ví dụ như trong log của IIS trên win server, nếu bật NAT và chọn default là "Use Outgoing Interface Address" thì địa chỉ trong log của IIS sẽ lưu IP nguồn là IP của cổng LAN trên Fortigate, IP đích là IP của web server. Nếu tắt NAT thì IP nguồn là IP của Client truy cập (có thể là IP Wan hoặc IP LAN của Client tùy từng trường hợp client có sử dụng NAT tại đầu mạng kia hay không), IP đích là IP của server.

Bài viết sau đây giải thích làm thế nào để cho phép SQL Server Express chấp nhận các kết nối từ xa qua TCP/IP cho cổng 1433. Theo mặc định, khi SQL Server Express được cài đặt nó sẽ tạo một cổng ngẫu nhiên cho việc truy cập. Ngoài ra, SQL Server Express chỉ cho phép kết nối trên localhost. Sử dụng SQL Server Configuration Manager, bạn cần phải cho SQL Server Express sử dụng cổng 1433.

\>> Cấu hình SQL Server để kết nối từ xa qua Internet

\>> Cách enable remote SQL server để thực hiện remote vào MSSQ-server

Để cho phép SQL Server Express cho phép truy cập từ xa, làm theo các bước sau:

  1. Click Start, Programs, Microsoft SQL Server 2005/2008/2012 và chọn SQL Server Configuration Manager.

Hướng dẫn mở port router cho truy cập sql server

  1. Chọn SQL Server Network Configuration

Hướng dẫn mở port router cho truy cập sql server

  1. Double click on Protocols for SQLEXPRESS

Hướng dẫn mở port router cho truy cập sql server

  1. Click phải TCP/IP và chọn Properties

Hướng dẫn mở port router cho truy cập sql server

  1. Trượt xuống IPAll

Ở đây mục TCP Dynamic Ports sẽ hiển thị một số port ngẫu nhiên thường bắt đầu bằng 49xxx. Bạn có thể sử dụng cổng được tạo ngẫu nhiên này cũng được.

Hoặc bỏ trống khung này và nhập vào TCP Port số 1433.

Hướng dẫn mở port router cho truy cập sql server

  1. Click OK
  1. Bạn phải chắc rằng: 1433 (hoặc port ngẫu nhiên nếu chọn) đã mở port trên firewall (cả router nếu cần truy cập từ WAN)
  1. Chế độ Mixed mode authentication cũng phải được enabled cho remote connections
  1. The SQL Browser phải đang enabled và running.

B. 7 bước để mở port 1433 cho MS SQL Server

Chắc bạn đã không ít lần gặp phải trường hợp viết ứng dụng kết nối với cơ sở dữ liệu MS SQL Server những thất bại, mặc dù code của bạn chính xác tới “từng xen-ti-mét”: Tên server chính xác, tên CSDL chính xác, tài khoản kết nối chính xác, v.v.. Nguyên nhân có thể đơn giản nằm ở chỗ, MS SQL Server chưa mở cổng (port) để ứng dụng của bạn kết nối vào. Sau đây là các bước đơn giản để kiểm tra việc này và cấu hình để mở cổng.

1. Khởi động dịch vụ MS SQL Server nếu bạn đang để ở chế độ “manual” thay vì “automatic”

2. Chạy chương trình CMD.exe

Hướng dẫn mở port router cho truy cập sql server

3. Thực hiện lệnh: netstat -an -P TCP

Hướng dẫn mở port router cho truy cập sql server

4. Quan sát trong các thông tin nhận được sau khi thực hiện lệnh trên, nếu không thấy xuất hiện cổng 1433 (cổng mặc định của MS SQL Server) thì nguyên nhân là đây rồi. Còn ngược lại, bạn có thể bỏ qua bài viết này được rồi.

Nào, giờ chúng ta bắt đầu tiến hành các bước cấu hình cần thiết để mở cổng 1433.

5. Chạy chương trình quản lý cấu hình của MS SQL Server (bản tôi đang hướng dẫn ở đây là 2008, các bản khác cũng tương tự như vậy)