5.3.1 Настройка nat.
1. Настройка Source NAT.
Примечание. Организуем доступ пользователей локальной сети (для стенда это WAN) к публичной сети (для стенда это LAN).
Шаг 1. На R1 из привилегированного режима командой config проходим в режим глобальной конфигурации.
R1# config
R1(config)#
Шаг 2. Чтобы на данном стенде воспроизвести настройку NAT, создадим новый vlan с идентификатором 531.
R1(config)# vlan 531
R1(config-vlan)# exit
Шаг 3. Создадим bridge-интерфейс с идентификатором 2, используем команду bridge и указываем идентификационный номер моста, далее активируем bridge-интерфейс командой enable.
R1(config)# bridge 2
R1(config-bridge)# enable
Шаг 4. В режиме настройки интерфейса необходимо назначить IP-адрес с префиксом, согласно таблице адресации, командой ip address. В нашем примере
R1(config-bridge)# ip address 192.168.53.1/30
Шаг 5. Связываем bridge-интерфейс с VLAN, тогда все интерфейсы и L2-туннели, являющиеся членами назначаемого VLAN, автоматически будут включены в bridge-интерфейс и станут участниками общего L2-домена.
R1(config-bridge)# vlan 531
Шаг 6. Далее, назначить данный интерфейс определённой зоне безопасности.
R1(config-bridge)# security zone WAN
R1(config-bridge)# exit
Шаг 7. Выполним настройку на интерфейсе port-channel 1: переведём его в режим работы L2 командой mode switchport, включим сюда vlan 405 в режиме trunk и выйдем на уровень назад.
R1(config)# interface port-channel 1
R1(config-port-channel)# mode switchport
R1(config-port-channel)# switchport mode trunk
R1(config-port-channel)# switchport trunk allowed vlan add 531
R1(config-port-channel)# exit
Шаг 8. Применим и подтвердим настроенную конфигурацию.
R1# commit
R1# confirm
Шаг 9. Создадим профиль адресов локальной сети «LOCAL_NET», включающий адреса, которым разрешен выход в публичную сеть, и профиль адресов публичной сети «PUBLIC_POOL».
Примечание. В стенде используется имя зоны безопасности WAN, для маршрутизатора это всего лишь какое-то имя и не более того. В примерах лекций LOCAL_NET относится к зоне безопасности TRUSTED. В рамках данного стенда TRUSTED = WAN, а UNTRUST = LAN, хотя обычно SNAT настраивается из локальной (доверенной) в глобальную (недоверенную).
R1(config)# object-group network LOCAL_NET
R1(config-object-group-network)# ip address-range 192.168.53.2
R1(config-object-group-network)# exit
R1(config)# object-group network PUBLIC_POOL
R1(config-object-group-network)# ip address-range 192.168.0.1
R1(config-object-group-network)# exit
Шаг 10. Настроим правило трафика из зоны «WAN» в зону «LAN», добавим правила, разрешающие проходить трафику в этом направлении. Дополнительно включена проверка адреса источника данных на принадлежность к диапазону адресов «LOCAL_NET» для соблюдения ограничения на выход в публичную сеть. Действие правил разрешается командой enable.
R1(config)# security zone-pair WAN LAN
R1(config-zone-pair)# rule 60
R1(config-zone-pair-rule)# match source-address LOCAL_NET
R1(config-zone-pair-rule)# match protocol icmp
R1(config-zone-pair-rule)# action permit
R1(config-zone-pair-rule)# enable
R1(config-zone-pair-rule)# exit
R1(config-zone-pair)# exit
Шаг 11. Конфигурируем SNAT. Создадим пул адресов публичной сети, используемых для сервиса SNAT.
R1(config)# nat sourсe
R1(config-snat)# pool TRANSLATE_ADDRESS
R1(config-snat-pool)# ip address-range 192.168.0.1
Шаг 12. Включим утилиту проброса сессий для NAT.
R1(config-snat-pool)# persistent
R1(config-snat-pool)# exit
Шаг 13. Создадим набор правил SNAT. В атрибутах набора укажем, что правила применяются только для пакетов, направляющихся в публичную сеть – в нашем случае в зону «LAN». Правила включают проверку адреса источника данных на принадлежность к пулу «LOCAL_NET».
R1(config-snat)# ruleset SNAT
R1(config-snat-ruleset)# to zone LAN
R1(config-snat-ruleset)# rule 10
R1(config-snat-rule)# match source-address LOCAL_NET
R1(config-snat-rule)# action source-nat pool TRANSLATE_ADDRESS
R1(config-snat-rule)# enable
R1(config-snat-rule)# exit
R1(config-snat-ruleset)# exit
Шаг 14. Чтобы маршрутизатор отвечал на запросы протокола ARP для адресов, входящих в публичный пул, необходимо запустить сервис ARP Proxy. Сервис ARP Proxy настраивается на интерфейсе, которому принадлежит IP-адрес из подсети профиля адресов публичной сети «PUBLIC_POOL».
R1(config)# interface gigabitethernet 1/0/2.211
R1(config-if-gi)# ip nat proxy-arp PUBLIC_POOL
Шаг 15. Для того чтобы устройства локальной сети могли получить доступ к публичной сети, на них должна быть настроена маршрутизация – адрес 192.168.5.1 должен быть назначен адресом шлюза. На самом маршрутизаторе также должен быть создан маршрут для направления на публичную сеть. Этот маршрут может быть назначен маршрутом по умолчанию с помощью команды
R1(config)# ip route 0.0.0.0/0 192.168.0.2
R1(config)# exit
Шаг 16. Применим и подтвердим настроенную конфигурацию.
R1# commit
R1# confirm
Шаг 17. Проверим командами show и monitor (см. рис. 3, 4).
R1# show ip nat source pools
Рис. 3. Команда show ip nat source pools
R1# show ip nat source rulesets
Рис. 4. Команда show ip nat source rulesets
2. Настройка Destination NAT.
Организуем доступ из публичной сети (для стенда это из зоны LAN) к внутреннему серверу из локальной сети (для стенда это зона WAN)
Шаг 1. На R1 из привилегированного режима командой config проходим в режим глобальной конфигурации.
R1# config
R1(config)#
Шаг 2. Создадим профили IP-адресов и портов, которые потребуются для настройки правил Firewall и правил DNAT.
NET_UPLINK – профиль адресов публичной сети;
SERVER_IP – профиль адресов локальной сети;
SRV_HTTP - профиль портов.
R1(config)# object-group network NET_UPLINK
R1(config-object-group-network)# ip address 192.168.0.1
R1(config-object-group-network)# exit
R1(config)# object-group service SRV_HTTP
R1(config-object-group-service)# port 80
R1(config-object-group-service)# exit
R1(config)# object-group network SERVER_IP
R1(config-object-group-network)# ip address 192.168.53.2
R1(config-object-group-network)# exit
Шаг 3. Войдем в режим конфигурирования функции DNAT и создадим пул адресов и портов назначения, в которые будут транслироваться адреса пакетов, поступающие на адрес 192.168.0.2 из внешней сети.
R1(config)# nat destination
R1(config-dnat)# pool SERVER_POOL
R1(config-dnat-pool)# ip address 192.0.2.100
R1(config-dnat-pool)# ip port 80
R1(config-dnat-pool)# exit
Шаг 4. Создадим набор правил «DNAT», в соответствии с которыми будет производиться трансляция адресов. В атрибутах набора укажем, что правила применяются только для пакетов, пришедших из зоны «LAN». Набор правил включает в себя требования соответствия данных по адресу и порту назначения (match destination-address, match destination-port) и по протоколу. Кроме этого в наборе задано действие, применяемое к данным, удовлетворяющим всем правилам (action destination-nat). Набор правил вводится в действие командой «enable».
R1(config-dnat)# ruleset DNAT
R1(config-dnat-ruleset)# from zone LAN
R1(config-dnat-ruleset)# rule 10
R1(config-dnat-rule)# match destination-address NET_UPLINK
R1(config-dnat-rule)# match protocol tcp
R1(config-dnat-rule)# match destination-port SRV_HTTP
R1(config-dnat-rule)# action destination-nat pool SERVER_POOL
R1(config-dnat-rule)# enable
R1(config-dnat-rule)# exit
R1(config-dnat-ruleset)# exit
R1(config-dnat)# exit
Шаг 5. Для пропуска трафика, идущего из зоны «LAN» в «WAN», создадим соответствующую пару зон. Пропускать следует только трафик с адресом назначения, соответствующим заданному в профиле «SERVER_IP» и прошедший преобразование DNAT.
R1(config)# security zone-pair LAN WAN
R1(config-zone-pair)# rule 65
R1(config-zone-pair-rule)# match destination-address SERVER_IP
R1(config-zone-pair-rule)# match destination-nat
R1(config-zone-pair-rule)# action permit
R1(config-zone-pair-rule)# enable
R1(config-zone-pair-rule)# exit
R1(config-zone-pair)# exit
R1(config)# exit