Постановка задачи
Во внутренней (локальной) сети предприятия поднят и настроен 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), были проброшены симметрично.
Пример настройки
Запустить/перезапустить ECCM-сервер с помощью скрипта ./compose-tools.sh с указанием доменного имени ECCM после ключа
--start
вместо его IP-адреса:sudo ./compose-tools.sh --start <Доменное имя ECCM>
- На граничном маршрутизаторе:
- настроить DNAT таким образом, чтобы при обращении Администратора 1 на внешний адрес маршрутизатора (92.123.54.17) трафик перенаправлялся на локальный (внутренний) адрес ECCM-сервера (192.168.2.143);
- пробросить необходимые для доступа к ECCM порты:
- 80 — порт для доступа к web-интерфейсу ECCM по http;
- 443 — порт для доступа к web-интерфейсу ECCM по https (сервер должен запускаться с ключом
--https
. При этом доступа к серверу по порту 80 не будет).
- На DNS-сервере, расположенном в сети Администратора 1, установить соответствие между доменом ECCM (eccm.company.org) и внешним IP-адресом (92.123.54.17) граничного маршрутизатора
ИЛИ
на ПК Администратора 1 в файле /etc/hosts установить соответствие между доменом ECCM (eccm.company.org) и внешним IP-адресом (92.123.54.17) граничного маршрутизатора. - На 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 по ссылке:
в случае подключения к серверу по протоколу http:
http://<Доменное имя ECCM>:80
в случае подключения к серверу по протоколу https:
https://<Доменное имя ECCM>:443
Далее приведены пример настроек 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.
- Все описанные ниже правила распространяются только для пакетов, пришедших из зоны untrusted (from zone untrusted).
- Правила включают в себя требования к соответствию данных по:
- адресу 92.123.54.17 (match destination-address net_uplink),
- порту назначения 80, 443 (match destination-port eccm_port_80, match destination-port eccm_port_443),
- протоколу tcp (match protocol tcp).
- В каждом правиле задано действие, применяемое к данным, удовлетворяющим всем правилам — action destination-nat.
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) только трафик:
который прошел преобразование DNAT (match destination-nat);
адрес назначения которого соответствует 192.168.2.143 (match destination-address eccm_ip);
адрес источника которого может быть любым (match source-address any);
требования к протоколу которого не определены (match protocol any).
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.