В одной из предыдущих статей мы начали настройку DNAT (Destination Nat) на Eltex ESR, который позволяет выставить локальный сервер наружу, для подключения из сети Интернет. Функция Source NAT (SNAT) используется для подмены адреса источника у пакетов, проходящих через маршрутизатор. При прохождении пакетов из локальной сети в публичную сеть, адрес источника заменяется на один из публичных адресов шлюза.
То есть SNAT может использоваться для предоставления доступа в Интернет компьютерам, находящимся в локальной сети.
Рассмотрим настройку SNAT на конкретном примере.
Настроить доступ пользователей локальной сети 192.168.1.0/24 к публичной сети с использованием функции Source NAT, через ip-адрес внешней сети 1.1.1.1.
1.Настройку начнем с создания зон TRUST и UNTRUST, который обозначают LAN и WAN сегмент соответственно.
esr# configure esr(config)# security zone UNTRUST esr(config-zone)# exit esr(config)# security zone TRUST esr(config-zone)# exit
2. На интерфейсы навесим зоны и ip-адреса.
esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone TRUST esr(config-if-gi)# ip address 192.168.1.1/24 esr(config-if-gi)# exit esr(config)# interface tengigabitethernet 1/0/2 esr(config-if-te)# ip address 1.1.1.1/29 esr(config-if-te)# security-zone UNTRUST esr(config-if-te)# exit
3. Для конфигурирования SNAT и настройки правил зон безопасности потребуется создать профиль адресов локальной сети «LOCAL_NET», включающий адреса, которым разрешен выход в публичную сеть, и профиль адреса публичной сети «WAN_NET».
esr(config)# object-group network LOCAL_NET esr(config-object-group-network)# ip address-range 192.168.1.1-192.168.1.254 esr(config-object-group-network)# exit esr(config)# object-group network WAN_NET esr(config-object-group-network)# ip address-range 1.1.1.1 esr(config-object-group-network)# exit
4. Для пропуска трафика из зоны «TRUST» в зону «UNTRUST» создадим пару зон и добавим правила, разрешающие проходить трафику в этом направлении. Дополнительно включена проверка адреса источника данных на принадлежность к диапазону адресов «LOCAL_NET» для соблюдения
ограничения на выход в публичную сеть. Действие правил разрешается командой enable:
esr(config)# security zone-pair TRUST UNTRUST esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# match source-address LOCAL_NET esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# exit
5. Конфигурируем сервис SNAT. Первым шагом создаётся IP-адрес публичной сети (WAN), используемых для сервиса SNAT:
esr(config)# nat sourсe esr(config-snat)# pool WAN_ADDRESS esr(config-snat-pool)# ip address-range 1.1.1.1 esr(config-snat-pool)# exit
6. Создаём набор правил SNAT. В атрибутах набора укажем, что правила применяются только для пакетов, направляющихся в публичную сеть – в зону «UNTRUST». Правила включают проверку адреса источника данных на принадлежность к пулу «LOCAL_NET»:
esr(config-snat)# ruleset SNAT esr(config-snat-ruleset)# to zone UNTRUST esr(config-snat-ruleset)# rule 1 esr(config-snat-rule)# match source-address LOCAL_NET esr(config-snat-rule)# action source-nat pool WAN_ADDRESS esr(config-snat-rule)# enable esr(config-snat-rule)# exit esr(config-snat-ruleset)# exit
7. На самом маршрутизаторе создаем маршрут по умолчанию с помощью следующей команды, через шлюз WAN-сети:
esr(config)# ip route 0.0.0.0/0 1.1.1.254 esr(config)# exit
security-zone trusted
exit
security-zone unstrusted
exit
int g1/0/2
ip address dhcp
security-zone untrusted
int g1/0/1
ip address
security-zone trusted
object-group service DHCP_CLIENT
port-range 68
object-group service DHCP_SERVER
port-range 67
ohject-group service SSH
port-range 22
object-group network LAN
ip address-range
security zone-pair trusted self
rule 1
description ICMP
action permit
match protocol icmp
match source-address LAN
enable
exit
rule 2
description SSH
action permit
match protocol tcp
match destination-port SSH
enable
exit
rule 3
description DHCP
action permit
match protocol udp
match source-port DHCP_CLIENT
match destination-port DHCP_SERVER
enable
exit
security zone-pair trusted untrusted
rule 1
description SNAT
action permit
match source-address LAN
enable
exit
security zone-pair untrusted self
rule 1
description ICMP
action permit
match protocol icmp
enable
exit
nat source
pool WAN
ip address-range
exit
ruleset SNAT
to zone untrusted
rule 1
match source-address LAN
action source-nat pool WAN
enable
exit
ip dhcp-server
ip dhcp-server pool LAN
network
address-range
default-router
dns-server 77.88.8.8
domain-name
config
security zone public
exit
int te1/0/2
security-zone public
exit
object-group network COMPANY
ip address-range 10.0.10.1-10.0.10.254
exit
object-group network WAN
ip address-range 11.11.11.11
exit
nat source
pool WAN
ip address-range 11.11.11.11
exit
ruleset SNAT
to zone public
rule 1
match source-address COMPANY
action source-nat pool WAN
enable
exit
exit
commit
confirm
configure terminal
ip dhcp-server pool COMPANY-HQ
network 10.0.10.32/27
default-lease-time 3:00:00
address-range 10.0.10.33-10.0.10.62
excluded-address-range 10.0.10.33
default-router 10.0.10.33
dns-server 10.0.10.2
domain-name company.prof
exit
Включение DHCP-сервера:
ip dhcp-server