1. Обзор NAT
Преобразование сетевых адресов (NAT) является важным вкладом в уменьшение нехватки адресов IPv4. После развертывания NAT на сетевых устройствах сетевые устройства могут преобразовывать IP-адреса и номера портов, передаваемые в пакетах.
Существует два типа IP-адресов: публичные и частные. Частный IP-адрес может использоваться только в локальной сети (LAN), но не может использоваться для доступа к общедоступной сети (Интернет). Это означает, что ПК в локальной сети должен быть назначен общедоступный IP-адрес при доступе к общедоступной сети. Однако ресурсы общедоступных IP-адресов ограничены, пространство частных адресов IPv4 необходимо развернуть в локальной сети, а пользователям интрасети должен быть разрешен доступ в Интернет.
Технология NAT преобразует адрес источника или получателя в IP-пакет. Когда пакет с IP-адресом частного источника достигает выхода из сети, устройство NAT преобразует частный IP-адрес в действительный общедоступный IP-адрес и пересылает пакет в общедоступную сеть. Когда поступает возвращенный пакет данных, устройство NAT преобразует IP-адрес назначения в предыдущий частный IP-адрес.
Таблица 1-1 Преимущества и недостатки NAT
Преимущество | Недостаток |
Это устраняет нехватку адресов общедоступных сетей. | Задержка пересылки существует. |
Это предотвращает проблему, связанную с конфликтом или перекрытием IP-адресов. | Адресация E2E становится затруднительной. |
Поддерживаются более высокая масштабируемость сети и более простое локальное управление. | Некоторые приложения не поддерживают NAT. |
Внутренняя сетевая структура и связанные с ней операции становятся невидимыми. | Записи, созданные NAT, потребляют ресурсы памяти устройства. |
Безопасность повышена. | Возникают проблемы с производительностью устройства. |
2. Типы NAT
NAT подразделяется на два типа:
· NAT на основе IP-адреса источника:
- Преобразование адресов без порта (no-PAT)
- Преобразование сетевых адресов и портов (NAPT)
· NAT на основе IP-адреса назначения:
- Функция внутреннего сервера NA T
- Назначение NAT
2.1 NAT Тип 1: Преобразование исходного IP-адреса - No-PAT
No-PAT называется однозначным преобразованием адресов. Во время преобразования адресов исходный IP-адрес пакета преобразуется из частного IP-адреса в общедоступный IP-адрес, но номер порта (номер порта TCP или UDP) не преобразуется. Устройство сопоставляет все порты с IP-адресами до и после преобразования IP-адреса. Преимущество этого приложения в том, что все порты, сопоставленные с адресами частной сети, не переводятся. Недостатком является то, что общедоступные сетевые адреса не могут быть назначены для сопоставления с другими частными сетевыми адресами. Частный IP-адрес использует исключительно общедоступный IP-адрес.
Например, пул адресов содержит только два общедоступных IP-адреса. Хост в частной сети использует один общедоступный IP-адрес для доступа к общедоступной сети. В этом случае только два хоста частной сети могут получить доступ к публичной сети одновременно. Однако устройство в другой частной сети может получить доступ к общедоступной сети только после того, как один хост не получит доступ к общедоступной сети и публичный IP-адрес будет освобожден.
Предыдущий рисунок используется в качестве примера. Предположим, что сетевой администратор запрашивает общедоступный IP-адрес (200.1.1.100) и развертывает на брандмауэре no-PAT. ПК с адресом 192.168.1.1 предназначен для доступа к 8.8.8.8 в общедоступной сети. IP - адреса источника и назначения пакетов данных показаны на следующем рисунке. После того, как пакет достигает брандмауэра, брандмауэр преобразует исходный IP-адрес 192.168.1.1 в 200.1.1.100 (номер порта не преобразуется) на основе записи сопоставления NAT и пересылает пакет в 8.8.8.8 через Интернет. Теперь хост на 8.8.8.8 должен ответить на пакет. IP-адрес назначения пакета - 200.1.1.100. Обратите внимание, что общедоступная сеть не знает о 192.168.1.1. После того, как пакет достигает брандмауэра, брандмауэр преобразует IP-адрес назначения в 192.168.1.1 и пересылает пакет на основе записи сопоставления NAT на 192.168.1.1. Это механизм однозначного сопоставления NAT. Согласно предыдущему описанию NAT no-PAT не устраняет нехватку IP-адресов. Если 10 компьютеров в интрасети пытаются получить доступ к общедоступной сети, должно быть доступно 10 общедоступных IP-адресов.
При фактическом развертывании используется no-PAT на основе пула IP-адресов. Один или несколько общедоступных IP-адресов помещаются в пул IP-адресов, и этот пул адресов используется для преобразования исходного адреса. Если NAT требуется для пакетов, отправляемых устройством интрасети, брандмауэр выбирает неработающий адрес из пула адресов, создает запись сопоставления NAT и преобразует частный IP-адрес источника пакета в общедоступный IP-адрес. Когда другому устройству требуется доступ в Интернет, брандмауэр выбирает другой доступный общедоступный IP-адрес из пула адресов. В этом режиме каждый частный IP-адрес сопоставляется с одним общедоступным IP-адресом.
2.2 NAT типа 2: NAPT
NAPT позволяет нескольким пользователям частной сети совместно использовать общедоступный IP-адрес, когда NAT преобразует IP-адреса и номера портов. NAPT также называют мультиплексированием адресов. NAPT позволяет сетевому устройству сопоставлять несколько частных IP-адресов с одним и тем же общедоступным IP-адресом и разными номерами портов, что реализует преобразование адресов «многие к одному» или «многие ко многим». Это решение значительно снижает нехватку IPv4-адресов. Вам нужно всего лишь приобрести один или несколько общедоступных IP-адресов, чтобы обеспечить одновременный доступ большого количества компьютеров к общедоступной сети.
Как показано на предыдущем рисунке, внутренние IP-адреса 192.168.1.1 и 192.168.1.2 совместно используют общедоступный IP-адрес 200.1.1.100 при доступе к внешней сети. Когда 192.168.1.1 использует порт источника TCP 1023 для отправки пакетов во внешнюю сеть через сеанс NAT, брандмауэр создает запись сопоставления NAT, которая сопоставляет 192.168.1.1:1023 с 200.1.1.100:39612, и использует эту запись для преобразования источника. IP-адрес и номер TCP-порта источника пакета. Затем конвертированный пакет отправляется. При получении ответного пакета межсетевой экран преобразует адрес назначения и номер порта на основе записи сопоставления NAT. Когда внутренний IP-адрес 192.168.1.2 использует порт источника TCP 1569 для доступа к внешней сети через другой сеанс NAT, брандмауэр сопоставляет частный IP-адрес с общедоступным IP-адресом 200.1.1.100 и номером порта 39613. Таким образом, два сеансы различаются по номерам портов.
2.3 NAT Тип 3: Внутренний сервер NAT
Функция внутреннего сервера NAT - это наиболее часто используемый метод трансляции адресов назначения. В интрасети развернут сервер, например веб-сервер, которому назначен частный IP-адрес. Если серверу необходимо предоставлять услуги для внешней сети, пользователи в Интернете не могут получить доступ к серверу, используя фактический частный IP-адрес сервера. В этом случае функцию внутреннего сервера NAT можно использовать для сопоставления частного IP-адреса интрасети с конкретным общедоступным IP-адресом, чтобы пользователи общедоступной сети могли получить доступ к серверу интрасети, получив доступ к общедоступному IP-адресу.
Функция внутреннего сервера NAT позволяет внутренним серверам получать доступ к внешним сетям. Когда пользователь во внешней сети обращается к внутреннему серверу, устройство NAT преобразует IP-адрес назначения в пакете запроса в частный IP-адрес внутреннего сервера. После получения пакета ответа от внутреннего сервера устройство NAT автоматически преобразует частный IP-адрес источника в пакете ответа в общедоступный IP-адрес.
Как показано на предыдущем рисунке, внутренний сервер 192.168.1.10 должен предоставлять внешний доступ. Функцию внутреннего сервера NAT можно развернуть на брандмауэре для сопоставления частного IP-адреса 192.168.1.10 и его TCP-порта 80 с общедоступным IP-адресом 200.1.1.100 и его TCP-портом 8080 соответственно . Таким образом, когда пользователь общедоступной сети обращается к 200.1.1.100:8080, он может получить доступ к веб-службе сервера интрасети.