NAT PDF Печать E-mail
Cisco
Автор: Сергей Верещагин   
Сайт: Сетевые решения
Дата публикации: 25.05.2009 21:09

NAT - Network Address Translation, изменение сетевого адреса. NAT обычно используется на границе сети - между LAN и Интернет. NAT позволяет пользователю из локальной сети, который находится за маршрутизатором, использовать ресурсы в Интернете посредством подмены локального адреса глобальным и обратно. Без NAT пользователь не сможет выйти в Интернет.

Для настройки NAT, в первую очередь необходимо создать список доступа, в котором необходимо разрешить те адреса из локальной сети (сети в которой находятся оконечные устройства), которым вы хотите предоставить доступ в Интернет. Для этого создадим список доступа ip access-list extended 100, в нем укажем сеть, адреса которой мы будем транслировать permit 192.168.0.0 0.0.255.255 any.

!

Обратите внимание, при конфигурации списков доступа вместо маски подсети указывается шаблонная маска (wildcard mask).

Далее укажем границу NAT командой ip nat inside source list 100 interface fastethernet1/1 overload, где source list - список доступа; interface - интерфейс, на котором терминировано подключение к Интернет; overload - опция, которая включает PAT.

Осталось указать маршрутизатору, к какому интерфейсу подключена локальная сеть и к какому Интернет. Для этого, в режиме конфигурации интерфейса, к которому подключена локальная сеть, следует написать ip nat inside, а на том, к которому подключен Интернет - ip nat outside.

Пример:

telecombook(config)#ip access-list extended 100
telecombook(config-ext-nacl)#permit ip 192.168.0.0 0.0.255.255 any
telecombook(config)#ip nat inside source list 100 interface fastethernet1/1 overload
telecombook(config)#int fastethernet1/2
telecombook(config-if)#ip nat inside
telecombook(config)#int fastethernet1/1
telecombook(config-if)#ip nat outside

Иногда может возникнуть ситуация, например, когда пользователю необходимо удаленно подключиться к своему рабочему столу или серверу, который находится за NATом. Для этого, как правило, используется порт 3389 RDP (Remote Desktop Protocol). Можно конечно настроить PPTP, L2TP или Easy VPN Server и полноценно использовать ресурсы внутреннией сети, но допустим, по каким-либо причинам данные технологии недоступны. Итак, для проброса порта RDP 3389, все что нужно знать это IP адрес хоста внутри сети, допустим это 192.168.1.10. В режиме глобальной конфигурации к предыдущей конфигурации добавляем строчку ip nat inside source static tcp 192.168.1.10 3389 interface fastethernet1/1 3389. Вместо номера интерфейса можно ввести внешний IP адрес, предоставленный провайдером, например, ip nat inside source static tcp 192.168.1.10 3389 201.25.114.45 3389.

Теперь на хосте с IP адресом 192.168.1.10 необходимо разрешить подключение к удаленному рабочему столу (Пуск - Мой компьютер(правый клик) - Свойства - Настройка удаленного доступа)*. На удаленной рабочей станции нужно создать ярлык подключения к удаленному рабочему столу (Пуск - Все программы - Стандартные - Подключение к удаленному рабочему столу)*, в свойствах которого указать адрес подключения, которым будет внешний IP адрес маршрутизатора 201.25.114.45. Остается дважды кликнуть по ярлыку будучи в любой точке земного шара, при условии наличия Интернет соединения, и вы окажетесь на рабочем столе хоста или сервера компании.

Пример:

telecombook(config)#ip access-list extended 100
telecombook(config-ext-nacl)#permit ip 192.168.0.0 0.0.255.255 any
telecombook(config)#ip nat inside source list 100 interface fastethernet1/1 overload
telecombook(config)#ip nat inside source static tcp 192.168.1.10 3389 interface fastethernet1/1 3389 ext
telecombook(config)#int fastethernet1/2
telecombook(config-if)#ip nat inside
telecombook(config)#int fastethernet1/1
telecombook(config-if)#ip nat outside

Альтернативная конфигурация позволит подключаться к нескольким серверам по RDP через один внешний IP адрес. Перед подключением к RDP на клиенте в настройках подключения укажите внешний IP адрес назначения и порт, например, 201.25.114.45:15001.

telecombook(config)#ip nat inside source static tcp 192.168.1.10 3389 201.25.114.45 15000 ext
telecombook(config)#ip nat inside source static tcp 192.168.1.11 3389 201.25.114.45 15001 ext
telecombook(config)#ip nat inside source static tcp 192.168.1.12 3389 201.25.114.45 15002 ext


Обновление от 16.08.2010


Далее будут представлены мои фантазии на то, как реализовать функционал представленной схемы:

NAT

Я называю это фантазиями, потому что придуманный мною конфиг при его применении на Cisco 800 серии по определенным обстоятельствам не давал мне закончить начатое удаленно, но я все же надеюсь, что он рабочий и когда-нибудь пригодится не только мне, но и моим читателям. Я не исключаю, что в нем есть ошибка, хотя вполне может быть, что ее вовсе нет:

ip access-list ext 192168101out
 10 deny ip host 192.168.10.1 172.16.4.0 0.0.0.255
 20 permit ip host 192.168.10.1 any
 exit
 
route-map 192168101out permit 10
 match ip address 192168101out
 exit
 
ip nat pool NATpool101 87.230.156.101 87.230.156.101 prefix-length 28
ip nat inside source route-map 192168101out pool NATpool101

-----------------------------------------------------

ip access-list ext 192168102out
 10 deny ip host 192.168.10.2 172.16.4.0 0.0.0.255
 20 permit ip host 192.168.10.2 any
 exit

route-map 192168102out permit 10
 match ip address 192168102out
 exit
 
ip nat pool NATpool102 87.230.156.102 87.230.156.102 prefix-length 28
ip nat inside source route-map 192168102out pool NATpool102

-----------------------------------------------------

ip access-list ext to1721640
 10 permit ip 192.168.10.0 0.0.0.255 172.16.4.0 0.0.0.255
 
route-map to1721640 permit 10
 match ip address to1721640
 
ip nat pool NATpool172x41 172.16.4.1 172.16.4.1 prefix-length 24
ip nat inside source route-map to1721640 pool NATpool172x41