КОНФИГУРАЦИЯ ТОПОЛОГИИ СЕТИ Внесение изменений в конфигурацию топологии сети - это первое, что необходимо рассмотреть, для обеспечения взаимодействия SQL Server и Proxy Server. Proxy Server обеспечивает прямое подключение через Internet к внутреннему серверу, на котором запущен SQL Server в роли издателя. Этот SQL Server обеспечивает в репликации исполнение ролей издателя (publisher) и дистрибутора (distributor). Второй SQL Server исполняет роль подписчика (subscriber), в нашем примере, это pull subscriber, а репликация между ними организована через Internet. Издатель, Дистрибутор |
| Прокси |
| Интернет |
| Подписчик | ЛВС | ЛВС | ЛВС | Windows NT MS SQL Server |
| Windows NT Windows NT Option PN IIS 4.0 Proxy Server |
|
|
| Windows NT MS SQL Server | Рисунок 1. Топология сети Требования к системному программному обеспечению, необходимому для организации работы Proxy сервера: - Microsoft Windows NT version 4.0 с установленным Service Pack 4; - Windows NT 4.0 Option Pack; - Microsoft Internet Information Services (IIS) version 4.0; - Proxy Server version 2.0. Требования к системному программному обеспечению, необходимому для обеспечения работы MS SQL Server: - Windows NT Server 4.0 с установленным Service Pack 4; - Microsoft Internet Explorer version 4.01 с установленным Service Pack 1; - SQL Server 7.0. Proxy сервер должен быть настроен как multihomed сервер, что предотвратит доступ неавторизованных пользователей из Internet к внутренним ресурсам сети. Multihomed Proxy сервер имеет две сетевые платы (NIC), которые обеспечивают безопасность подключений в гомогенных сетях. Первый NIC называется внешним Proxy интерфейсом и изолирует пользователей Internet от внутренней сети. Внутренняя сеть имеет доступ к Proxy серверу через второй NIC, называемый внутренним Proxy интерфейсом. Соединение может быть установлено между внутренним и внешним Proxy интерфейсом, когда внутреннему пользователю предоставлено соответствующее разрешение Proxy сервером. Proxy Server отслеживает, какие сервисы или пользователи из внутренней сети могут использовать подключение или соединение с портами на Proxy сервере. Такие подключения требуется определять до того, как будут определены любые внешние пользователи или серверы из Internet, которые смогут обращаться к данным или ресурсам внутренней сети. Чтобы обеспечить подключение к сервису Proxy, пользователь Internet должен ввести соответствующую информацию о Proxy сервере, что бы использовать внешний Proxy интерфейс и организовать подключение к одному из его портов. Организация подключения к порту на Proxy сервере обеспечивает доступ только к тем сервисам Proxy сервера, на которые пользователь имеет разрешение, например, к каталогам и файлам. Пользователь не сможет получать прямой доступ к сервисам или иным ресурсам внутренней сети. Чтобы получить доступ к ресурсам внутренней сети, внутренний пользователь или сервис, обладающий соответствующими разрешениями, должен соединиться с портом, используя внешний Proxy интерфейс. В течение процесса связывания (binding process), Proxy сервер подтверждает подлинность пользователя и, если он имеет необходимые разрешения, разрешает подключение. Представленная на рисунке №1 конфигурация подключения через Internet не затрагивает основные свойства безопасности SQL Server. Легитимные во внутренней сети пользователи могут обращаться к данным SQL Server, однако, чтобы получить доступ к SQL Server и любой из публикаций, пользователи из Internet должны сначала указать IP адрес, потом соединиться с соответствующим портом на Proxy сервере, а затем, обеспечить регистрацию на SQL Server посредством действительной учетной записи. [Содержание] Использование подсетей Не определяйте заданный по умолчанию шлюз для внутренних подсетей, а также для работы SQL или Proxy серверов. Заданный по умолчанию шлюз внешнего интерфейса должен указать на IP адрес соответствующего маршрутизатора. [Содержание] КРАТКИЙ ОБЗОР БЕЗОПАСНОСТИ Обеспечение безопасности – один из важнейших аспектов работы распределенного приложения. Поскольку при репликации изменения данных на одном сервере применяются на нескольких серверах из других сетей, обеспечение приемлемого уровня безопасности сети становится одной из основных задач. Обеспечение децентрализованного доступа к реплицируемым данным усложняет управление безопасностью. Репликация в SQL Server использует комбинированные механизмы защиты, которые позволяют надёжно защитить данные и бизнес-логику приложений. Одним из способов обеспечения требований безопасности состоит в разделении требований на разные уровни доступа. Прежде, чем добавить очередной уровень доступа необходимо обеспечить правильную работу низлежащего доступа. Правильная работа уровня зависит от работы предшествующего уровня. Ниже представлен список уровней безопасности, которые необходимо настраивать: · Windows NT user accounts · Proxy Server security · SQL Server replication account security [Содержание] Учетные записи пользователей Windows NT Показанные на рисунке №1 три сервера прежде, чем репликация будет запущена, должны установить соединение друг с другом. Сначала, publisher/distributor должны обеспечить сетевое подключение к Proxy серверу. Далее, subscriber должен получить SQL Server соединение с publisher/distributor и, наконец, subscriber должен иметь сетевое подключение к ftp-службе на Proxy сервере. [Содержание] Учетные записи пользователей Windows NT для publisher/distributor Первым делом, при репликации через Internet необходимо установить соединение между publisher/distributor и Proxy сервером. Когда SQL Server запущен, сервис MSSQLServer запрашивает разрешение у Proxy Server, чтобы установить связь с портом, эксклюзивно используя внешний Proxy интерфейс. Proxy Server должен иметь возможность аутентификации учётной записи, от имени которой работает сервис MSSQLServer, и обеспечивать работу в соответствии с конфигурацией этой учетной записи. В целях обеспечения хорошего уровня безопасности, не рекомендуется регистрироваться на консоли Windows NT сервера publisher/distributor под учётной записью MSSQLServer. Это позволит исключить работу зарегистрировавшегося пользователя через открытый Proxy интерфейс. Proxy Server |
| SQL Server: Издатель |
| Port 1433 Windows NT account: REPL1 Service: WinSock |
| Windows NT account: REPL1 Service: MSSQLServer | Port 21 Windows NT account: REPL2 Service: FTP |
|
| Рисунок 2. Учётные записи publisher/distributor [Содержание] Учетные записи Windows NT Proxy Server Учетная запись MSSQLServer на publisher/distributor должна быть введена в список разрешений для WinSock сервиса Proxy сервера. Когда будет затребовано разрешение на связь с портом, MSSQLServer представляет свою учётную запись Proxy серверу для идентификации. После того, как Proxy сервер подтвердит подлинность учетной записи MSSQLServer и подключит его к порту, станет возможно прямое подключение к publisher/distributor из Internet. Для того чтобы получить доступ к FTP-сервису на Proxy сервере, агент репликации подписчика (subscriber) предоставляет свою учётную запись для Proxy сервера, чтобы тот подтвердил её подлинность и дал разрешение на доступ к FTP. Эта учетная запись должна удовлетворять следующим условиям: · Должна быть включена в список «FTP Site Operators». · Должна иметь разрешение «log in locally». · Должна иметь разрешение на операцию «Чтение» для папки, в которой расположены моментальные снимки (Snapshot). Эта учётная запись пользователя создаётся автоматически и водиться в таблицу Mssubscriptions_Properties всякий раз, когда создаётся новая подписка. [Содержание] Учетные записи Windows NT для подписчиков (subscriber) Для организации подключения, необходимого при репликации, сервер publisher/distributor должен быть зарегистрирован на subscriber. Если не определено иначе, агенты репликации будут использовать ту же самую информацию об учётной записи, которая обычно используется при подключении publisher/distributor. Обратите внимание: Старайтесь не использовать собственные (встроенные) учётные записи MS SQL Server для регистрации publisher/distributor. Использование не встроенных логинов позволяет лучше ограничить доступ к публикациям, на уровне предоставления соответствующих разрешений. [Содержание] Безопасность Proxy сервера На multihomed сервере, внутреннее подключение должно быть организовано между внутренним и внешним Proxy интерфейсом до того, как пользователи из Internet получат доступ к ресурсам внутренней сети. Proxy сервер контролирует внутренних пользователей и сервисы сети, разрешая подключение только уполномоченным пользователям или сервисам. Как отмечалось ранее, сервис MSSQLServer на publisher/distributor устанавливает подключение к Proxy серверу и связывается с портом, который предоставляет SQL Server внешнему Proxy интерфейсу. Любой пользователь Internet, который правильно укажет номер порта, IP адрес внешнего Proxy интерфейса и правильные учётные данные для входа в систему, сможет получить доступ к SQL серверу. По умолчанию, для этого подключения в Enterprise Manager установлено маленькое время ожидания (4с), этого может оказаться недостаточно, для того, что бы подписчик успел пройти все необходимые стадии авторизации. Такая ситуация может возникнуть, если между Proxy сервером и subscriber велико время отклика или IP адрес подписчика транслируется из адреса внутренней сети в адрес сети Internet. Для разрешения этой проблемы, необходимо увеличить время ожидания Login time-out и Query time-out в окне Enterprise Manager Tools\Options… закладка Advanced. Для работы репликации необходимо обеспечить доступ к FTP-сервису. Для этого используется учетная запись, используемая subscriber для подключения к SQL серверу при инициализации FTP-сервиса. По умолчанию, это та же самая учетная запись, которая используется при оформлении регистрации сервера publisher/distributor на subscriber. Однако, Вы можете переопределить эту учетную запись, введя её имя и пароль в таблице MSsubscription_Properties, что можно сделать при создании Pull-подписки. В любом случае, эта учетная запись должна удовлетворять следующим требованиям: · Должна быть включена в список «FTP Site Operators». · Должна иметь разрешение «log in locally». · Должна иметь разрешение на операцию «Чтение» для папки, в которой расположены моментальные снимки (Snapshot). Заданные по умолчанию конфигурации для SQL Server включают: · Привязка к порту 1433 для использования Proxy Server WinSock Services. · Привязка FTP-сервиса к порту 21 для использования Proxy Server Socks Proxy service. Независимо от типа выбранной репликации, сначала устанавливается подключение через ODBC между subscriber и publisher. Distributor уведомляет subscriber о необходимости подключения к FTP-сервису на Proxy сервере. По запросу от distributor, subscriber инициализирует подключение к FTP-сервису, и работает с данными, находящимися в папке для размещения моментальных снимков (Snapshot). SQL Server: Подписчик |
| Internet |
| Proxy Server |
|
|
|
|
| SQL Server Agent User account: REPL3 |
| Replication agent (агент репликации) |
| Port 1433 Service: WinSock Открыт для SQL Server |
|
|
|
|
|
|
| База данных подписки |
|
| Port 21 Windows NT account: REPL2 Service: FTP | Таблица: MSsubscription_Properties FTP user account: REPL2 |
|
|
|
|
|
| Рисунок 3. Защита Proxy сервера [Содержание] Логин для SQL Server Replication Для Pull Subscriptions репликации требуется, чтобы publisher/distributor сервер был зарегистрирован на subscriber. Для успешной регистрации и получения доступа к издаваемой базе данных на publisher требуется, чтобы имя пользователя и пароля уже существовали на publisher/distributor. Если удаётся на subscriber зарегистрировать сервер publisher, это означает, что установлено сетевое соединение на уровне Windows NT и на уровне SQL Server. Если не удаётся зарегистрировать publisher/distributor на subscriber, проверьте каждое из этих соединений и права для каждой используемой учетной записи. Publisher/distributor использует учетную запись, от имени которой стартует MSSQLServer, для привязки пути к WinSock Port 1433 и внешнему Proxy интерфейсу. Обязательно необходимо, чтобы учетная запись, которую Вы используете для регистрации publisher/distributor, имела достаточные права на publisher/distributor. Учетная запись, используемая для регистрации сервера publisher/distributor на subscriber, должен быть стандартным SQL Server логином. Для лучшей безопасности, не нужно предоставлять этой учетной записи никаких специальных прав доступа на SQL сервере, кроме как на доступ к базе данных publication. Права доступа к базе данных publication можно предоставлять или через гостя, или явно добавляя пользователя к базе данных. Эта учетная запись также должна быть включена в Publication Access List (PAL) каждой публикации (publication), которой необходимо разрешить подписку на subscriber. SQL Server: Подписчик |
| Internet |
| Proxy Server |
| SQL Server: Издатель |
|
|
|
|
|
|
| SQL Server Agent User account: REPL3 |
| Replication agent (агент репликации) |
| Service: WinSock Открыт для SQL Server |
| User account: SQLLOGIN |
|
|
|
|
|
|
|
|
|
| База данных подписки |
|
|
| Публикации | Таблица: MSsubscription_Properties SQL Server user account: SQLLOGIN |
| SQLLOGIN |
|
| PAL |
|
|
|
|
|
| PAL |
|
|
|
|
| PAL |
|
|
|
|
| Port 21 Windows NT account: REPL2 Service: FTP |
|
| Регистрация сервера – издателя SQL Server user account: SQLLOGIN |
|
|
|
|
|
|
|
|
|
|
|
| Рисунок 4. SQL Server логин для репликации [Содержание] Доступ к публикации Последний уровень защиты проверяет права учётной записи пользователя на доступ к любым публикуемым данным. Поскольку publisher может иметь отношения типа один ко многим, доступ к каждой из публикаций может управляться её собственным Publication Access List (PAL). Логин, используемый Replication Agent, сверяется с PAL каждой публикации, к которой он пытается обратиться. Если логин подписчика не найден в PAL, доступ будет отклонен. Используя разные логины для различных подписчиков можно ограничивать доступ к данным в публикациях. SQL Server: Подписчик |
| Internet |
| Proxy Server |
| SQL Server: Издатель |
|
|
|
|
|
|
| SQL Server Agent User account: REPL1 |
| Replication agent (агент репликации) |
| Port 1433 Service: WinSock REPL1 |
| Публикации |
|
|
|
| PAL |
|
|
| PAL |
|
|
|
|
|
|
|
|
|
| PAL | База данных подписки |
|
| Port 21 Windows NT account: REPL2 Service: FTP |
|
| Таблица: MSsubscription_Properties SQL Server user account: REPL2 |
| REPL2 |
|
| Snapshot SQL Server Agent account: REPL1S |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Каталог для Snapshot \\proxy1\ftp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Рисунок 5. Доступ к публикации [Содержание] НАСТРОЙКА PROXY СЕРВЕРА SQL Server использует два метода доступа к реплицируемым данным: ODBC и FTP. Оба сервиса используются при репликации через Internet. Proxy Server должен быть правильно сконфигурирован, чтобы установить связь по ODBC между subscriber и publisher/distributor через Proxy сервер. Перед настройкой репликации, необходимо проверить это подключение, путём передачи данных от внешнего Proxy интерфейса на SQL Server, запустив OSQL на subscriber и установив подключение к publisher/distributor. Вторая проверка может состоять в записи данных с SQL Server в папку моментальных снимков на Proxy сервере. Это может быть выполнено после регистрации на publisher/distributor под учётной записью пользователя, от имени которого стартует SQL Agent, и копирования файла (ов) с SQL Server в новую папку моментальных снимков. Для настройки Proxy сервера нужно выполнить четыре ключевых операции (шага): · Отключите IP forwarding. · Настройте сервис FTP. · Настройте сервис WinSock Proxy. · Применить конфигурацию Proxy сервера. [Содержание] Отключение IP forwarding Хотя Internet обеспечивает эффективный способ издания и сбора данных (pull/subscribe) для удалённых узлов, эти технологии применимы и для интранет сетей, а также для закрытой информации. Для повышения защищённости сети, отключите прослушивание на внешних (наружных) портах сервисов, а затем отключите IP forwarding. Когда он будет заблокирован, пользователям из Internet будет видим только переназначенный IP адрес, что существенно сокращает вероятность неправомочного доступа к внутренним ресурсам. Proxy сервер может блокировать диапазоны внешних IP адресов. Когда IP forwarding заблокирован, пользователи из Internet не смогут инициализировать подключение, если они не будут допущены к соответствующим портом сервиса. Для отключения IP forwarding необходимо: 1. В окне Control Panel, дважды щёлкнуть по иконке Network. 2. Щёлкнуть по вкладке Protocols. 3. Выбрать TCP/IP, и затем щёлкнуть Properties. 4. В диалоговом окне Microsoft TCP/IP Properties, щёлкнуть Routing. 5. Проверить, что переключатель Enable IP Forwarding очищен. В некоторых конфигурациях Windows NT, можно добиться лучшей защищённости, если установить отдельный домен для Proxy сервера с отдельными, односторонними трастовыми отношениями к другим доменам, где будут расположены SQL серверы вашей частной сети. Для дополнительной информации о такой конфигурации, обратитесь к документации Windows NT. [Содержание] Настройка сервиса FTP Механизм репликации использует FTP для передачи первоначальных данных и схемы от одного сервера к другим через Internet. Snapshot агент размещает данные в папке моментальных снимков, которые там находят Merge или Distribution агенты, работающие на subscriber. Когда SQL Server репликация передаёт данные через Internet, используется FTP каталог на Proxy сервере как папка для моментальных снимков. Сначала должно быть установлено подключение по ODBC к publisher/distributor для получения информации о расположении папки моментальных снимков. После этого, Merge или Distribution агенты на subscriber инициализируют FTP подключение к Proxy серверу и забирают информацию, сохраненную в папке моментальных снимков. Чтобы настроить FTP службу на Proxy сервер, установите домашний FTP каталог на локальный каталог сервера, который после этого будет использовать publisher/distributor как каталог моментальных снимков. В завершении, нужно остановить и запустить FTP службу для того, что бы изменения вступили в силу. Настройка службы FTP: 1. Нажмите кнопку Start, пункт меню Programs/Microsoft Proxy Server, и затем щёлкните по Microsoft Management Console. 2. Раскройте папку Internet Information Service, а в ней раскройте папку с именем компьютера. 3. Щёлкните правой кнопкой мыши по Default FTP Site. 4. В пункте New щёлкните site, после чего запустится New FTP Site Wizard. 5. Введите нижеследующую информацию, если потребуется: FTP Site Descriptionb | FTP Replication Site | Select the IP Address to use for this FTP Site. (Введите IP адрес, который будет использоваться для этого FTP сайта) | Вводится IP адрес для этого сайта | TCP Port this FTP Site should use. (Используемый FTP сайтом TCP порт) | 21 | Enter the Path for your home directory. (Введите путь к домашнему каталогу) | Например, C:\repldata\ftp | What access permissions do you want to set for the home directory? (Какие разрешения доступа необходимы для домашнего каталога?) | Allow Read Access Разрешён доступ для чтения | Чтобы завершать настройку FTP сайта, измените заданные по умолчанию параметры настройки защиты. Чтобы увеличить защиту, выключите Anonymous Access (анонимный доступ) или доступ по гостевой учетной записи. Учетная запись пользователя, например REPL2, являющаяся локальным логином, получает разрешения к папке моментальных снимков, если она была включена в операторы FTP сайта (FTP site operators). Контроль FTP доступа через Proxy Server: 1. В меню Start, пункт Programs/Microsoft Proxy Server, щёлкните Microsoft Management Console. 2. Раскройте папку Internet Information Service, и затем раскройте папку с именем компьютера. 3. Щёлкните правой кнопкой мыши по FTP сайту, выбранному для репликации, и затем щёлкните Properties. 4. В диалоговом окне site name Properties, щёлкните по вкладке Security Accounts, и затем очистите переключатель Allow Anonymous Access. 5. Для FTP Site Operators, привилегии оператора предоставте только учетным записям пользователей, которым требуется доступ к этому FTP сайту. 6. В диалоговом окне Internet Service Manager, щелкните Yes (для продолжения) и щёлкните по вкладке FTP site. 7. Для Connections, выберите Limited To, и затем введите максимальное число подключений для репликации. 8. На вкладке Directory Security, в диалоговом окне By default, all computers will be: (По умолчанию, все компьютеры будут:), щёлкните Denied Access. Примечание: Это позволит исключить любую учётную запись FTP Site Operator, введенную на шаге №5, если IP адрес, введенный на этом шаге не будет являться статическим её IP адресом. 9. Щёлкните Add, и затем введите IP адреса для всех серверов, участвующих в репликации, которые будут обращаться на этот сервер. [Содержание] Настройка FTP сервиса при включенной фильтрации пакетов Если Proxy сервер использует для FTP сервиса Packet Filtering, со стороны Internet доступ к FTP будет полностью заблокирован. Если FTP сервис запущен на том же самом сервере, на котором работает Proxy сервер, чтобы получить доступ к FTP необходимо настроить статические фильтры. Для получения дополнительной информации о Packet Filters, см. документацию к Proxy Server. Добавить собственный или предопределенный статический фильтр можно следующим образом: 1. В меню Start, выбрать пункт Programs/Microsoft Proxy Server, и щёлкнуть Microsoft Management Console. 2. Развернуть Internet Information Service, и затем развернуть имя компьютера. 3. Щёлкнуть правой кнопкой мыши по Web Proxy service, и затем щёлкните по Properties. 4. На вкладке Service, щёлкните Security. 5. На вкладке Packet Filters, щёлкните Add. 6. В диалоговом окне Packet Filter Properties, щёлкните Custom filter. 7. В Protocol id, выберите протокол, и затем в Direction выберите направление. 8. Установите соответствующую опцию для Local Port. 9. Выберите соответствующую опцию для Local host для определения внутреннего компьютера, который будет обмениваться пакетами с внутренним хостом (subscriber). 10. Для Remote host, щёлкните Single host, и затем введите IP адрес. Это позволит организовать обмен пакетами с заданным хостом в Internet. Типовой фильтр пакета FTP Server IN (Filter 1 of 2) Protocol = TCP Direction = IN Local Port = 21 Remote Port = Any FTP Server OUT (Filter 2 of 2) Protocol = TCP Direction = BOTH Local Port = 20 Remote Port = Any [Содержание] Настройка сервиса WinSock Proxy До начала обмена данными, subscriber должен инициализировать подключение по ODBC к publisher/distributor, используя службу WinSock Proxy. WinSock Proxy отвечает за подключение внутренних пользователей через внешний интерфейса к внутренним службам. WinSock Proxy разрешает создание протоколов, с помощью которых можно ограничить доступ к имеющимся портам. Таким образом, можно ограничить возможность внутреннего пользователя инициализировать соединение к внешним ресурсам или оставить ему возможность получать только запрос на подключение извне. В особых ситуациях, некоторым пользователям можно предоставить неограниченный доступ ко всем портам WinSock Proxy. Например, SQL Server может получить неограниченный доступ, потому что он, как пользователь, может сам инициализировать или принимать соединение, запрашивать и затем подтверждать подлинность запрашивающей стороны с использованием своей собственной службы безопасности. Можно усилить безопасность, если запретить опытным пользователям SQL Server инициализацию или завершение подключения к WinSock, создав такой протокол, который бы ограничил доступ SQL сервера к портам на Proxy сервере. Использование протоколов гарантирует, что порт будет использоваться только для входящих соединений и внутренние пользователи не смогут устанавливать соединение с внешними ресурсами. Настройка протокола между WinSock Proxy и SQL Server осуществляется следующим образом: 1. В меню Start, выберете пункт Programs/Microsoft Proxy Server, и затем щёлкните по Microsoft Management Console. 2. Разверните Internet Information Service, и затем разверните сервер, на котором запущен Proxy сервер. 3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем щёлкните по Properties. 4. В WinSock Proxy Service Properties, для диалогового окна computername, щёлкните Protocols, и затем щёлкните Add. 5. В текстовом поле имени протокола введите имя, которое будет идентифицировать сервер, который в репликации исполняет роль distributor. Обратите внимание, что имя протокола не будет иметь никакого практического значения. Это мнемоническое имя используется для того, чтобы идентифицировать сокет и учетные записи или серверы, которым будут предоставлен доступ. 6. Для Initial Connection, в текстовое поле Port введите 1433. 7. Для Type, выберите TCP, и затем для Direction, выберите Inbound. Настройка WinSock Proxy разрешений для протокола осуществляется следующим образом: 1. В меню Start, пункт Programs Microsoft Proxy Server, щёлкните Microsoft Management Console. 2. Разверните Internet Information Service, и затем разверните имя компьютера. 3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем по Properties. 4. В WinSock Proxy Service Properties для диалогового окна computername, щёлкните по вкладке Permissions. 5. В списке Protocol, выберите необходимое имя протокола, которое было установлено при его настройке. 6. Щёлкните Edit, и затем в диалоговом окне Protocol name Permissions, щёлкните Add. 7. В диалоговом окне Add Users Groups, выберите учетную запись пользователя, которая предназначена для доступа к серверу репликации. Это учетная запись пользователя, которая используется для запуска MSSQLServer на publisher/distributor. Настройка разрешений службы WinSock Proxy для неограниченного доступа: 1. В меню Start, пункт Programs Microsoft Proxy Server, щёлкните по Microsoft Management Console. 2. Разверните Internet Information Service, и затем разверните имя компьютера. 3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем по Properties. 4. В WinSock Proxy Service Properties для диалогового окна computername, щёлкните по вкладке Permissions. 5. В списке Protocol, выберите Unlimited Access. 6. Щёлкните Edit, и затем в диалоговом окне Protocol name Permissions, щёлкните Add. 7. В диалоговом окне Add Users Groups, выберите учетную запись пользователя, которая используется для доступа к серверу репликации. Это учетная запись, которая используется для запуска MSSQLServer на publisher/distributor. [Содержание] Проверка конфигурации Proxy сервера После того, как будет выполнена настройка всех сервисов и серверов, рекомендуется проверить работоспособность заданной конфигурации, что можно сделать простой попыткой установления подключения и пробной передачи данных средствами стандартной утилиты MS SQL Server OSQL, с помощью которой можно создать и исполнить запрос. Если серверы не смогут установить соединение, репликация не будет работать правильно. [Содержание] НАСТРОЙКА ИЗДАТЕЛЯ (PUBLISHER/DISTRIBUTOR) Прежде, чем станет возможно издание статей через Internet, нужно настроить publisher/distributor на прослушивание TCP/IP или Multiprotocol сетевых протоколов. SQL Server использует сокеты TCP/IP или сетевую библиотеку Multiprotocol через TCP/IP для установки первоначального ODBC подключения между publisher/distributor и subscriber. Сетевая библиотека TCP/IP Sockets предлагается по умолчанию при установке SQL Server, но вместо неё может быть выбрана другая библиотека, если выполнялась custom инсталляция. Чтобы настроить репликацию через Internet, на publisher/distributor и subscriber должны быть правильно заданы её ключевые параметры. SQL Server должен быть настроен на работу с FTP и сервисом WinSock Proxy на Proxy сервере. Необходимо выполнить следующие четыре ключевых шага для правильной настройки SQL Server репликации: - Настроить publisher/distributor для работы с Proxy сервером. - Зарегистрировать на subscriber в ЕМ сервер publisher/distributor. - Настроить subscriber на работу с Internet. - Проверить работоспособность SQL сервера с Proxy сервером. [Содержание] Настройка работы издателя (publisher/distributor) с Proxy сервером Для этого необходимо иметь установленный и настроенный в соответствии с поставляемой в комплекте поставки документацией Proxy Server. Далее, необходимо настроить publisher/distributor в качестве Proxy клиента. Для этого потребуется привязать SQL Server к одному из портов WinSock, после чего будет возможна работа с SQL сервером из Internet. [Содержание] Привязка к WinSock порту для обеспечения передачи данных Для настройки SQL сервера на работу с Proxy сервером необходимо внести изменения в файл \Mssql7\Binn\Wspcfg.ini расположенный на сервера где запускается SQL Server. Если файл не существует, создайте его с помощью поставляемого вместе с операционной системой текстового редактора Notepad. Файл должен содержать следующие строки: [sqlservr] ServerBindTcpPorts=1433 Persistent=1 KillOldSession=1 Эти параметры говорят о том, что SQL Server будет слушать запросы через подключенный к нему порт 1433 на Proxy сервере. Если учетной записи, от имени которой стартует MSSQLServer, будет предоставлен неограниченный доступ, любой пользователь, сервис или анонимный подписчик сможет запросить идентификацию у SQL сервера. Можно так настроить соответствующий протокол для порта 1433 Proxy сервера, что к нему будет разрешено подключение с фиксированного набора IP адресов, или по предопределённому запросу. [Содержание] Конфигурирование SQL Server как Proxy клиент После завершения установки сервера, на Proxy Server создаётся ресурс с именем mspclnt, который указывает на каталог C:\Msp\Clients. Вы должны подключиться к этому ресурсу и запустить утилиту конфигурации Proxy клиента (mpclnt), что позволит настроить SQL Server как клиента Proxy. После того, как установка будет закончена, SQL Server может исполнять роль внутреннего клиента для Proxy сервера. Для того, что бы запустить утилиту конфигурации Proxy клиента необходимо: 1. На сервере, где запущен SQL Server, щёлкните Start, и затем щёлкните Run. 2. В поле Open, введите \\servername\mspclnt, и затем запустите программу Proxy Server Client Setup. 3. После окончания установки, необходимо перезапустить сервис SQL сервера для того, что бы изменения вступить в силу. [Содержание] Переназначение папки моментальных снимков на FTP У SQL Server должна быть в наличии информация о расположении основного FTP каталога на Proxy сервере. Папка моментальных снимков (по умолчанию: \Mssql7\Repldata\FTP) переназначается на основной FTP каталог на Proxy сервере, что позволяет обеспечить передачу данных на subscriber. Новая папка моментальных снимков устанавливается в процессе настройки FTP сервиса. Настройка основного FTP каталога выполняется следующим образом: 1. В меню Start, выберете пункт Programs/Microsoft SQL Server 7.0, и затем щёлкните по Enterprise Manager. 2. Разверните SQL Server Group, и затем щёлкните по серверу издателю. 3. В меню Tools, щёлкните по Wizards. 4. В диалоговом окне Select Wizard, разверните Replication. 5. Щёлкните Configure Publishing and Distribution Wizard. 6. Щёлкните по вкладке Publishers, и затем дважды щёлкните оп серверу издателю, который будет помещать файлы в папку моментальных снимков. 7. Введите путь в UNC формате, например, \\ProxyServerName\Repldata\FTP, и затем щёлкните по By impersonating the SQL Server Agent Account on PublishingServername (Trusted connection). [Содержание] Настройки, выполняемые для publisher/distributor в Network Utility Для обеспечения того, что publisher/distributor будет прослушивать запросы на подключение через внешний интерфейс Proxy сервера, проверьте следующие установки в SQL Server Network Utility: · TCP/IP Network Library. · Порт 1433. · IP адрес внешнего интерфейса принадлежит Proxy серверу. После применения этих настроек в SQL Server Network Utility, пользователи домена больше не смогут подключиться к SQL серверу по TCP/IP. Чтобы обеспечивать доступ к SQL серверу этим пользователям, нужно добавить, по крайней мере, ещё одну дополнительную сетевую библиотеку, например, Named Pipes. Для обеспечения возможности publisher/distributor прослушивания запросов на подключение через внешний интерфейс необходимо выполнить следующие шаги: 1. В меню Start, щёлкните Programs/Microsoft SQL Server 7.0, и затем щёлкните Server Network Utility. 2. В диалоговом окне SQL Server Network Utility, на вкладке Genera, щёлкните Add. 3. Для Network Libraries выберете TCP/IP. Для Connection parameters, введите 1433 в поле номера порта. Для Proxy Address, введите IP адрес для внешнего интерфейса Proxy сервера. 4. Щёлкните OK, чтобы применить настройки. [Содержание] НАСТРОЙКА ПОДПИСЧИКА (SUBSCRIBER) ДЛЯ ПОДКЛЮЧЕНИЯ ЧЕРЕЗ INTERNET Прежде, чем subscriber сможет установить подключение к publisher/distributor, необходимо обеспечить выполнение следующих условий: 1. Настройте subscriber в качестве клиента для publisher/distributor. Отобразите имя сервера издателя на TCP/IP адрес внешнего интерфейса Proxy сервера, что бы обеспечить агенту репликации подключение через Internet. 2. Настройте доступ к publisher и FTP при создании Pull subscription. [Содержание] Настройка подписчика (subscriber) в качестве клиента издателя (publisher) Subscriber должен располагать информацией о том, через какой порт WinSock Proxy будет работать publisher и какой выбран для этого сетевой протокол. Для того, что бы эта информация стала доступной SQL серверу - подписчику, необходимо: 1. В меню Start, щёлкните Programs/Microsoft SQL Server 7.0, и затем Client Network Utility. 2. В диалоговом окне SQL Server Client Network Utility, на вкладке General, выберите TCP/IP. 3. Щёлкните Add, а затем для Server alias (псевдоним, совпадающий названием с именем сервера - издателя), введите имя протокола (protocol name), выбранное для WinSock Proxy Service. Обратите внимание: Использование того же самого имени для Server Alias и Protocol Name, созданного в WinSock Proxy, не обязательно, если Вы не используете протокол. 4. Убедитесь, что в настройках Network libraries выбран TCP/IP. 5. Убедитесь, что в настройках Connection parameters указан порт 1433 [Содержание] Создание Pull Subscriptions и обеспечение доступа к publisher и FTP Для того чтобы subscriber мог получать информацию от publisher через Proxy Server, необходимо в настройках Pull Subscriptions указать информациею, с помощью которой определяется адрес publisher. Обратите внимание: Для того, что бы subscriber смог подписаться на публикацию через Internet, для этой публикация на publisher должна быть установлена опция Allow Snapshots to be downloaded using FTP. Настройка Pull Subscriptions: 1. В SQL Server Enterprise Manager, щёлкните сервер-подписчик. 2. В меню Tools, пункт Replication, щёлкните Pull Subscriptions to SubscriptionServerName. 3. Щёлкните Pull New Subscription. Запуститься Pull Subscription Wizard - мастер для создания pull подписки. 4. Когда появиться экран Choose Publication, щёлкните по серверу-издателю. Если сервер-издатель не появляется в списке, щёлкните Register Server и зарегистрируйте publisher через его псевдоним. 5. Для Specify Synchronization Agent Login, введите учетную запись с соответствующими настройками безопасности и включённую в PAL публикации, на которую создаётся подписка. 6. Для Choose Destination Database, выберите существующую базу данных, или щёлкните New Database, чтобы создать новую базу данных для подписки. 7. Для Initialize Subscription, выберите Yes, initialize schema and data at the Subscriber. 8. Если появляется опция Snapshot Delivery, выберите Yes, use FTP to copy the Snapshot files. 9. Для Set Distribution Agent Schedule, выберите соответствующую схему планирования работы агента репликации. 10. Выберите Allow Anonymous Subscriptions. 11. После того, как Вы укажите необходимые опции в оставшихся разделах мастера, щёлкните Finish. 12. Когда созданная Pull Subscriptions появится в диалоговом окне SubscriptionServerName, щёлкните по её Properties (свойства). 13. Когда появится диалоговое окно Pull Subscriptions Properties - PublisherName:databasename:replicationtype, щёлкает Snapshot Delivery. 14. Убедитесь, что выбран переключатель Use File Transfer Protocol (FTP). 15. В настройках FTP parameters для Server address of the Distributor, введите IP адрес сетевой платы (NIC), которая используется для подключений из Internet к Proxy серверу (внешний интерфейс), и через которую предполагается производить соединение с publisher. 16. В поле Port, введите номер FTP порта Proxy сервера, который используется publisher для размещения моментальных снимков (обычно это порт 21). 17. Для Login, введите учетную запись, которой были даны права для организации подключения. 18. Для Password, введите пароль этой учетной записи. 19. Щёлкните OK, и затем щёлкните Close. [Содержание] Регистрация publisher/distributor на subscriber Регистрация publisher/distributor на subscriber является обязательным условием подключения subscriber через Proxy сервер. Процесс регистрации также отображает вводимое в качестве имени регистрируемого сервера имя publisher/distributor на его IP адрес, после чего агенты репликации смогут устанавливать подключение через Internet. Для лучшей безопасности, используйте встроенные учётные запись для регистрации подключения к SQL серверу publisher/distributor. Для регистрации сервера publisher/distributor в Enterprise Manger на subscriber необходимо следующее: 1. В SQL Server Enterprise Manger, щёлкните правой кнопкой мыши по SQL Server Group, и затем щёлкните по New SQL Server Registration. 2. Введите следующую информацию, которая требуется для мастера Register SQL Server Ration Wizard: Выберите SQL Server | Введите имя сервера publisher/distributor | Выберите режим аутентификации. | Выберите SQL Server логин. | Выберите опцию подключения. | Ведите имя и пароль, которые проверяются на publisher/distributor. | Выберите SQL Server Group | Выберите соответствующие задачам вашей организации опции. | Обратите внимание: Логин для регистрации на SQL сервере сервера publisher/distributor, по умолчанию, также используется при создании подписки. Это тот же логин, который использует агент репликации, чтобы подключиться к SQL серверу с запросом на доступ к публикациям, и на получение доступа к FTP сервису на Proxy сервере. Вы можете отменить значение по умолчанию, указав допустимое для publisher/distributor имя логина и пароль в процессе или после завершения создания подписки. [Содержание] Проверка работы SQL сервера с Proxy сервером Чтобы проверить, что подключение к Proxy серверу было установлено через порт 1433, проверьте службу WinSock Proxy на Proxy сервере. Вы должны видеть сеанс Proxy сервера для логина пользователя, от имени которого стартует сервис MSSQLServer сервера publisher/distributor. Учетная запись пользователя не появляться немедленно. Подождите некоторое время, и затем щёлкайте периодически по Refresh. Если учётная запись SQL Server Agent не появляется в списке, останове и перезапустите SQL Server. SQL Server является клиентом Proxy сервера и сервисная учетная запись, от которой SQL Server был запущен, должна появиться в списке. Примечание: Вы должно использовать полностью квалифицированное имя, иначе учётная запись не будут работать. Проверка подключения осуществляется по следующей схеме: 1. В меню Start, пункт Programs/Microsoft Proxy Server, щёлкните по Microsoft Management Console. 2. Разверните папку Internet Information Service, и затем разверните Proxy сервер. 3. Щёлкните по WinSock Proxy Service, и затем щёлкните Properties. 4. На вкладке Services, щёлкните Current Sessions. 5. Щёлкните по службе WinSock Proxy. В качестве альтернативы, Вы можете проверять это IP подключение и информацию о портах любого компьютера, используя команду netstat. В отчёте, который выводиться на консоль, для SQL сервера publisher/distributor после выполнения команды netstat -a попадёт информация о клиентских и побочных, серверных подключениях, а также их состоянии и номера используемых портов. Используйте команду netstat без параметров, если вы хотите видеть только сеансы клиентов. Если Вы хотите просмотреть информацию только по портам 1433 и 21, используйте команду netstat -an чтобы отобразить только TCP/IP подключения. В списке могут быть перечислены несколько других портов кроме 1433. Порт 1433 настроен, как incoming port. Outgoing port выбирается динамически, Proxy сервер назначает его, когда устанавливается подключение. Динамические порты располагаются на номерах от 1025 до 5000: Active Connections Proto Local Address Foreign Address State
TCP SQLReplServer:1026 0.0.0.0:0 LISTENING TCP SQLReplServer:1031 0.0.0.0:0 LISTENING TCP SQLReplServer:1033 0.0.0.0:0 LISTENING TCP SQLReplServer:FTP 0.0.0.0:0 LISTENING TCP SQLReplServer:1058 0.0.0.0:0 LISTENING TCP SQLReplServer:1059 0.0.0.0:0 LISTENING TCP SQLReplServer:135 0.0.0.0:0 LISTENING TCP SQLReplServer:135 0.0.0.0:0 LISTENING TCP SQLReplServer:1433 0.0.0.0:0 LISTENING TCP SQLReplServer:1025 0.0.0.0:0 LISTENING TCP SQLReplServer:1025 localhost:1026 ESTABLISHED TCP SQLReplServer:1026 localhost:1025 ESTABLISHED TCP SQLReplServer:1029 0.0.0.0:0 LISTENING TCP SQLReplServer:1030 0.0.0.0:0 LISTENING TCP SQLReplServer:1032 0.0.0.0:0 LISTENING TCP SQLReplServer:1056 0.0.0.0:0 LISTENING TCP SQLReplServer:1057 0.0.0.0:0 LISTENING TCP SQLReplServer:137 0.0.0.0:0 LISTENING TCP SQLReplServer:138 0.0.0.0:0 LISTENING TCP SQLReplServer:nbsession 0.0.0.0:0 LISTENING UDP SQLReplServer:1059 *:* UDP SQLReplServer:1088 *:* UDP SQLReplServer:135 *:* UDP SQLReplServer:nbname *:* UDP SQLReplServer:nbdatagram *:*
[Содержание] |
Комментариев нет:
Отправить комментарий