Tl; Tiến sĩ
Tôi có một phiên bản SQL Server (SQLSERVER01-i01) với một địa chỉ IP và cổng chuyên dụng (162.xxx.xxx.51: 1433) trên SQL Server đa phiên bản (mỗi phiên bản SQL Server trên Windows Server có địa chỉ IP riêng ) tất cả đang chạy trên một máy chủ Windows (SQLSERVER01 / 162.xxx.xxx.50).
Tôi cũng có một phiên bản Dịch vụ báo cáo chuyên dụng (SQLSERVERRS01-i01) với địa chỉ IP và cổng riêng (168.xxx.xxx.71: 1433), đang chạy trên một máy chủ Windows khác (SQLSERVERRS01) với địa chỉ IP riêng (168 .xxx.xxx, 70).
Máy chủ Dịch vụ báo cáo chuyên dụng có một ứng dụng APPL1
có thể truy cập thông qua http://SQLSERVERRS01-i01:80/Reports_APPL1
hoặc thông qua http://SQLSERVERRS01:80/Reports_APPL1
.
SSRS sẽ nhận cả hai yêu cầu do *:80
cấu hình trong Cấu hình dịch vụ báo cáo cho các tiêu đề máy chủ.
Chúng tôi có nhiều tường lửa giữa mỗi dải IP, điều đó có nghĩa là chúng tôi phải áp dụng một quy tắc cụ thể cho từng kết nối IP-to-IP hoặc IPrange-to-IP. Tuy nhiên, khi có hai máy chủ tham gia, thì bảo mật ra lệnh rằng nó luôn phải là quy tắc IP-to-IP trong tường lửa.
Câu hỏi
(dựa trên ảnh chụp màn hình xuống hơn nữa)
Khi máy chủ Dịch vụ báo cáo kết nối với phiên bản SQL Server (trên 162.xxx.xxx.51) để truy xuất dữ liệu, nó sẽ luôn tạo kết nối với địa chỉ IP cơ bản của máy chủ Windows (168.xxx.xxx, 70 / ưa thích ) SSRS đang chạy hoặc đôi khi (đôi khi) sẽ sử dụng địa chỉ IP của phiên bản Dịch vụ báo cáo máy chủ SQL (168.xxx.xxx.71)?
Điều này có liên quan đến cấu hình của quy tắc tường lửa bằng cách sử dụng phương pháp IP-to-IP. Tôi sẽ phải áp dụng quy tắc xác định kết nối 168.xxx.xxx.71 đến 162.xxx.xxx.51 qua cổng 1433 hoặc kết nối 168.xxx.xxx70 đến 162.xxx.xxx.51 qua cổng 1433.
Hiện tại tôi sẽ áp dụng cho cả hai quy tắc tường lửa.
Câu hỏi thưởng
Tôi có thể định cấu hình máy chủ Dịch vụ báo cáo để liên lạc với một địa chỉ IP chuyên dụng không? Trong trường hợp này với địa chỉ 168.xxx.xxx.71.
Câu trả lời tôi không tìm kiếm
Tôi không tìm kiếm lời khuyên về cách tối ưu hóa cấu hình tường lửa hoặc cách triển khai khái niệm phân vùng cho các mạng của chúng tôi. (Nó đã có trong đường ống). Ngoài ra, tôi không quan tâm đến phản hồi cho thấy rằng có SQL Server và SSRS trên cùng một máy chủ sẽ giải quyết các vấn đề của tôi. Tôi biết điều đó và sẵn sàng làm điều đó nhưng đối với phần mềm của bên thứ ba bắt buộc phải chạy cùng với các thành phần SSRS.
Nó hoạt động
Cấu hình tôi có hoạt động nếu tôi áp dụng cả hai quy tắc tường lửa giữa phiên bản SSRS và SQL Server.
168.xxx.xxx.71 --> 162.xxx.xxx.51 : 1433
168.xxx.xxx.70 --> 162.xxx.xxx.51 : 1433
Tôi muốn giảm một cách an toàn theo một quy tắc tường lửa và đảm bảo rằng mọi thứ sẽ vẫn hoạt động. (Xem ảnh chụp màn hình tiếp theo xuống)
Chỉnh sửa: Các bài viết tôi đã đọc cho đến nay cho thấy tôi chỉ cần quy tắc thứ hai, nhưng không có gì đảm bảo.
Bài viết tôi đã tham khảo ý kiến
Cân nhắc bảo mật cho
bài viết Cơ sở cài đặt máy chủ SQL .Định cấu hình Tường lửa Windows để Cho phép Truy cập Máy chủ SQL
Bài viết này chỉ đến tất cả các bài viết khác liên quan đến cấu hình tường lửa cho SQL Server.Cấu hình tường lửa Windows để truy cập công cụ cơ sở dữ liệu
Không sử dụng từ địa chỉ IP nào.Cấu hình tường lửa để truy cập máy chủ báo cáo
Bài viết này khá thú vị như đã lưu ý:Nếu bạn đang truy cập cơ sở dữ liệu quan hệ SQL Server trên các máy tính bên ngoài hoặc nếu cơ sở dữ liệu máy chủ báo cáo nằm trên phiên bản SQL Server bên ngoài, bạn phải mở cổng 1433 và 1434 trên máy tính bên ngoài.
Điều 5 & 6 được James (dba.se) cung cấp cho tôi . Họ hiện có vẻ là câu trả lời thích hợp nhất. Tuy nhiên tôi hơi nghi ngờ rằng một bài viết đề cập đến việc sử dụng nhiều NIC trong khi tôi chỉ có một NIC với nhiều IP được gán cho nó. Tom (dba.se) cũng đã sứt mẻ với lời khuyên và nhận xét chung.
Tại sao ở đây và không có trong dba.stackexchange.com
Lúc đầu tôi đã miễn cưỡng đăng câu hỏi này lên serverfault.com vì tính chất phức tạp của câu hỏi. Câu hỏi có cả hai xu hướng là cụ thể của SQL Server, nhưng cũng là dành riêng cho Windows Server. Cuối cùng, tôi quyết định đăng nó ở đây, vì tôi nghĩ rằng đó là một Windows Server IP xử lý (vì mất từ tốt hơn).
Nếu người điều hành nghĩ rằng tôi sẽ nhận được phản hồi tốt hơn trong dba.stackexchange.com thì vui lòng chuyển câu hỏi sang đó.
Giải thích dài
Trong môi trường của chúng tôi, chúng tôi có máy chủ Windows lưu trữ nhiều phiên bản SQL Server và nhiều cài đặt IP. Chúng tôi thêm các cấu hình tường lửa phức tạp, các máy chủ Dịch vụ báo cáo SQL Server (SSRS) chuyên dụng và đưa ra một môi trường trông giống như thế này:
Về cơ bản, chúng ta có thể có một Máy chủ Windows chạy tối đa 15 (mười lăm) phiên bản SQL Server trên các địa chỉ IP riêng lẻ. Điều này cũng hợp lệ đối với trường hợp Dịch vụ báo cáo chuyên dụng.
Quy tắc tường lửa
Các phạm vi IP khác nhau hiện không được định cấu hình là các vùng, điều đó có nghĩa là chúng ta phải định cấu hình độc lập từng quy tắc tường lửa dưới dạng quy tắc IP-to-IP hoặc IPrange-to-IP. Khi có hai máy chủ tham gia, thì bảo mật sẽ ra lệnh rằng nó luôn phải là quy tắc IP-to-IP. Mỗi phiên bản SQL Server sẽ có một bộ quy tắc riêng cho các tường lửa liên quan đến truyền thông, đây có thể là liên kết giữa máy chủ với máy chủ hoặc máy khách đến máy chủ. Áp dụng cho một quy tắc tường lửa hiện đang phải chịu một khoảng thời gian chờ đợi bốn đến sáu tuần. Giảm số lượng quy tắc tường lửa sẽ giảm áp lực cho nhóm bảo mật mạng.
Cấu hình IP máy chủ SQL
Việc định cấu hình phiên bản SQL Server để chỉ nhận trên một IP chuyên dụng và cổng được thực hiện bằng cách sửa đổi một số cài đặt trong tiện ích Trình quản lý cấu hình máy chủ SQL. Bước đầu tiên là khởi động Trình quản lý cấu hình máy chủ SQL và trong phần bên trái, chọn Cấu hình mạng máy chủ SQL | Giao thức cho InstanceName . Trong ngăn bên trái, nhấp chuột trái vào Tên giao thức TCP / IP và Kích hoạt giao thức. Sau đó nhấp chuột trái vào giao thức một lần nữa và hiển thị cửa sổ Thuộc tính cho TCP / IP .
Sau đó, đảm bảo các cài đặt sau được đặt trong thanh ghi Giao thức :
Enabled : Yes
Listen All : No
Trong đăng ký Địa chỉ IP, hãy kiểm tra các cài đặt sau cho địa chỉ IP được đề cập (ví dụ: đối với máy chủ Dịch vụ báo cáo trong ví dụ này, nó sẽ dành cho 168.xxx.xxx.71)
Active : Yes
Enabled : Yes
IP Address : 168.xxx.xxx.71
TCP Dynamic Ports :
TCP Port : 1433
Lưu ý: Điều quan trọng là cài đặt cho Cổng động TCP trống không chỉ là 0 (không).
Bây giờ bạn có một phiên bản SQL Server sẽ chỉ nhận các kết nối cơ sở dữ liệu trên 168.xxx.xxx.71 bằng cổng 1433.
Tóm tắt sơ thẩm máy chủ SQL
Dịch vụ Trình duyệt Máy chủ SQL không chạy và mỗi phiên bản SQL Server riêng lẻ được định cấu hình để chỉ sử dụng địa chỉ IP của chính nó trên cổng 1433. Cho một phiên bản SQL Server có tên GENITH, một máy chủ Windows có tên máy chủ SQLSERVER01 và hai địa chỉ IP 162.xxx .xxx.50 (máy chủ) và 162.xxx.xxx.51 (Trường hợp SQL) Tôi sẽ kết thúc với các mục cấu hình sau:
Windows Server : SQLSERVER01
Windows Server IP : 162.xxx.xxx.50
SQL Server Instance : SQLSERVER01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 162.xxx.xxx.51:1433
Máy chủ SQL sẽ không nhận các yêu cầu cho 162.xxx.xxx.50: 1433, vì không có phiên bản SQL Server nào được cấu hình để nghe trên địa chỉ IP này trong tiện ích Trình quản lý cấu hình SQL Server. Máy chủ SQL sẽ chỉ nhận các yêu cầu cho SQLSERVER01-i01 (trên cổng 1433) hoặc 162.xxx.xxx.51,1433.
Tóm tắt sơ thẩm dịch vụ báo cáo máy chủ SQL
Dịch vụ Trình duyệt Máy chủ SQL không chạy và mỗi phiên bản Dịch vụ Báo cáo Máy chủ SQL riêng lẻ được định cấu hình để chỉ sử dụng địa chỉ IP của chính nó trên cổng 1433. Đưa ra một phiên bản Dịch vụ Báo cáo Máy chủ SQL có tên GENITH, máy chủ Windows có tên máy chủ SQLSERVERRS01, một ứng dụng trên SSRS có tên APPL1
và hai địa chỉ IP 168.xxx.xxx, 70 (máy chủ) và 168.xxx.xxx.71 (Trường hợp SQL) Tôi sẽ kết thúc với các mục cấu hình sau:
Windows Server : SQLSERVERRS01
Windows Server IP : 168.xxx.xxx.70
SQL Server Instance : SQLSERVERRS01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 168.xxx.xxx.71:1433
Reporting Services : http://sqlserverrs01-i01/Reports_APPL1
http://sqlserverrs01/Reports_APPL1
Máy chủ SQL sẽ không nhận các yêu cầu cho 168.xxx.xxx, 70: 1433, vì không có phiên bản SQL Server nào được cấu hình để nghe trên địa chỉ IP này trong tiện ích Trình quản lý cấu hình SQL Server. Máy chủ SQL sẽ chỉ nhận các yêu cầu cho SQLSERVER01-i01 (trên cổng 1433) hoặc 162.xxx.xxx.71,1433.
SSRS sẽ nhận các yêu cầu cho http: // sqlserverrs01-i01 / báo cáo_APPL1 hoặc http: // sqlserverrs01 / báo cáo_APPL1 vì cấu hình *: 80 trong Cấu hình dịch vụ báo cáo cho tiêu đề máy chủ.
Tôi hy vọng tôi đã cung cấp đủ thông tin cho bất kỳ ai sẵn sàng dành thời gian để viết câu trả lời và tôi mong muốn các chi tiết và liên kết kỹ thuật của bạn.
Được viết bằng StackEdit và sau đó được sửa đổi thủ công để tương thích stackexchange.
Lịch sử
Chỉnh sửa 1 : Bản phát hành ban đầu
Chỉnh sửa 2 : Định dạng lại để dễ đọc. Đã giải thích SF / DB xuống. Đã thêm tên máy chủ cho Windows Server
Chỉnh sửa 3 : Đã sửa lỗi địa chỉ IP sai trong danh sách quy tắc tường lửa.
Chỉnh sửa 4 : đã thay đổi lưu trữ từ thành chạy (đó là môi trường không ảo hóa) ở một số nơi. Đã thêm địa chỉ IP trong một câu
Chỉnh sửa 5 : Đã thêm danh sách các bài viết tôi đã tham khảo và hỗ trợ tham khảo
Chỉnh sửa 6 : Làm sạch phần Lịch sử