Ip addressing: nat configuration guide
Содержание:
- Введение
- Summary
- NAT «один ко многим»
- Прохождение NAT и Проксирование Медиа Потоков
- Verify
- Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla
- NAT: общие определения
- Что такое тип NAT
- Mix NAT and PAT Global Statements
- Background Information
- UDP hole punching[править]
- Examples
- Преимущества и недостатки третьего варианта
- Introduction
- DNAT
- Настройка
- Приложения
Введение
Данный образец конфигурации работает для небольшого офиса, подключенного напрямую к Интернету. При этом предполагается, что система доменных имен (DNS), простой протокол передачи почты (SMTP) и веб-службы предоставлены удаленной системой, запущенной на сервере поставщика услуг Интернета (ISP). Внутри сети имеется только два интерфейса и отсутствуют службы. Это делает сеть простой по конфигурации межсетевого экрана. Нет ведения журнала, потому что нет доступного узла, предоставляющего службы ведения журнала.
Для получения информации о настройке маршрутизатора с тремя интерфейсами без поддержки NAT с использованием межсетевого экрана Cisco IOS Firewall см. Настройка межсетевого экрана Cisco IOS Firewall для маршрутизатора с тремя интерфейсами без поддержки NAT.
Для получения информации о настройке маршрутизатора с двумя интерфейсами без поддержки NAT с использованием межсетевого экрана Cisco IOS Firewall см. Настройка межсетевого экрана Cisco IOS Firewall для маршрутизатора с двумя интерфейсами без поддержки NAT.
Summary
When the packet travels from outside to inside, translation occurs
first, and then the routing table is checked for the destination. When the
packet travels from inside to outside, the routing table is checked for the
destination first, and then translation occurs. Refer to
NAT
Order of Operation for further information.
It is important to note which part of the IP packet gets translated
when using each of the commands this documen discusses. This table contains a
guideline:
Command | Action |
---|---|
|
|
|
These guidelines indicate that there is more than one way to translate
a packet. Based on your specific needs, you should determine how to define the
NAT interfaces (inside or outside) and what routes the routing table should
contain before or after translation. Keep in mind that the portion of the
packet that is translated depends upon the direction the packet travels, and
how you configure NAT.
NAT «один ко многим»
Отображение сетевых адресов
Большинство трансляторов сетевых адресов сопоставляют несколько частных хостов одному общедоступному IP-адресу. В типичной конфигурации локальная сеть использует одну из назначенных подсетей частных IP-адресов (RFC 1918). Маршрутизатор в этой сети имеет частный адрес этого адресного пространства. Маршрутизатор также подключен к Интернету с помощью общедоступного адреса, обычно назначаемого поставщиком Интернет-услуг . По мере прохождения трафика из локальной сети в Интернет адрес источника в каждом пакете «на лету» преобразуется с частного адреса в общедоступный. Маршрутизатор отслеживает основные данные о каждом активном соединении (в частности, адрес и порт назначения ). Когда ответ возвращается к маршрутизатору, он использует данные отслеживания соединения, которые он хранит во время исходящей фазы, чтобы определить частный адрес во внутренней сети, на который следует переслать ответ.
Все IP-пакеты имеют исходный IP-адрес и IP-адрес назначения. Обычно для пакетов, проходящих из частной сети в общедоступную, будет изменен адрес источника, в то время как для пакетов, проходящих из общедоступной сети обратно в частную сеть, будет изменен адрес назначения. Чтобы избежать двусмысленности в том, как переводятся ответы, требуются дальнейшие модификации пакетов. Подавляющая часть интернет-трафика использует протокол управления передачей (TCP) или протокол пользовательских дейтаграмм (UDP). Для этих протоколов номера портов изменены, так что комбинация IP-адреса (в ) и номера порта (в ) в возвращаемом пакете может быть однозначно сопоставлена с соответствующим адресатом частной сети. RFC 2663 использует термин сетевой адрес и преобразование порта (NAPT) для этого типа NAT. Другие имена включают преобразование адресов порта (PAT), маскировку IP , перегрузку NAT и NAT « многие к одному» . Это наиболее распространенный тип NAT, который стал синонимом широко используемого термина «NAT».
Этот метод обеспечивает связь через маршрутизатор только тогда, когда разговор происходит в частной сети, поскольку исходная передача — это то, что устанавливает требуемую информацию в таблицах трансляции. Веб — браузер в замаскараденных сетях можно, например, просматривать веб — сайт снаружи, но веб — браузер снаружи не может просматривать веб — сайта , размещенный в сети замаскараденной. Протоколы, не основанные на TCP и UDP, требуют других методов трансляции.
Одним из дополнительных преимуществ NAT «один ко многим» является то, что это практическое решение проблемы исчерпания адресов IPv4 . Даже большие сети могут быть подключены к Интернету с помощью одного общедоступного IP-адреса.
Прохождение NAT и Проксирование Медиа Потоков
«Базовая», модель коммуникаций подразумевает, что конечные устройства могут взаимодействовать напрямую, то есть, все «участники», как клиенты (телефоны, софтфоны, приложения PBX), так и сервера имеют «реальные» Интернет IP адреса. В такой ситуации Серверу необходимо только установить соединение. Медиа данные и (в случае SIP) управляющие сигналы в течение звонка циркулируют непосредственно между конечными устройствами:
В реальной жизни множество клиентов находится в удалённых локальных сетях («позади NAT») или в различных локальных сетях и не могут взаимодействовать напрямую. Для коммуникаций в реальном времени, основывающихся на публичных стандартах, CommuniGate Pro поддерживает автоматическое «Прохождение NAT».
Verify
Traffic that flows through the security appliance most likely undergoes NAT. Refer to in order to verify the translations that are in use on the security appliance.
The show xlate count command displays the current and maximum number of translations through the PIX. A translation is a mapping of an internal address to an external address and can be a one-to-one mapping, such as NAT, or a many-to-one mapping, such as PAT. This command is a subset of the command, which outputs each translation through the PIX. Command output shows translations «in use,» which refers to the number of active translations in the PIX when the command is issued; «most used» refers to the maximum translations that have ever been seen on the PIX since it was powered on.
Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.
Выход в интернет организован с этого ip адреса через NAT.
Задача: подключить резервного провайдера — ISP2. Он выделит нам адрес 212.192.90.150.
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик — через ISP2.
В случае отказа одного из провайдеров — пускать весь трафик по живому каналу.
В чем сложность задачи?
clear ip nat translations?
Конфиг
1 clear ip nat translations *
Найден, оттестирован такой кусок EEM.
Не на всех версиях IOS генерируется событие.. Надо уточнить.
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго
NAT: общие определения
NAT (network address translation) или трансляция сетевых адресов — это процесс перевода внутренних или локальных адресов во внешние. NAT используется абсолютно всеми маршрутизаторами независимо от их конфигурации, назначения и стоимости. По умолчанию роутер запрещает напрямую обращаться к любому устройству, находящимися внутри сети. Он блокирует доступ на любые порты для входящих соединений поступающие из интернета.
Но NAT и Firewall это суть разные понятия. Firewall просто запрещает доступ к ресурсу по определенному TCP или UDP порту, может устанавливаться на локальной машине для ограничения доступа только к ней или же на сервере для фильтрации трафика по всей локальной сети. Перед NAT задача стоит более развернуто. Сервис запрещает или разрешает доступ внутри сети по конкретному IP адресу или диапазону адресов. Таким образом клиент, который обращается к ресурсу не видит действительного IP адреса ресурса. NAT переводит внутренний IP в адрес, который будет виден из интернета.
Чтобы проверить находится ли компьютер за NAT или транслирует в интернет реальный адрес можно следующим образом:
- в Windows нужно нажать «Пуск — Выполнить — cmd» и прописать ipconfig и нажать «Ввод»;
- в Linux и MacOS в терминале выполняется ifconfig.
Вывод команды показывает следующие данные:
- IP — реальный, действительный адрес компьютера;
- Subnet mask — маска подсети;
- Gateway — адрес шлюза маршрутизатора.
Как теперь разобрать является ли адрес локальным или же напрямую «смотрит» в интернет. Согласно спецификации, существует четыре диапазона адресов, которые ни при каких обстоятельствах не используются в интернете, а являются исключительно локальными:
- 0.0.0 — 10.255.255.255
- Х.0.0 — 172.Х.255.255, где Х в диапазоне от 16 до 31.
- 168.0.0 — 192.168.255.255
- 254.0.0 — 169.254.255.255
В том случае, когда адрес машины попадает в один из этих диапазонов, следует считать, что компьютер находится в локальной сети или «за» NAT. Можно также дополнительно использовать специальные службы, которых есть множество в интернете для определения реального IP адреса. Теперь стало понятнее находится ли компьютер за NAT в роутере что это за сервис, и за то он отвечает.
Что такое тип NAT
NAT относится к трансляции сетевых адресов. Если ваше сетевое соединение прерывается во время игры на Xbox One, первым делом вам следует проверить тип NAT. Это связано с тем, что NAT критически важен для вашего маршрутизатора для подключения ваших устройств к Интернету, особенно адресов IPv4.
NAT можно использовать для записи журнала каждого запроса, сделанного маршрутизатором вашего устройства. Только запрос достигает сети и отвечает на ваш маршрутизатор, NAT может гарантировать, что запрос отправлен обратно на правильное устройство.
Что еще более важно, NAT может помочь вам легко подключиться к другим игрокам, а также потенциально ограничить круг лиц, с которыми вы можете играть в игры. Итак, проблемы возникают
Сколько типов NAT? Какой тип должен быть вашим лучшим выбором? Продолжаем читать.
Mix NAT and PAT Global Statements
Network Diagram
Note: The IP addressing schemes used in this configuration are not legally routable on the Internet. They are RFC 1918 addresses that have been used in a lab environment.
In this example, the ISP provides the network manager with a range of addresses from 172.16.199.1 through 172.16.199.63 for the use of the company. The network manager decides to use 172.16.199.1 for the inside interface on the Internet router and 172.16.199.2 for the outside interface on the PIX/ASA. You are left with 172.16.199.3 through 172.16.199.62 to use for the NAT pool. However, the network manager knows that, at any one time, there can be more than sixty people who attempt to go out of the PIX/ASA. Therefore, the network manager decides to take 172.16.199.62 and make it a PAT address so that multiple users can share one address at the same time.
These commands instruct the PIX/ASA to translate the source address to 172.16.199.3 through 172.16.199.61 for the first fifty-nine internal users to pass across the PIX/ASA. After these addresses are exhausted, the PIX then translates all subsequent source addresses to 172.16.199.62 until one of the addresses in the NAT pool becomes free.
Note: A wildcard addressing scheme is used in the NAT statement. This statement tells the PIX/ASA to translate any internal source address when it goes out to the Internet. The address in this command can be more specific if you desire.
Background Information
Network Address Translation is a commonly used technique to translate IP addresses on packets that flow between networks using different address spaces. The purpose of this document is not to review NAT. Rather, this document aims to provide a comprehensive review of NAT as it is used in Cisco’s VoIP networks. Furthermore, the scope is limited to components that make up the MS-Voice technology.
- NAT basically replaces the IP address within packets with a different IP address
- Enables multiple hosts in a private subnet to share (i.e. appear like) a single public IP address, to access the Internet.
- Typically, NAT configurations change only the IP address of inside hosts
- NAT is bidirectional- If A gets translated to B on the inside interface, B arriving at outside interface will get translated to A!
- RFC1631
Figure 1
Note: It may help to think of NAT as an aid to route IP packets into and out of networks using private address space. In other words, NAT makes non-routable addresses routable
Figure 2 Shows the topology referenced in the illustrations that follow.
Figure 2
This glossary is fundamental to understand and describe NAT
- Inside local address—The IP address assigned to a host on the inside network. Typically, the address is from a private address space.
- Inside global address—A routable IP address assigned by the NIC or service provider that represents one or more inside local IP addresses to the outside world.
- Outside local address—The IP address of an outside host as it appears to the inside network. Not necessarily a legitimate address, it is allocated from an address space routable on the inside.
- Outside global address—The IP address assigned to a host on the outside network by the host owner. The address is allocated from a globally routable address or network space.
Note: Get comfortable with these terms. Any note or doc on NAT is sure to refer to them
UDP hole punching[править]
Алгоритм установления UDP сессии между 2 хостами находящимися за NATправить
Hole punching предполагает, что два клиента, и , уже имеют UDP сессию с сервером . Когда клиент начинает сессию с , сервер сохраняет две пары значений для этого клиента: пару IP адрес и UDP порт, которые клиент указывает при отправке пакета в поле отправителя, чтобы говорить с , и пару IP адрес и UDP порт отправителя, которые сервер наблюдает при получении пакета. Первую пару будем называть приватным адресом, а вторую публичным. Приватный адрес сервер может получить от самого клиента в теле сообщения в поле регистрации клиента, а публичный адрес клиента он может посмотреть в поле отправителя в заголовках IP и UDP этого сообщения. Если клиент не за NAT, то его приватный и публичный адрес должны совпадать.
Предположим , что клиент хочет установить UDP сессию непосредственно с клиентом . Hole punching происходит следующим образом :
- изначально не знает , как связаться с , поэтому просит помощи у в создании UDP сессии с .
- отвечает сообщением , содержащим приватный и публичный адрес . В то же время, отправляет сообщение с запросом на соединение, содержащее приватный и публичный адрес . После того, как эти сообщения будут получены, и знают приватные и публичный адреса друг друга.
- Когда получает приватный и публиный адреса от , начинает посылать UDP пакеты по обоим адресам, и фиксирует как правильный тот адрес, с которого первым пришел ответ от . Аналогичным образом, когда получает приватный и публичный адрес , он начинает посылать UDP пакеты по обоим адресам. Порядок и время доставки этих сообщений не имеет решающего значения, так как они являются асинхронными.
Если и находятся за одним и тем же NAT-ом, то они соединятся через приватные адреса, иначе через публичные. На картинке показан пример, когда и находятся за разными NAT-ами.
Examples
These sections examine these terms more closely and use this topology and examples.
Define Inside Local and Inside Global Addresses
In this configuration, when the NAT router receives a packet on its inside interface with a source address of 10.10.10.1, the source address is translated to 171.16.68.5. This also means that when the NAT router receives a packet on its outside interface with a destination address of 171.16.68.5, the destination address is translated to 10.10.10.1.
You can issue the command in order to verify the NAT translations in the router. In the ideal condition, the output of the command is as shown here:
When the packet moves from the inside network to the outside network, the output of the command is as shown here:
Note: In this output of the NAT translations, the protocol entry shows ICMP because Ping is used to validate the entries. The Outside Local and Outside Global entries will have the same IP address of the Outside host, which is 171.16.68.1.
The local addresses are addresses that appear on the inside cloud. Global addresses are addresses that appear on the outside cloud. Because of the way NAT is configured, the inside addresses are the only addresses that are translated. Therefore, the inside local address is different from the inside global address.
This is what the packets look like when they are on the inside network and on the outside network.
Define Outside Local and Outside Global Addresses
In this configuration, when the NAT router receives a packet on its outside interface with a source address of 171.16.68.1, the source address is translated to 10.10.10.5. This also means that if the NAT router receives a packet on its inside interface with a destination address of 10.10.10.5, the destination address is translated to 171.16.68.1.
In the ideal condition, the output of the command is as shown here:
When the packet moves from the outside network to the inside network, the output of the command is as shown here:
Note: The Inside Global and Inside Local entries will have the same IP address of the Inside host, which is 10.10.10.1.
The local addresses are addresses that appear on the inside cloud. Global addresses are addresses that appear on the outside cloud. In this example, because of the way NAT is configured, only the outside addresses get translated. Therefore, the outside local address is different from the outside global address.
This is what the packets look like when they are on the inside network and on the outside network.
Define All Local and Global Addresses
In the this configuration, when the NAT router receives a packet on its inside interface with a source address of 10.10.10.1, the source address is translated to 171.16.68.5. The interface corresponding to IP address 10.10.10.1 is the Inside Local Address, whereas the interface corresponding to IP address 171.16.68.5 is the Inside Global Address. When the NAT router receives a packet on its outside interface with a source address of 171.16.68.1, the source address is translated to 10.10.10.5.
This also means that when the NAT router receives a packet on its outside interface with a destination address of 171.16.68.5, the destination address is translated to 10.10.10.1. Also, when the NAT router receives a packet on its inside interface with a destination address of 10.10.10.5, the destination address is translated to 171.16.68.1.
In the ideal condition, the output of the command is as shown here:
The local addresses are addresses that appear on the inside cloud, and the global addresses are addresses that appear on the outside cloud. Because of how NAT is configured in this case, both the inside addresses and the outside addresses are translated. Therefore, the inside local addresses are different from the inside global addresses and the outside local addresses are different from the outside global addresses.
When the packet transfer is initiated from both the sides, the output of the command is as shown here:
This is what the packets look like when they are on the inside network and on the outside network.
In summary, the terms local and global are actually very straight forward when you think of them in terms of where they appear in the network. Local addresses appear on the inside portion of the network while global addresses appear on the outside portion of the network.
Преимущества и недостатки третьего варианта
Теоретически, вы можете назначить одному IP адресу до 131072 (2 * 2^16) приложений. Почему я говорю «приложений», а не компьютеров/серверов?
Потому что один комп или сервер, как вы уже заметили выше, может использовать несколько различных приложений (при этом одно приложение может использовать несколько портов), при этом каждый порт может быть двух типов: TCP и UDP.
Углубляться в это в рамках этой статьи я не буду, в этом нет необходимости.
- Преимущество такого метода в том, что вы открываете доступ из интернета именно для определенной программы на определенном компьютере/сервере, все остальные порты компьютера/сервера остаются закрытыми;
- Недостаток в том, что требуется все порты открывать вручную (иногда программы делают это за вас при помощи технологии UPnP, но такое бывает не всегда).
Introduction
This document provides a sample configuration with the ip nat outside source list command, and includes a brief description of what happens to the IP packet during the NAT process. You can use this command to translate the source address of the IP packets that travel from outside of the network to inside the network. This action translates the destination address of the IP packets that travel in the opposite direction—from inside to outside of the network. This command is useful in situations such as overlapping networks, where the inside network addresses overlap addresses that are outside the network. Let us consider the as an example.
DNAT
Трансляция сетевых адресов назначения (DNAT) — это метод прозрачного изменения IP-адреса назначения пакета конечного маршрута и выполнения обратной функции для любых ответов. Любой маршрутизатор, расположенный между двумя конечными точками, может выполнить это преобразование пакета.
DNAT обычно используется для публикации службы, расположенной в частной сети, на общедоступном IP-адресе. Такое использование DNAT также называется переадресацией портов или DMZ при использовании на всем сервере , который становится доступным для WAN, становясь аналогом незащищенной военной демилитаризованной зоны (DMZ).
Настройка
В данном разделе приводятся сведения о настройке функций, описанных в данном документе.
Примечание. См. дополнительные сведения о командах, используемых в данном документе, в Средстве поиска команды (только для зарегистрированных клиентов).
В этом документе использованы параметры данной сети.
Конфигурация
В данном документе используется следующая конфигурация.
Маршрутизатор 3640 |
---|
version 12.2 service timestamps debug datetime msec localtime show-timezone service timestamps log datetime msec localtime show-timezone no service password-encryption ! hostname pig ! boot system flash flash:c3640-jk9o3s-mz.122-21a.bin logging buffered 4096 debugging enable secret 5 $1$chHU$wiC58FP/IDloZuorCkzEz1 enable password ww ! clock timezone CET 1 clock summer-time CET recurring ip subnet-zero ! ! no ip domain-lookup ! ip inspect name ethernetin cuseeme timeout 3600 ip inspect name ethernetin ftp timeout 3600 ip inspect name ethernetin h323 timeout 3600 ip inspect name ethernetin http timeout 3600 ip inspect name ethernetin rcmd timeout 3600 ip inspect name ethernetin realaudio timeout 3600 ip inspect name ethernetin smtp timeout 3600 ip inspect name ethernetin sqlnet timeout 3600 ip inspect name ethernetin streamworks timeout 3600 ip inspect name ethernetin tcp timeout 3600 ip inspect name ethernetin tftp timeout 30 ip inspect name ethernetin udp timeout 15 ip inspect name ethernetin vdolive timeout 3600 ip audit notify log ip audit po max-events 100 ! call rsvp-sync ! ! ! ! ! ! ! interface Ethernet0/0 ip address 10.20.20.20 255.255.255.0 ip access-group 101 in ip nat inside ip inspect ethernetin in half-duplex ! interface Ethernet0/1 no ip address shutdown half-duplex ! interface Serial1/0 no ip address shutdown ! interface Serial1/1 no ip address shutdown ! interface Serial1/2 no ip address shutdown ! interface Serial1/3 ip address 172.16.150.1 255.255.255.0 ip access-group 112 in ip nat outside ! ip nat pool mypool 172.16.150.3 172.16.150.255 netmask 255.255.255.0 ip nat inside source list 1 pool mypool ip classless ip route 0.0.0.0 0.0.0.0 172.16.150.2 ip http server ! access-list 1 permit 10.0.0.0 0.255.255.255 access-list 101 permit tcp 10.0.0.0 0.255.255.255 any access-list 101 permit udp 10.0.0.0 0.255.255.255 any access-list 101 permit icmp 10.0.0.0 0.255.255.255 any access-list 101 deny ip any any log access-list 112 permit icmp any 172.16.150.0 0.0.0.255 unreachable access-list 112 permit icmp any 150.150.150.0 0.0.0.255 echo-reply access-list 112 permit icmp any 172.16.150.0 0.0.0.255 packet-too-big access-list 112 permit icmp any 172.16.150.0 0.0.0.255 time-exceeded access-list 112 permit icmp any 172.16.150.0 0.0.0.255 traceroute access-list 112 permit icmp any 172.16.150.0 0.0.0.255 administratively-prohibited access-list 112 permit icmp any 172.16.150.0 0.0.0.255 echo access-list 112 deny ip any any log ! ! dial-peer cor custom ! ! ! ! ! line con 0 exec-timeout 0 0 line 97 102 line aux 0 line vty 0 4 exec-timeout 0 0 password ww login ! end |
Приложения
- Маршрутизация
- Преобразование сетевых адресов может использоваться для уменьшения перекрытия IP-адресов. Перекрытие адресов происходит, когда узлы в разных сетях с одним и тем же пространством IP-адресов пытаются связаться с одним и тем же узлом назначения. Чаще всего это неправильная конфигурация и может быть результатом слияния двух сетей или подсетей, особенно при использовании адресации частной сети RFC 1918 . На хост-адресат поступает трафик, очевидно, из той же сети, а промежуточные маршрутизаторы не имеют возможности определить, куда следует отправлять ответный трафик. Решение состоит в изменении нумерации для устранения перекрытия или в трансляции сетевых адресов.
- Балансировка нагрузки
- В клиент-серверных приложениях балансировщики нагрузки перенаправляют клиентские запросы на набор серверных компьютеров для управления рабочей нагрузкой каждого сервера. Преобразование сетевых адресов может использоваться для сопоставления репрезентативного IP-адреса кластера серверов с конкретными хостами, которые обслуживают запрос.