Протокол IP : Технология NAT

Преобразование сетевых адресов: порядок работы

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (23 марта 2008) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ иллюстрирует, что заказ, в котором транзакции обработаны с помощью Технологии NAT, основывается, идет ли пакет от внутренней сети до внешней сети, или от внешней сети до внутренней сети.

Предварительные условия

Требования

Читатели данной документации должны ознакомиться с этой темой:

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Примечание: Сведения в этом документе основываются на Версии программного обеспечения, Cisco Выпуск ПО IOS� 12.2 (27)

Условные обозначения

Более подробную информацию о применяемых в документе обозначениях см. в описании условных обозначений, используемых в технической документации Cisco.

Обзор NAT

В этой таблице, когда NAT выполняет глобальный к локальной переменной, или локальный для глобального, трансляция является другой в каждом потоке.

Изнутри наружу Снаружи внутрь
  • Если IPSec, то проверьте список доступа ввода
  • расшифровка - для CET (технологии шифрования Cisco) или IPSec
  • проверка списка для входящего доступа
  • check input rate limits
  • учет входных данных
  • перенаправить к веб-кэшу
  • маршрутизация на основе политик
  • маршрутизация
  • NAT внутри к внешней стороне (локальный для глобального преобразования)
  • крипто (проверка схемы и метки на наличие шифрования)
  • проверить выходной список доступа
  • осмотрите (Управление доступом основанный на контексте (CBAC) (CBAC))
  • Перехват TCP
  • шифрование
  • Организация очереди
  • Если IPSec, то проверьте список доступа ввода
  • расшифровка - для CET или IPSec
  • проверка списка для входящего доступа
  • check input rate limits
  • учет входных данных
  • перенаправить к веб-кэшу
  • NAT снаружи к внутренней части (глобальный к преобразованию к локальному)
  • маршрутизация на основе политик
  • маршрутизация
  • крипто (проверка схемы и метки на наличие шифрования)
  • проверить выходной список доступа
  • осмотрите CBAC
  • Перехват TCP
  • шифрование
  • Организация очереди

Конфигурация и выходные данные NAT

Данный пример демонстрирует, как заказ операций может произвести NAT. В таком случае показана только трансляция сетевых номеров или маршрут.

5a-1.gif

В предыдущем примере Маршрутизатор A настроен для перевода внутреннего локального адреса 171.68.200.48 в 172.16.47.150, как показано в этой конфигурации.

!
version 11.2
no service udp-small-servers
no service tcp-small-servers
!
hostname Router-A
!
enable password ww
!
ip nat inside source static 171.68.200.48 172.16.47.150

!--- This command creates a static NAT translation   
!--- between 171.68.200.48 and 172.16.47.150 

ip domain-name cisco.com
ip name-server 171.69.2.132
!
interface Ethernet0
 no ip address
 shutdown
!
interface Serial0
 ip address 172.16.47.161 255.255.255.240
 ip nat inside

!--- Configures Serial0 as the NAT inside interface

 no ip mroute-cache
 no ip route-cache
 no fair-queue
!
interface Serial1
 ip address 172.16.47.146 255.255.255.240
 ip nat outside

!--- Configures Serial1 as the NAT outside interface

 no ip mroute-cache
 no ip route-cache
!
no ip classless
ip route 0.0.0.0 0.0.0.0 172.16.47.145

!--- Configures a default route to 172.16.47.145


ip route 171.68.200.0 255.255.255.0 172.16.47.162
!
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 password ww
 login
!
end

Таблица преобразований показывает, что предполагаемое преобразование существует.

Router-A#show ip nat translation
Pro Inside global      Inside local       Outside local      Outside global
--- 172.16.47.150      171.68.200.48      ---                ---

Эти выходные данные взяты от Маршрутизатора A с подробностью debug ip packet , и debug ip nat включил, и эхо-запрос, выполненный от устройства 171.68.200.48 предназначенных для 172.16.47.142.

Примечание: Команды отладки генерируют значительный объем выходных данных. Используйте их только тогда, когда трафик в IP-сети низкий, чтобы не снизить быстродействие других процессов системы. Прежде чем применять команды отладки, ознакомьтесь с разделом "Важные сведения о командах отладки".

IP: s=171.68.200.48 (Serial0), d=172.16.47.142, len 100, unroutable
    ICMP type=8, code=0
IP: s=172.16.47.161 (local), d=171.68.200.48 (Serial0), len 56, sending
    ICMP type=3, code=1
IP: s=171.68.200.48 (Serial0), d=172.16.47.142, len 100, unroutable
    ICMP type=8, code=0
IP: s=171.68.200.48 (Serial0), d=172.16.47.142, len 100, unroutable
    ICMP type=8, code=0
IP: s=172.16.47.161 (local), d=171.68.200.48 (Serial0), len 56, sending
    ICMP type=3, code=1
IP: s=171.68.200.48 (Serial0), d=172.16.47.142, len 100, unroutable
    ICMP type=8, code=0
IP: s=171.68.200.48 (Serial0), d=172.16.47.142, len 100, unroutable
    ICMP type=8, code=0
IP: s=172.16.47.161 (local), d=171.68.200.48 (Serial0), len 56, sending
    ICMP type=3, code=1

С тех пор нет никаких сообщений отладки NAT в предыдущих выходных данных, вы знаете, что существующее статическое преобразование не используется и что маршрутизатор не имеет маршрута для адреса назначения (DA) (172.16.47.142) в его таблице маршрутизации. Результатом немаршрутизируемого пакета является недостижимое сообщение ICMP, отправленное внутри устройства. leavingcisco.com

Но, Маршрутизатор A имеет маршрут по умолчанию 172.16.47.145, итак, почему маршрут считают немаршрутизуемым?

В маршрутизаторе A настроена команда no ip classless, что означает, что если пакет направлен для адреса "крупной" сети (в данном случае 172.16.0.0), для которой в таблице маршрутизации существуют подсети, то маршрутизатор не полагается на маршрут по умолчанию., Другими словами, при запуске команды no ip classless это выключает возможность маршрутизатора искать маршрут с самым длинным разрядным соответствием. Для изменения этого поведения необходимо настроить ip classless на Маршрутизаторе A. Команда ip classless включена по умолчанию на маршрутизаторах Cisco с программным обеспечением Cisco IOS версии 11.3 и позже.

Router-A#configure terminal
Enter configuration commands, one per line.  End with CTRL/Z.
Router-A(config)#ip classless
Router-A(config)#end

Router-A#show ip nat translation
%SYS-5-CONFIG_I: Configured from console by console nat tr
Pro Inside global      Inside local       Outside local      Outside global
--- 172.16.47.150      171.68.200.48      ---                ---

При повторении того же эхо - теста (ping test), как ранее сделано вы видите, что пакет преобразован, и эхо-запрос успешен.


Ping Response on device 171.68.200.48

D:\>ping 172.16.47.142
Pinging 172.16.47.142 with 32 bytes of data:

Reply from 172.16.47.142: bytes=32 time=10ms TTL=255
Reply from 172.16.47.142: bytes=32 time<10ms TTL=255
Reply from 172.16.47.142: bytes=32 time<10ms TTL=255
Reply from 172.16.47.142: bytes=32 time<10ms TTL=255

Ping statistics for 172.16.47.142:
    Packets: Sent = 4, Received = 4, Lost = 0 (0%)
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum =  10ms, Average =  2ms

Debug messages on Router A indicating that the packets generated by device 
171.68.200.48 are getting translated by NAT. 

Router-A#
*Mar 28 03:34:28: IP: tableid=0, s=171.68.200.48 (Serial0), d=172.16.47.142 
(Serial1), routed via RIB
*Mar 28 03:34:28: NAT: s=171.68.200.48->172.16.47.150, d=172.16.47.142 [160]
*Mar 28 03:34:28: IP: s=172.16.47.150 (Serial0), d=172.16.47.142 (Serial1),
 g=172.16.47.145, len 100, forward
*Mar 28 03:34:28: ICMP type=8, code=0
*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->171.68.200.48 [160]
*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=171.68.200.48 
(Serial0), routed via RIB
*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=171.68.200.48 (Serial0), 
g=172.16.47.162, len 100, forward
*Mar 28 03:34:28: ICMP type=0, code=0
*Mar 28 03:34:28: NAT*: s=171.68.200.48->172.16.47.150, d=172.16.47.142 [161]
*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->171.68.200.48 [161]
*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=171.68.200.48 
(Serial0), routed via RIB
*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=171.68.200.48 (Serial0), 
g=172.16.47.162, len 100, forward
*Mar 28 03:34:28: ICMP type=0, code=0
*Mar 28 03:34:28: NAT*: s=171.68.200.48->172.16.47.150, d=172.16.47.142 [162]
*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->171.68.200.48 [162]
*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=171.68.200.48 
(Serial0), routed via RIB
*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=171.68.200.48 (Serial0), 
g=172.16.47.162, len 100, forward
*Mar 28 03:34:28: ICMP type=0, code=0
*Mar 28 03:34:28: NAT*: s=171.68.200.48->172.16.47.150, d=172.16.47.142 [163]
*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->171.68.200.48 [163]
*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=171.68.200.48 
(Serial0), routed via RIB
*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=171.68.200.48 (Serial0), 
g=172.16.47.162, len 100, forward
*Mar 28 03:34:28: ICMP type=0, code=0
*Mar 28 03:34:28: NAT*: s=171.68.200.48->172.16.47.150, d=172.16.47.142 [164]
*Mar 28 03:34:28: NAT*: s=172.16.47.142, d=172.16.47.150->171.68.200.48 [164]
*Mar 28 03:34:28: IP: tableid=0, s=172.16.47.142 (Serial1), d=171.68.200.48 
(Serial0), routed via RIB
*Mar 28 03:34:28: IP: s=172.16.47.142 (Serial1), d=171.68.200.48 (Serial0), 
g=172.16.47.162, len 100, forward
*Mar 28 03:34:28: ICMP type=0, code=0

Router-A#undebug all
All possible debugging has been turned off

Предыдущий пример показывает, что, когда пакет пересекает внутри к внешней стороне, маршрутизатор NAT проверяет свою таблицу маршрутизации для маршрута к внешнему адресу, прежде чем это продолжит преобразовывать пакет. Поэтому важно, чтобы маршрутизатор NAT имел допустимый маршрут для внешней сети. Маршрут к сети назначения должен быть известен через интерфейс, определенный в конфигурации маршрутизатора как NAT наружу.

Важно отметить, что возвращаемые пакеты транслируются до их маршрутизации. Поэтому маршрутизатор NAT должен также иметь в своей таблице маршрутизации действительный маршрут для внутреннего локального адреса.

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 6209