Конфигурирование функции маршрутизатора nat pat
NAT (Network Address Translation) — это процесс трансляции локальных (частных) ip-адресов во внешние (глобальные), позволяет узлам, имеющим частные адреса, обмениваться данными в сети Интернет.
При настройке NAT, один интерфейс должен быть определен как внутренний (соединяется с внутренней частной сетью), а другой как внешний (используется для выхода в Интернет).
Используется 3 вида трансляции адресов
1. Статический (Static Network Address Translation)
2. Динамический (Dynamic Address Translation)
3. Маскарадный (NAPT, NAT Overload, PAT)
Настройка статического NAT (Static Network Address Translation)
Статический NAT — сопоставляет единый внутренний локальный (частный) ip-адрес с единым глобальным (публичным) ip-адресом.
1.Создание статического маршрута на стороне ISP.
R2(config)# ip route 200.20.21.1 255.255.255.224 200.20.20.1
R1(config)# ip route 0.0.0.0 0.0.0.0 200.20.20.2
3.Настройка внутреннего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/0 R1(config-if)# ip nat inside
4.Настройка внешнего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/1 R1(config-if)# ip nat outside
5.Настройка сопоставления ip-адресов.
R1(config)# ip nat inside source static 10.10.10.2 200.10.21.5
В результате ip-адресу 200.10.21.5 всегда будет соответствовать внутренний ip-адрес 10.10.10.2, т.е. если мы будем обращаться к адресу 200.10.21.5 то отвечать будет computer 1
Настройка динамического NAT (Dynamic Address Translation)
Динамический NAT — использует пул доступных глобальных (публичных) ip-адресов и назначает их внутренним локальным (частным) адресам.
1.Настройка списка доступа соответствующего внутренним частным адресам, обратите внимание что используется обратная маска.
R1(config)# access-list 1 permit 10.10.10.0 0.0.0.255
R1(config)# ip nat pool white-address 200.20.21.1 200.20.21.30 netmask 255.255.255.0
R1(config)# ip nat inside source list 1 pool white-address
4.Настройка внутреннего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/0 R1(config-if)# ip nat inside
5.Настройка внешнего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/1 R1(config-if)# ip nat outside
Настройка PAT (NAPT, NAT Overload, маскарадинг)
PAT (Port Address Translation) — отображает несколько локальных (частных) ip-адресов в глобальный ip-адрес, используя различные порты.
1. Настройка списка доступа соответствующего внутренним частным адресам, обратите внимание что используется обратная маска.
R1(config)# access-list 1 permit 10.10.10.0 0.0.0.255
R1(config)# ip nat inside source list 1 interface fastethernet 0/1 overload
3.Настройка внутреннего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/0 R1(config-if)# ip nat inside
4.Настройка внешнего интерфейса в отношение NAT.
R1(config)# interface fastethernet 0/1 R1(config-if)# ip nat outside
Команды для проверки работы NAT
show ip nat translations - Выводит активные преобразования. show ip nat statistics - выводит статистику по NAT преобразованиям.
NAT (Network Address Translation) для новичков
Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.
Введение
Интернет — всемирная система, состоящая из объединенных компьютерных сетей на базе протокола TCP/IP.
Сейчас интернет — это не просто сеть, а целая информационная вселенная, подчиняющаяся техническим, социальным и государственным законам в различных ее частях. В современном мире люди не обходятся без доступа во всемирную паутину. Интернет открывает множество возможностей получения информации из любой точки мира.
На данный момент в интернете больше всего распространены IP адреса версии — IPv4. Это позволяет создать 4.3 млрд. IP-адресов. Однако этого, казалось бы, большого количества критично не хватает. Чтобы решить эту проблему — был создан механизм преобразования сетевых адресов — NAT.
С задачей объединения устройств в единую сеть помогают различные компании, занимающиеся разработкой и внедрением сетевого оборудования.На сей момент на рынке сетевого оборудования доминируют компании Cisco Systems и Huawei. В данной статье будем вести работу с оборудованием Cisco.
Cisco Systems разработала собственную специальную межсетевую ОС для работы с оборудованием под названием IOS (Internet Operating System). IOS — многозадачная операционная система, выполняющая функции сетевой организации, маршрутизации, коммутации и передачи данных. ОС IOS представляет собой сложную операционную систему реального времени, состоящую из нескольких подсистем и имеющую множество возможных параметров конфигурирования.
В операционной системе IOS представлен специфичный интерфейс командой строки CLI (Command Line Interface). В этом интерфейсе возможно использовать некоторое количество команд. Количество зависит от выбранного режима и от уровня привилегий пользователя (пользовательский, привилегированный, глобальной конфигурации и специфической конфигурации).
Нехватка IP адресов. Технология NAT
В 80х годах ХХ века заложили основу IPv4, позволяющую создавать ~4.3 млрд. адресов, но никто не предполагал, что этот запас так быстро иссякнет. С каждым годом появлялось все больше и больше пользователей и с 25 ноября 2019г. в России и в Европе официально закончились IP адреса. Лимит исчерпан.
Для решения этой проблемы было придумано несколько способов:
Первый способ заключается в усилении контроля за IP адресами.
Пусть существует некоторый сайт N с IPv4 xxx.xxx.xxx.xxx, и его хост решил прекратить его поддержание данного сайта. Сайт заброшен, а IP продолжает числиться как занятый и таких случаев может быть очень много. То бишь необходимо провести «инвентаризацию» IP адресов и изъять неиспользуемые/заброшенные.
Второй способ — в массовом использовании системы IPv6.
Протокол IPv6 разработан как преемник протокола IPv4. Основные преимущества IPv6 над IPv4 заключаются в увеличенном адресном пространстве (IPv4 имел 32 бита, что равнялось 2 32 адресам, а IPv6 имел 128 бит, что равнялось 2 128 адресам), 6 версия протокола стала безопаснее (т.к. в v4 не предусматривались многие аспекты безопасности, ибо расчет был на сторонние ПО, а в v6 появились контрольные суммы и шифрование пакетов), однако это далеко не все преимущества IPv6 над IPv4.
Проблема, казалось бы, решена, однако перейти с протокола IPv4 на IPv6 вызывает трудности, потому что эти протоколы несовместимы. И изюминкой причины тяжелого перехода на 6 версию протокола является денежная стоимость. Многие кампании не готовы вложить достаточное кол-во средств для перехода, хоть и стоит отметить, что процесс перехода с 4 на 6 версию постепенно идет.
И третий способ — использование технологии трансляции сетевых адресов — NAT.
Cогласно документу RFC 1918, IANA зарезервировала 3 блока адресов для частных IP (серых) (рис 1), остальные же IP адреса носят название публичных адресов (белых).
Network Address Translation — это механизм в сетях TCP/IP, позволяющий изменять IP адрес в заголовке пакета, проходящего через устройство маршрутизации трафика.
Принимая пакет от локального компьютера, маршрутизатор смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет.
Маршрутизатор подменяет обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, маршрутизатор сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, маршрутизатор сотрет у себя в таблице запись об n-ом порте за сроком давности.
Основная функция NAT — сохранение публичных адресов, однако дополнительной функцией является конфиденциальность сети, путем скрытия внутренних IPv4 адресов от внешней.
Существует множество типов технологии NAT, однако основными принято считать: Статический NAT (Static Network Address Translation), Динамический NAT (Dynamic Network Address Translation) и Перегруженный NAT (Network Address Translation Overload).
Статический NAT применяют для отображения незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.
Статический NAT используется чаще всего в корпоративных сетях, когда необходимо, чтобы какой-либо IP адрес всегда был доступен из глобальной сети. Зачастую статическим IP наделяют сервера и помещают их в DМZ (рис 2).
Динамический NAT отображает незарегистрированный IP-адрес на зарегистрированный адрес из группы зарегистрированных IP-адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированными и зарегистрированными адресами, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле (pool — диапазон) адресов, во время коммуникации.
Перегруженный NAT. Этот тип NAT’a имеет множество названий:
NAT Overload, Many-to-One, PAT (Port Address Translation) и IP Masquerading, однако в большинстве источников указывается как NAT Overload. Перегруженный NAT — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта.
Подготовка компьютерной сети
Логическая схема топологии сети будет выглядеть как показано на изображении (рис 3)
Отнесем PC — станции во VLAN 2, а сервер во VLAN 3. Для этого нужно настроить коммутатор S0 (рис 4). Для того, чтобы определить PC пользователей в отдельный VLAN, необходимо создать VLAN 2 и в 3 запихнуть сам сервер (удобства ради еще и обзовем VLAN’ы именами) (показано синим на рис 4), определить область портов коммутатора, которые будут входить во VLAN 2,3 и прописать соответствующие команды (показано красным на рис 4). Следующая задача – определить один порт типа trunk, для взаимодействия с маршрутизатором (показано зеленым рис 4). Таким образом, коммутатор выступает в роли «посредника» между оконечными устройствами и маршрутизатором.
Теперь нужно настроить непосредственно маршрутизатор. Технология sub-interface позволяет объединять несколько виртуальных интерфейсов в один и подключить их к физическому интерфейсу (на маршрутизаторе выбран физический интерфейс fa0/0). Необходимо дать для каждого VLAN’а свой под-интерфейс (показано красным на рис 5) и выдать им IP адрес (показано зеленым на рис 5).
Таким образом, в будущем мы будем NAT’ить трафик.
Дальше я бы посоветовал бы настроить протокол динамической выдачи IP адреса — DHCP, ибо прописывать каждому PC свой адрес — то еще «удовольствие».
! Важно, чтобы сервер(а) всегда были со статичным IP адресом !
Дадим серверу статичный IP 192.168.3.2, а остальных оставим для динамического распределения адресов.
После настройки DHCP, нужно прописать на каждом саб-интерфейсе в R0 команду «ip helper-address 192.168.3.2», тем самым указывая, куда стоит обращаться для получения IP адреса.
После данной команды, устройства получат запрашиваемые IP адреса.
Пингуем с рандомного ПК сам сервер (1 пинг) и шлюзы маршрутизатора (2- 3 пинг) (рис 6).
Дальше для удобства будем эмулировать подключение к провайдеру, путем создания в программе-симуляторе РС провайдера, сервера Serv2 с IP 213.234.60.2 (эмулирующий остальную сеть интернет) и роутера R3.
Настройка NAT
Ну и наконец-то мы дошли до самой настройки NAT.
Для внедрения NAT нужно определиться какие порты будут внешними(outside), а какие внутренними(inside).
Статичный NAT сопоставляет внутренний и внешний адреса один к одному, поэтому настроим Serv2 таким образом, чтобы любой компьютер мог подключиться к серверу, а сервер к компьютеру — нет. Для этого необходимо прописать следующие команды (рис 7):
По итогу, любой компьютер, находящийся во 2 VLAN’е может пинговать сервер провайдера, а обратно — нет (рис 8). Аналогично проделываем для Serv1, находящимся во VLAN 3.
А теперь, на финал, внедрим NAT Overload на R0.
Для этого создадим ACL и пропишем там сети, которые должны «натиться» (показано синим на рис 9) и, показав что нужно «натить», активируем лист (показано красным на рис 9).
Таким образом, реализовав статическую и динамическую (типа PAT) настройку NAT, мы смогли защитить небольшую сеть от подключения извне.
Надеюсь вам понравилась данная статья.
Спасибо за ее чтение, всем хорошего настроения 🙂
P.S. Статью пишу впервые, не судите строго 🙂