Схема и параметры сети
Для начала примем некоторые общие соглашения, которые будут использованы в примерах.
В локальную сеть будет смотреть интерфейс Fa0/0, а в Интернет Fa0/1.
Локальная сеть 192.168.1.0/24.
Внутренний интерфейс Fa0/0 — 192.168.1.1/24.
Шлюз для локальны хостов — 192.168.1.1.
Внешний интерфейс Fa0/1 — 111.111.111.2/24.
Маршрут по умолчанию — 111.111.111.1.
Локальным хостам будем выдавать IP используя DHCP.
Соберем схему в Cisco Packet Tracer, представленную на рисунке 2.1.
Рисунок 1 — Схема для демонстрации.
Настроим интерфейсы, укажем маршрут по умолчанию и dhcp-пул для раздачи ip-адресов локальным хостам:
conf t.
interface FastEthernet0/0.
description Local Network.
ip address 192.168.1.1 255.255.255.0.
duplex auto.
speed auto.
interface FastEthernet0/1.
description Internet.
ip address 111.111.111.2 255.255.255.0.
duplex auto.
speed auto.
ip route 0.0.0.0 0.0.0.0 111.111.111.1.
ipdhcp pool LOCAL.
network 192.168.1.0 255.255.255.0.
default-router 192.168.1.1.
dns-server 192.168.1.1.
Настройка PAT
Первым делом рассмотрим самый распространенный вариант с одним белым ip и N-ным количеством хостов в локальной сети — PAT. Обычно именно он применяется в бытовых маршрутизаторах и называется там NAT. Его суть в том, что он подменяет ip-адреса внутренних хостов внешним и каждому уникальному соединению ставит уникальный порт в диапазоне 1024 — 65 535. При этом каждое активное соединение заносится в память и все пакеты, которые приходят в ответ на эти соединения «перекидываются» на соответствующий хост в локальной сети.
И так, чтобы все это заработало требуется выполнить следующие команды:
conf t.
access-list 1 permit 192.168.1.0 0.0.0.255.
ipnat inside source list 1 interface FastEthernet0/1 overload.
Первым делом мы создали access-list, который сам по себе ничего не делает, он всего лишь описывает нашу локальную сеть.
После этого создаем правило которое заставляет использовать созданный ранее access-list1 для описания тех ip-адресов, к которым будет применяться трансляция при прохождении трафика через интерфейс смотрящий в интернет.
Далее сообщаем интерфейсам их роли:
ipnatoutside — устанавливается на интерфейс, который смотрит в Интернет.
ipnatinside — устанавливается на интерфейс, который смотрит в локальную сеть.
conf t.
interface FastEthernet0/0.
ip nat inside.
interface FastEthernet0/1.
ip nat outside.
Именно после этих манипуляций они будут обрабатывать должным образом пакеты и осуществлять задуманное нами действие.
Теперь проверяем работоспособность.
Хост 192.168.1.6 с порта 1025 tcp запрашивает web страницу у хоста в Интернете, допустим 111.111.111.2 на порт 80 tcp.
Для проверки вводим команду на маршрутизаторе:
Show ip nat translations.
В ответ получаем следующую информацию представленную на рисунке 2.2, из чего следует, что маршрутизатор подменил ip-адресс 192.168.1.6 на свой адрес 111.111.111.2 но оставил порт 1025 не изменным, а дальше пошел на 111.111.111.2 порт 80 и получил страничку. Если бы порт 1025 уже использовался каким-либо соединением, то выбрался бы следующий свободный порт.
Рисунок 2-Настройки PAT.