opened image

Как подключаться к разным серверам Windows через один IP адрес

Основной причиной, по которой возникает необходимость организовать единую точку доступа к парку серверов Windows, является безопасность. Кроме того, это  обеспечит удобное администрирование и контроль доступов к удаленным рабочим столам. Особенно актуально, если существует много удаленных сотрудников, которые подключаются к серверам с разных IP и эти IP часто (или иногда) меняются.


Описание. Роль единой точки доступа будет выполнять RouterOS, установленной на отдельном виртуальном сервере. Для подключения к серверу, пользователь будет указывать IP сервера, на котором размещен RouterOS и порт подключения. Организацией перенаправления на нужный сервер возьмут на себя правила NAT, созданные в Firewall RouterOS. На Windows Server установим разрешение на доступ по RDP только с IP сервера RouterOS, обеспечивая таким образом его безопасность.
Большим преимуществом является то, что для предоставления доступа, ограничения и контроля, администратор может использовать все преимущества системы RouterOS.


Приступим к выполнению.


Вначале установим и настроим RouterOS на виртуальном сервере. 

Для установки RouterOS, воспользуйтесь инструкцией "Как установить RouterOS на виртуальный сервер (VPS/VDS)"

Далее - настроим.  Для нашей задачи будет достаточно провести базовые настройки безопасности RouterOS.

Для этого:

 

1. Подключитесь к RouterOS с помощью программы WinBox (скачать программу можно на официальном сайте Mikrotik)

 

 

2. Добавим DNS. Понадобиться для проверки и установки обновлений. 

 

 

3. Отключим ненужные для нашей задачи все сервисы RouterOS, кроме WinBox

 

 

4. В меню IP - Routes проверьте наличие маршрута по умолчанию. Как правило, маршрут уже должен быть создан после настройки сетевых интерфейсов.

 

 

5. Добавим базовые настройки безопасности firewall.

5.1 Разрешим установленные и связанные соединения:

IP -> Firewall -> Filter Rules -> + -> General: Chain=input, Connection state=established,related; Action: Action=accept; Comment="Trusted"

 

 

 

5.2 Запретим неверные соединения:

IP -> Firewall -> Filter Rules -> + -> General: Chain=input, Connection state=invalid; Action: Action=drop; Comment="Drop Invalid Packet"

 

5.3 Создадим правило блокировки IP, с которых осуществляются попытки соединения на общеизвестные порты. IP  будут добавляться в черный список на 10 часов (время можно установить любое)

 

Для ускорения создания задачи, откройте новый терминал (New Terminal)

 

 

и последовательно скопируйте, вставьте и выполните команды:

 

ip firewall raw add chain=prerouting src-address-list=BlackList   action=drop comment="BlackList"

 

ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10h chain=input protocol=tcp connection-state=new dst-port=20-25,80,110,161,443,445,3128,3306,3333,3389,7547,8080-8082  comment="Add to BlackList TCP port scanning"

 

Результаты выполнения

 

 

 

Кстати, уже через короткое время в списке BlackList появятся IP, с которых были попытки подключиться к RouterOS по общедоступному порту. Список заблокированных IP доступен во вкладке Address Lists

 

 

На этом настройка базовой защиты RouterOS завершена.

 

6. Теперь настроим проброс портов на RouterOS для для того, чтобы соединения на определенный порт RouterOS перенаправлялись через RouttrOS к Windows серверу.

 

6.1 Добавим правило (правило маскарадинга), обеспечивающее  подмену адреса назначение пакетов, которые идут от сервера. Это позволит пакетам в установленных соединениях беспрепятственно проходит RouterOS от сервера к компьютеру пользователя. Одно это правило обеспечит "проброс" всех пакетов от всех серверов.

 

IP - Firewall - NAT - +

General: Chain = srcnat

Action: Action = masquerade

 

6.2 Добавим правило, обеспечивающее подключение к конкретному серверу. 

IP - Firewall - NAT - +

General: Chain=dstnat, Protocol=6(tcp), Dst.Port=52244

Action: Action=netmap, To Addresses=SERVER_IP, To Port=3389 

 

Обратите внимание на два значения. 

52244 - это номер порта, который необходимо указывать при подключении к серверу. Число можно установить в диапазоне 1024- 65535

SERVER_IP - это реальный IP сервера, к которому необходимо подключаться.

 

Должно выглядеть так:

 

 

 

Также можно установить галочку Log  и прописать значение Log Prefix чтобы была возможность видеть в журнале RouterOS (Меню Log) подключение конкретно к этому серверу.

 

Для создания подключения к еще одному серверу, создайте такое же правило dstnat, указав IP другого сервера и другой номер порта (например, 62244).

 

При этом правило маскрадинга должно быть одно.

 

 

На этом настройка RouterOS завершена.

 

Теперь разрешим на Windows сервере доступ только с IP, на котором размещен RouterOS. Для этого воспользуйтесь инструкцией "Как предоставить доступ к Windows Server по IP или диапазону IP"

 

Проверим соединение к серверу, указав в поле Компьютер 

IP_RouterOS:52244

где

IP_RouterOS - IP сервера, на котором размещен RouterOS

52244 - порт подключения к первому серверу

 

Для подключения ко второму серверу, укажите в поле Компьютер

 

IP_RouterOS:62244

 

Таким образом, мы научились создавать систему подключения к Windows серверам через один IP адрес.