[ESR] Применение ESR для нескольких подсетей с разными UpLink'ами
Для решения задачи будем использовать VRF.
Для начала создадим на ESR VRF c именем kids:
esr-12v# config
esr-12v(config)# ip vrf kids
esr-12v(config-vrf)# exit
При необходимости настройки файрвола создадим зоны безопасности. Для внешних интерфейсов untrusted, для внутренних trusted:
esr-12v(config)# security zone trusted
esr-12v(config-zone)# exit
esr-12v(config)# security zone untrusted
esr-12v(config-zone)# exit
Также стоит учесть, что для интерфейсов включенных в VRF потребуются свои зоны безопасности. Создадим их и включим в vrf kids.
esr-12v(config)# security zone trust-kids
esr-12v(config-zone)# ip vrf forwarding kids
esr-12v(config-zone)# exit
esr-12v(config)# security zone untrust-kids
esr-12v(config-zone)# ip vrf forwarding kids
esr-12v(config-zone)# exit
Приступим к настройке интерфейсов для подключения к сети Интернет:
esr-12v(config)# interface gigabitethernet 1/0/1
esr-12v(config-if-gi)# ip address 185.16.15.2/30
esr-12v(config-if-gi)# security-zone untrusted
esr-12v(config-if-gi)# exit
Указываем маршрут в интернет:
esr-12v(config)# ip route 0.0.0.0/0 185.16.15.1
Приступим к интерфейсу с фильтрованным интернетом. Первым делом включаем необходимый интерфейс в vrf kids:
esr-12v(config)# interface gigabitethernet 1/0/2
esr-12v(config-if-gi)# ip vrf forwarding kids
esr-12v(config-if-gi)# ip address 185.16.20.2/30
esr-12v(config-if-gi)# security-zone untrust-kids
esr-12v(config-if-gi)# exit
Точно также указываем маршрут, но с учетом vrf kids:
esr-12v(config)# ip route vrf kids 0.0.0.0/0 185.16.20.1
Создаем интерфейсы под локальные подсети. Подсеть которая будет ходить в фильтрованный интернет необходимо включить в тот же vrf, что и uplink.
esr-12v(config)# interface gigabitethernet 1/0/3
esr-12v(config-if-gi)# ip address 192.168.1.1/24
esr-12v(config-if-gi)# security-zone trusted
esr-12v(config-if-gi)# exit
esr-12v(config)# interface gigabitethernet 1/0/4
esr-12v(config-if-gi)# ip vrf forwarding kids
esr-12v(config-if-gi)# ip address 192.168.2.1/24
esr-12v(config-if-gi)# security-zone trust-kids
esr-12v(config-if-gi)# exit
Далее для каждой подсети настроим nat source:
esr-12v(config)# nat source
esr-12v(config-snat)# ruleset factory
esr-12v(config-snat-ruleset)# to zone untrusted
esr-12v(config-snat-ruleset)# rule 10
esr-12v(config-snat-rule)# action source-nat interface
esr-12v(config-snat-rule)# enable
esr-12v(config-snat-rule)# exit
esr-12v(config-snat-ruleset)# exit
Для фильтрованного интернета ruleset необходимо таже добавить в vrf kids:
esr-12v(config-snat)# ruleset kids
esr-12v(config-snat-ruleset)# ip vrf forwarding kids
esr-12v(config-snat-ruleset)# to zone untrust-kids
esr-12v(config-snat-ruleset)# rule 10
esr-12v(config-snat-rule)# action source-nat interface
esr-12v(config-snat-rule)# enable
esr-12v(config-snat-rule)# exit
esr-12v(config-snat-ruleset)# exit
esr-12v(config-snat)# exit
Далее разрешим трафик между зонами безопасности:
esr-12v(config)# security zone-pair trusted untrusted
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
esr-12v(config)# security zone-pair trusted trusted
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
sr-12v(config)# security zone-pair trusted self
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
Для интерфейсов в vrf kids:
esr-12v(config)# security zone-pair trust-kids untrust-kids
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
esr-12v(config)# security zone-pair trust-kids trust-kids
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
esr-12v(config)# security zone-pair trust-kids self
esr-12v(config-zone-pair)# rule 1
esr-12v(config-zone-pair-rule)# action permit
esr-12v(config-zone-pair-rule)# enable
esr-12v(config-zone-pair-rule)# exit
esr-12v(config-zone-pair)# exit
esr-12v(config)# exit
esr-12v# commit
esr-12v# confirm
В итоге получаем конфигурацию следующего вида:
esr-12v# show running-config
ip vrf kids
exit
security zone trusted
exit
security zone untrusted
exit
security zone trust-kids
ip vrf forwarding kids
exit
security zone untrust-kids
ip vrf forwarding kids
exit
interface gigabitethernet 1/0/1
security-zone untrusted
ip address 185.16.15.2/30
exit
interface gigabitethernet 1/0/2
ip vrf forwarding kids
security-zone untrust-kids
ip address 185.16.20.2/30
exit
interface gigabitethernet 1/0/3
security-zone trusted
ip address 192.168.1.1/24
exit
interface gigabitethernet 1/0/4
ip vrf forwarding kids
security-zone trust-kids
ip address 192.168.2.1/24
exit
security zone-pair trusted untrusted
rule 1
action permit
enable
exit
exit
security zone-pair trusted trusted
rule 1
action permit
enable
exit
exit
security zone-pair trust-kids untrust-kids
rule 1
action permit
enable
exit
exit
security zone-pair trust-kids trust-kids
rule 1
action permit
enable
exit
exit
security zone-pair trusted self
rule 1
action permit
enable
exit
exit
security zone-pair trust-kids self
rule 1
action permit
enable
exit
exit
nat source
ruleset factory
to zone untrusted
rule 10
description "replace 'source ip'by outgoing interface ip address"
action source-nat interface
enable
exit
exit
ruleset kids
ip vrf forwarding kids
to zone untrust-kids
rule 10
action source-nat interface
enable
exit
exit
exit
ip route 0.0.0.0/0 185.16.15.1
ip route vrf kids 0.0.0.0/0 185.16.20.1
Источник:
docs.eltex-co.ru