Постановка задачи

Во внутренней (локальной) сети предприятия поднят и настроен ECCM-сервер, посредством которого производится мониторинг и управление сетевым оборудованием предприятия. На границе внутренней сети предприятия и внешней сети расположен маршрутизатор с настройками NAT, то есть для Администратора 1 сервер ЕССМ находится «‎за NAT».

Требуется предоставить Администратору 1, который находится за пределами внутренней сети предприятия, доступ до web-интерфейса ECCM-сервера. При этом доступ должен быть организован таким образом, чтобы процедура подключения к ЕССМ для Администратора 1 и Администратора 2, который находится в одной локальной сети с сервером, выглядела абсолютно идентично.

Решение

Для того чтобы у Администратора 1 и Администратора 2 был равный доступ до сервера ECCM, находящегося во внутренней сети предприятия («‎за NAT»), необходимо, чтобы в адресной строке браузера Администраторы обращались по одному и тому же адресу. Решение поставленной задачи может быть достигнуто при соблюдении условий:

Условие 1. Во внешней сети внешний IP-адрес граничного маршрутизатора 92.123.54.17 должен резолвиться по тому же доменному имени, что и локальный IP-адрес ECCM-сервера 192.168.2.143 во внутренней сети предприятия.

Условие 2. Правила NAT должны быть настроены таким образом, чтобы порты, используемые для доступа к web-интерфейсу системы (80, 443), были проброшены симметрично.

Пример настройки

  1. Запустить/перезапустить ECCM-сервер с помощью скрипта ./compose-tools.sh с указанием доменного имени ECCM после ключа --start вместо его IP-адреса:

    sudo ./compose-tools.sh --start <Доменное имя ECCM>


  2. На граничном маршрутизаторе:
    1. настроить DNAT таким образом, чтобы при обращении Администратора 1 на внешний адрес маршрутизатора (92.123.54.17) трафик перенаправлялся на локальный (внутренний) адрес ECCM-сервера (192.168.2.143);
    2. пробросить необходимые для доступа к ECCM порты:
      • 80 — порт для доступа к web-интерфейсу ECCM по http;
      • 443 — порт для доступа к web-интерфейсу ECCM по https (сервер должен запускаться с ключом --https. При этом доступа к серверу по порту 80 не будет).

  3. На DNS-сервере, расположенном в сети Администратора 1, установить соответствие между доменом ECCM (eccm.company.org) и внешним IP-адресом (92.123.54.17) граничного маршрутизатора
    ИЛИ
    на ПК Администратора 1 в файле /etc/hosts установить соответствие между доменом ECCM (eccm.company.org) и внешним IP-адресом (92.123.54.17) граничного маршрутизатора.

  4. На DNS-сервере, расположенном в сети Администратора 2, установить соответствие между доменом ECCM (eccm.company.org) и внутренним IP-адресом ECCM-сервера (192.168.2.143)
    ИЛИ
    на ПК Администратора 2 в файле /etc/hosts установить соответствие между доменом ECCM (eccm.company.org) и внутренним IP-адресом ECCM-сервера (192.168.2.143).

После того как описанные выше рекомендации будут произведены, у Администратора 1 и Администратора 2 появится возможность подключения к web-интерфейсу сервера ECCM по ссылке:

Далее приведены пример настроек DNAT на маршрутизаторе ESR и примеры установления соответствия между доменом ECCM и IP-адресом в файле /etc/hosts для ПК Администратора 1 и ПК Администратора 2. 

Настройка DNAT и проброс портов на сервисном маршрутизаторе ESR

1. Создайте зоны безопасности trusted и untrusted:

esr# configure

esr(config)# security zone trusted

esr(config-zone)# exit

esr(config)# security zone untrusted

esr(config-zone)# exit


2. Настройте сетевые интерфейсы: задайте IP-адреса, установите принадлежность сетевых интерфейсов к зонам безопасности:


esr(config)# interface gigabitethernet 1/0/1

esr(config-if-gi)# security-zone trusted

esr(config-if-gi)# ip address 192.168.2.1/23

esr(config-if-gi)# exit


esr(config)# interface gigabitethernet 1/0/24

esr(config-if-gi)# security-zone untrusted

esr(config-if-gi)# ip address 92.123.54.17/29

esr(config-if-gi)# exit



 3. Создайте и настройте профили IP-адресов и портов, которые потребуются для настройки правил DNAT. Для каждого порта, который требуется пробросить для корректной работы ECCM, необходимо настраивать отдельный профиль.


esr(config)# object-group network net_uplink

esr(config-object-group-network)# ip address-range 92.123.54.17

esr(config-object-group-network)# exit


esr(config)# object-group network eccm_ip

esr(config-object-group-network)# ip address-range 192.168.2.143

esr(config-object-group-network)# exit


esr(config)# object-group service eccm_port_80

esr(config-object-group-networkservice)# port 80

esr(config-object-group-networkservice)# exit


esr(config)# object-group service eccm_port_443

esr(config-object-group-networkservice)# port 443

esr(config-object-group-networkservice)# exit



4. В режиме конфигурирования функции DNAT создайте пул адресов и портов назначения, в которые будут транслироваться адреса пакетов, поступающие на адрес 92.123.54.17 из внешней сети. Для каждого пробрасываемого порта необходимо создать свой пул:


esr(config)# nat destination


esr(config-dnat)# pool eccm_80

esr(config-dnat-pool)# ip address 192.168.2.143

esr(config-dnat-pool)# ip port 80

esr(config-dnat-pool)# exit


esr(config-dnat)# pool eccm_443

esr(config-dnat-pool)# ip address 192.168.2.143

esr(config-dnat-pool)# ip port 443

esr(config-dnat-pool)# exit


5. Создайте набор правил DNAT, в соответствии с которыми будет производиться трансляция адресов. На каждый пробрасываемый порт необходимо настроить свое правило DNAT.


esr(config-dnat)# ruleset DNAT_for_ECCM

esr(config-dnat-ruleset)# from zone untrusted


esr(config-dnat-ruleset)# rule 1

esr(config-dnat-rule)# match protocol tcp

esr(config-dnat-rule)# match destination-address net_uplink

esr(config-dnat-rule)# match destination-port eccm_port_80

esr(config-dnat-rule)# action destination-nat pool eccm_80

esr(config-dnat-rule)# enable

esr(config-dnat-rule)# exit


esr(config-dnat-ruleset)# rule 2

esr(config-dnat-rule)# match protocol tcp

esr(config-dnat-rule)# match destination-address net_uplink

esr(config-dnat-rule)# match destination-port eccm_port_443

esr(config-dnat-rule)# action destination-nat pool eccm_443

esr(config-dnat-rule)# enable

esr(config-dnat-rule)# exit



6. Создайте пару зон, соответствующую зонам безопасности untrusted и trusted. В настройках созданной пары укажите, что следует пропускать (action permit) только трафик:

esr(config)# security zone-pair untrusted trusted

esr(config-zone-pair)# rule 1

esr(config-zone-rule)# match source-address any

esr(config-zone-rule)# match destination-address eccm_ip

esr(config-zone-rule)# match destination-nat

esr(config-zone-rule)# match protocol any

esr(config-zone-rule)# action permit

esr(config-zone-rule)# enable

esr(config-zone-rule)# exit

esr(config-zone-pair)# exit

esr(config)# exit


7. Сохраните настройки в энергонезависимую память ESR поочередным вводом команд:

esr# commit

esr# confirm


Для мониторинга настроек и работы DNAT на ESR воспользуйтесь следующими командами:


Name         IP               Port     Description
----------- --------------- ------- -------------
eccm_80 192.168.2.143 80 --
eccm_443 192.168.2.143 443 --


Name                From                Description
------------------ ------------------ -------------
DNAT_for_ECCM zone 'untrusted' --


Prot      Inside source           Inside destination    Outside source          Outside destination      Pkts      Bytes
-------- ---------------------- -------------------- ---------------------- ----------------------- -------- --------
tcp 109.111.66.10:42508 192.168.2.143:443 109.111.66.10:42508 92.123.54.17:443 -- --
tcp 109.111.66.10:42524 192.168.2.143:443 109.111.66.10:42524 92.123.54.17:443 -- --


Настройка файла /etc/hosts

Для ПК Администратора 1

В файле /etc/hosts на ПК Администратора 1 пропишите соответствие между доменом ECCM и внешним IP-адресом граничного маршрутизатора.

Например, если домен ECCM eccm.company.org, то в /etc/hosts необходимо добавить строку:

92.123.54.17	eccm.company.org


127.0.0.1	localhost
127.0.1.1 administator1_pc
92.123.54.17 eccm.company.org

Для ПК Администратора 2

В файле /etc/hosts на ПК Администратора 2 пропишите соответствие между доменом ECCM и внутренним IP-адресом ECCM-сервера.

Например, если домен ECCM eccm.company.org, то в /etc/hosts необходимо добавить строку:

192.168.2.143	eccm.company.org 


127.0.0.1	localhost
127.0.1.1 administator2_pc
192.168.2.143 eccm.company.org

После произведенных настроек сервер ECCM будет доступен как из внешней, так и из внутренней сети по доменному имени eccm.company.org.