Tl; д-р
У мене є екземпляр SQL Server (SQLSERVER01-i01) з виділеною IP-адресою та портом (162.xxx.xxx.51: 1433) на багатоекземплярному SQL сервері (у кожного екземпляра SQL Server на Windows Server є своя IP-адреса ), які працюють на одному сервері Windows (SQLSERVER01 / 162.xxx.xxx.50).
У мене також є виділений екземпляр Служб звітування (SQLSERVERRS01-i01) із власною IP-адресою та портом (168.xxx.xxx.71: 1433), який працює на іншому сервері Windows (SQLSERVERRS01) із власною IP-адресою (168 .xxx.xxx.70).
Виділений сервер Reporting Services має програму, до APPL1
якої можна дістатися або через, http://SQLSERVERRS01-i01:80/Reports_APPL1
або через http://SQLSERVERRS01:80/Reports_APPL1
.
SSRS підбере обидва запити через *:80
конфігурацію в Конфігурації служб звітування для заголовків хоста.
У нас є кілька брандмауерів між кожним діапазоном IP, а це означає, що ми маємо подати певне правило для кожного з'єднання IP-IP або IPrange-IP-з'єднання. Однак, коли задіяні два сервери, тоді безпека диктує, що у брандмауері завжди повинно бути правило IP-IP.
Питання
(на основі екрана, знятого далі)
Коли сервер Служб звітування підключиться до екземпляра SQL Server (на 162.xxx.xxx.51) для отримання даних, чи завжди він будуватиме з'єднання з базовою IP-адресою сервера Windows (168.xxx.xxx.70 / бажано ) що SSRS працює, чи буде (іноді) використовувати IP-адресу екземпляра Служб звітування SQL Server (168.xxx.xxx.71)?
Це актуально для конфігурації правила брандмауера з використанням підходу IP-до-IP. Мені доведеться подати заявку на правило, яке визначає з'єднання 168.xxx.xxx.71 до 162.xxx.xxx.51 через порт 1433 або з'єднання 168.xxx.xxx.70 до 162.xxx.xxx.51 через порт 1433.
Наразі я застосував би обидва правила брандмауера.
Бонусне питання
Чи можна налаштувати сервер Reporting Services для зв'язку з виділеною IP-адресою? У цьому випадку з адресою 168.xxx.xxx.71.
Відповіді я не шукаю
Я не шукаю поради щодо оптимізації конфігурації брандмауера або як реалізувати концепцію зонування для наших мереж. (Це вже в стадії розробки). Крім того, мене не цікавлять відгуки про те, що наявність SQL Server і SSRS на одному сервері вирішить мої проблеми. Я знаю це і з радістю зробив би це, але для стороннього програмного забезпечення, необхідного для роботи разом із компонентами SSRS.
Це працює
У мене конфігурація працює, якщо я застосовую обидва правила брандмауера між SSRS та екземпляром SQL Server.
168.xxx.xxx.71 --> 162.xxx.xxx.51 : 1433
168.xxx.xxx.70 --> 162.xxx.xxx.51 : 1433
Я хочу безпечно скоротити одним правилом брандмауера і гарантувати, що все ще працюватиме. (Див. Знімок екрана далі)
Редагувати: статті, які я читав до цього часу, передбачають, що мені потрібно лише друге правило, але гарантії немає.
Статті я вже консультував
Міркування щодо безпеки
статті статті інсталяції SQL Server .Налаштуйте Брандмауер Windows для дозволу доступу до SQL Server
Ця стаття вказує на всі інші статті щодо конфігурації брандмауера для SQL Server.Налаштування брандмауера Windows для доступу до бази даних двигуна
Не використовується жодне слово IP-адреси.Налаштування брандмауера для доступу до сервера звітів
Ця стаття була досить цікавою, як зазначалося:Якщо ви отримуєте доступ до реляційних баз даних SQL Server на зовнішніх комп'ютерах або якщо база даних серверів звітів знаходиться на зовнішньому екземплярі SQL Server, ви повинні відкрити порти 1433 та 1434 на зовнішньому комп'ютері.
Вибір вихідної IP-адреси на комп’ютері з декількома ходами Windows
Статті 5 та 6 були мені люб'язно надані Джеймсом (dba.se). В даний час вони здаються найбільш підходящими відповідями. Однак я трохи скептично налаштований на те, що в одній статті згадується використання декількох НІК, тоді як у мене є лише один НІК з декількома IP-адресами, призначеними для нього. Том (dba.se) також скористався порадами та загальними коментарями.
Чому тут, а не на dba.stackexchange.com
Спочатку я неохоче розміщував це питання на сервері defaultfault.com через складний характер питання. Питання має обидві тенденції бути специфічними для SQL Server, а також бути специфічними для Windows Server. Врешті-решт я вирішив опублікувати його тут, бо вважаю, що це обробка IP-адрес Windows Server (для втрати кращих слів).
Якщо модератор думає, що я отримаю кращу відповідь на dba.stackexchange.com, тоді, будь ласка, перенесіть питання туди.
Довге пояснення
У нашому середовищі у нас є сервери Windows, на яких розміщено кілька екземплярів SQL Server та декілька параметрів IP. Ми додаємо складні конфігурації брандмауера, виділені сервери звітів SQL Server (SSRS) і створюємо середовище, яке виглядає приблизно так:
В основному у нас може бути один сервер Windows, який працює до 15 (п'ятнадцяти) екземплярів SQL Server на окремих IP-адресах. Те саме стосується спеціалізованого екземпляра Служб звітування.
Правила брандмауера
Наразі різні діапазони IP не конфігуруються як зони, а це означає, що ми маємо самостійно налаштовувати кожне правило брандмауера як правило IP-to-IP або IPrange-to-IP. Коли задіяні два сервери, тоді безпека диктує, що це завжди має бути правилом IP-IP. Кожен екземпляр SQL Server матиме власний набір правил для брандмауерів, що беруть участь у комунікаціях, будь це посилання сервер-сервер або клієнт-сервер. Застосування правила брандмауера наразі передбачає період очікування від чотирьох до шести тижнів. Зменшення кількості правил брандмауера призведе до зменшення тиску на команду з безпеки мережі.
Налаштування IP-адреси екземпляра SQL Server
Настроювання екземпляра SQL Server для отримання лише на виділеному IP-адресі та порту виконується шляхом зміни деяких параметрів у утиліті SQL Server Configuration Manager. Першим кроком є запуск диспетчера конфігурацій SQL Server і в лівому розділі виберіть мережеву конфігурацію SQL Server | Протоколи для InstanceName . На лівій панелі клацніть лівою кнопкою миші Ім'я протоколу TCP / IP та увімкніть протокол. Потім ще раз клацніть лівою кнопкою миші протокол і відкрийте вікно Властивості для TCP / IP .
Потім переконайтесь, що в реєстрі протоколів встановлені наступні параметри :
Enabled : Yes
Listen All : No
У реєстрі IP-адрес перевірте наступні параметри відповідної IP-адреси (наприклад, для сервера служб звітування у цьому прикладі це було б для 168.xxx.xxx.71)
Active : Yes
Enabled : Yes
IP Address : 168.xxx.xxx.71
TCP Dynamic Ports :
TCP Port : 1433
Примітка. Важливо, щоб параметр для динамічних портів TCP був порожнім, а не 0 (нуль).
Тепер у вас є екземпляр SQL Server, який здійснюватиме підключення тільки до бази даних 168.xxx.xxx.71, використовуючи порт 1433.
Підсумок екземплярів SQL Server
Служба браузера SQL Server не запускається, і кожен окремий екземпляр SQL Server налаштований на використання лише своєї власної IP-адреси на порту 1433. Дано екземпляр SQL Server під назвою GENERAL, сервер Windows з ім'ям хосту SQLSERVER01 та двома IP-адресами 162.xxx .xxx.50 (хост) та 162.xxx.xxx.51 (екземпляр SQL) Я закінчу наступними елементами конфігурації:
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
SQL Server не буде приймати запити для 162.xxx.xxx.50: 1433, оскільки жодна інстанція SQL Server не налаштована для прослуховування цієї IP-адреси в утиліті SQL Server Configuration Manager. SQL Server підбиратиме запити лише для SQLSERVER01-i01 (на порт 1433) або 162.xxx.xxx.51,1433.
Підсумок екземплярів служб звітування SQL Server
Послуга браузера SQL Server не запускається, і кожен окремий екземпляр Служб звітування SQL Server налаштований на використання лише своєї власної IP-адреси на порту 1433. З огляду на екземпляр служби звітування SQL Server під назвою GENERAL, сервер Windows з іменем хоста SQLSERVERRS01, додаток на імені SSRS APPL1
та двох IP-адресах 168.xxx.xxx.70 (хост) та 168.xxx.xxx.71 (екземпляр SQL) я закінчуюсь такими елементами конфігурації:
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
SQL Server не буде приймати запити для 168.xxx.xxx.70: 1433, оскільки жоден екземпляр SQL Server не налаштований на прослуховування цієї IP-адреси в утиліті SQL Server Configuration Manager. SQL Server підбиратиме запити лише для SQLSERVER01-i01 (на порт 1433) або 162.xxx.xxx.71,1433.
SSRS підбере запити для http: // sqlserverrs01-i01 / Reports_APPL1 або http: // sqlserverrs01 / Reports_APPL1 через конфігурацію *: 80 у Конфігурації служб звітування для заголовків хоста.
Я сподіваюся, що я надав достатньо інформації для всіх, хто бажає витратити свій час на написання відповіді, і я з нетерпінням чекаю ваших технічних деталей та посилань.
Написано за допомогою StackEdit і пізніше зміниться вручну, щоб бути сумісним з stackexchange.
Історія
Редагувати 1 : Початковий випуск
Редагувати 2 : Переформатований для читабельності. Пояснення переміщено SF / DB вниз. Додано ім'я хоста для Windows Server
Edit 3 : виправлені неправильні IP-адреси в списку правил брандмауера.
Редагування 4 : зміни хостингу слів на біг (це невіртуальне середовище) в деяких місцях. Додана IP-адреса в одному реченні
Редагування 5 : Додано список статей, з якими я вже консультувався та посилався на підтримку
Правка 6 : Розділ "Історія очищеного"