|
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
Далее будут представлены мои фантазии на то, как реализовать функционал представленной схемы:

Я называю это фантазиями, потому что придуманный мною конфиг при его применении на 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
|