Настройка NAT в Cisco
Итак, для структурности описания разберемся с определением, что такое NAT.
Определение. NAT (Network Address Translation) — технология трансляции сетевых адресов, т.е. подмены адресов в заголовке IP-пакета (иногда может еще и порт менять в заголовках TCP/UDP).
Другими словами, пакет, проходя через маршрутизатор, может поменять свой адрес источника и/или назначения.
Зачем это нужно?
1. Для обеспечения доступа из LAN, где чаще всего используются частные IP-адреса, в Internet, где маршрутизируются только глобальные IP-адреса.
2. (в меньшей степени) для сокрытия топологии сети и создания некоторого защитного барьера для проникновения внутрь сети.
[Команды настройки]
1. Привязка к интерфейсам статуса внешний или внутренний.
[code]ip nat inside | outside[/code]
2. (Необязательный шаг.) Назначение пула глобальных адресов.
[code]ip nat pool <start-ip> <end-ip> netmask | prefix-length [ type rotary ][/code]
При назначении адресного пула используется начальный адрес, конечный адрес и маска сети. При необходимости именно эти адреса будут распределяться между клиентами при трансляции запросов от них наружу.
3. Создание списка внутренних адресов, подлежащих трансляции, с помощью ACL.
[code]
access-list permit
…
access-list permit
[/code]
4a. Динамическая привязка друг к другу внутренних адресов и внешних.
[code]ip nat inside source list pool [/code]
4b. Статическая привязка друг к другу внутренних адресов и внешних.
[code]ip nat inside source static [/code]
4c. Привязка внутренних адресов к внешнему интерфейсу.
[code]ip nat inside source list interface <outside_interface> overload[/code]
5a. Динамическая привязка маскировки внутренних адресов другими адресами (произвольными, реально не существующими) из пула pool-name2
[code]ip nat outside source list pool [/code]
5b. Статическая привязка маскировки внутренних адресов другими адресами (произвольными, реально не существующими)
[code]ip nat outside source static [/code]
6. (Необязательный шаг.) Конфигурация трансляционного тайм-аута (блокировки по времени)
[code]ip nat translation <timeout|udp-timeout|dns-timeout|tcp-timeout|finrst-timeout> [/code]
Пример 1.
Трансляция между внутренними хостами, адресуемыми в сетях (либо 192.168.1.0, либо 192.168.2.0), и глобальной уникальной сетью 171.69.233.208/28.
[code]
ip nat pool net-20 171.69.233.208 171.69.233.223 netmask 255.255.255.240
ip nat inside source list 1 pool net-20
interface Ethernet0
ip address 171.69.232.182 255.255.255.240
ip nat outside
interface Ethernet1
ip address 192.168.1.94 255.255.255.0
ip nat inside
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 1 permit 192.168.2.0 0.0.0.255
[/code]
Пример 2.
Трансляция между внутренними хостами сети, адресуемыми в сети 9.114.11.0, и глобальной уникальной сетью 171.69.233.208/28. Пакеты с внешних хостов, адресуемых в сети 9.114.11.0 («подлинной» сети 9.114.11.0), транслируются, чтобы производилось впечатление, что они из сети 10.0.1.0/24.
[code]
ip nat pool net-20 171.69.233.208 171.69.233.223 netmask 255.255.255.240
ip nat pool net-10 10.0.1.0 10.0.1.255 netmask 255.255.255.0
ip nat inside source list 1 pool net-20
ip nat outside source list 1 pool net-10
interface Ethernet0
ip address 171.69.232.182 255.255.255.240
ip nat outside
interface Ethernet1
ip address 9.114.11.39 255.255.255.0
ip nat inside
access-list 1 permit 9.114.11.0 0.0.0.255
[/code]
Пример 3.
Компьютеру aa.bbb.3.245 из локальной сети aa.bbb.3.0/24 полностью разрешен выход в Интернет от имени публичного IP x.y.z.q. Остальным компьютерам локальной сети разрешен доступ только через EasyVPN к другой локальной сети.
[code]
interface FastEthernet4
ip address x.y.z.q 255.255.255.252
ip nat outside
ip virtual-reassembly
crypto ipsec client ezvpn ezvpn-id
interface V1an1
ip address aa.bbb.3.254 255.255.255.0
ip nat inside
ip virtual-reassembly
crypto ipsec client ezvpn ezvpn-id inside
ip nat inside source list al-nat interface FastEthernet4 overload
ip access-list extended al-nat
deny ip any aa.0.0.0 0.255.255.255
permit ip host aa.bbb.3.245 any
[/code]
[Команды просмотра статистики и отладки]
1. Показ активной трансляции
[code]show ip nat translations [ verbose ][/code]
2. Показ трансляционной статистики
[code]show ip nat statistics[/code]
3. Сброс динамической трансляции
[code]
clear ip nat translation
clear ip nat translation
[/code]
4. Сброс статической трансляции
[code]clear ip nat translation [/code]
5. Отладка
[code]debug ip nat [ ] [ detailed ] [/code]