IP-адреса являются дефицитным ресурсом. У провайдера может быть /16-адрес (бывший класс В), дающий возможность подключить 65 534 хоста. Если клиентов становится больше, начинают возникать проблемы. Хостам, подключающимся к Интернету время от времени по обычной телефонной линии, можно выделять IP-адреса динамически, только на время соединения. Тогда один /16-адрес будет обслуживать до 65 534 активных пользователей, и этого, возможно, будет достаточно для провайдера, у которого несколько сотен тысяч клиентов. Когда сессия связи завершается, IP-адрес присваивается новому соединению. Такая стратегия может решить проблемы провайдеров, имеющих не очень большое количество частных клиентов, соединяющихся по телефонной линии, однако не поможет провайдерам, большую часть клиентуры которых составляют организации.

Дело в том, что корпоративные клиенты предпочитают иметь постоянное соединение с Интернетом, по крайней мере в течение рабочего дня. И в маленьких конторах, например туристических агенствах, состоящих из трех сотрудников, и в больших корпорациях имеются локальные сети, состоящие из некоторого числа компьютеров. Некоторые компьютеры являются рабочими станциями сотрудников, некоторые служат веб-серверами. В общем случае имеется маршрутизатор ЛВС, соединенный с провайдером по выделенной линии для обеспечения постоянного подключения. Такое решение означает, что с каждым компьютером целый день связан один IP-адрес. Вообще-то даже все вместе взятые компьютеры, имеющиеся у корпоративных клиентов, не могут перекрыть имеющиеся у провайдера IP-адреса. Для адреса длины /16 этот предел равен, как мы уже отмечали, 65 534. Однако если у поставщика услуг Интернета число корпоративных клиентов исчисляется десятками тысяч, то этот предел будет достигнут очень быстро.

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

а) пользователи получают постоянный IP-адрес;

б) отсутствует повременная оплата (взимается только ежемесячная абонентская плата).

Пользователи такого рода услуг имеют постоянное подключение к Интернету. Развитие в данном направлении приводит к возрастанию дефицита IP-адресов. Присваивать IP-адреса «на лету», как это делается при телефонном подключении, бесполезно, потому что число активных адресов в каждый момент времени может быть во много раз больше, чем имеется у про­вайдера.

Часто ситуация еще больше усложняется за счет того, что многие пользователи ADSL и кабельного Интернета имеют дома два и более компьютера (например, по одному на каждого члена семьи) и хотят, чтобы все машины имели выход в Интернет. Что же делать - ведь есть только один IP-адрес, выданный провайдером! Решение таково: необходимо установить маршрутизатор и объединить все компьютеры в локальную сеть. С точки зрения провайдера, в этом случае семья будет выступать в качестве аналога маленькой фирмы с несколькими компьютерами. Добро пожаловать в корпорацию Пупкиных!

Проблема дефицита IP-адресов отнюдь не теоретическая и отнюдь не относится к отдаленному будущему. Она уже актуальна, и бороться с ней приходится здесь и сейчас. Долговременный проект предполагает тотальный перевод всего Интернета на протокол IPv6 со 128-битной адресацией. Этот переход действительно постепенно происходит, но процесс идет настолько медленно, что затягивается на годы. Видя это, многие поняли, что нужно срочно найти какое-нибудь решение хотя бы на ближайшее время. Такое решение было найдено в виде метода трансляции сетевого адреса, NAT (Network Address Translation) , описанного в RFC 3022. Суть его мы рассмотрим позже, а более подробную информа­цию можно найти в (Butcher, 2001).

Основная идея трансляции сетевого адреса состоит в присвоении каждой фирме одного IP-адреса (или, по крайней мере, небольшого числа адресов) для интернет-трафика. Внутри фирмы каждый компьютер получает уникальный IP-адрес, используемый для маршрутизации внутреннего трафика. Однако как только пакет покидает пределы здания фирмы и направляется к провайдеру, выполняется трансляция адреса. Для реализации этой схемы было создано три диапазона так называемых частных IP-адресов. Они могут использоваться внутри компании по ее усмотрению. Единственное ограничение заключается в том, что пакеты с такими адресами ни в коем случае не должны появляться в самом Интернете. Вот эти три зарезервированных диапазона:

10.0.0.0 - 10.255.255.255/8 (16 777 216 хостов)

172.16.0.0 - 172.31.255.255/12 (1 048 576 хостов)

192.168.0.0 -192.168.255.255/16 (65 536 хостов)

Работа метода трансляции сетевых адресов показана на нжеследующей схеме. В пределах территории компании у каждой машины имеется собственный уникальный адрес вида 10.x.y.z. Тем не менее, когда пакет выходит за пределы владений компании, он проходит через NAT-блок, транслирующий внутренний IP-адрес источника (10.0.0.1 на рисунке) в реальный IP-адрес, полученный компанией от провайдера (198.60.42.12 для нашего примера). NAT-блок обычно представляет собой единое устройство с брандмауэром , обеспечивающим безопасность путем строго отслеживания входящего и исходящего -трафика компании. NAT-блок может быть интегрирован с маршрутизатором компании.

Мы до сих пор обходили одну маленькую деталь: когда приходит ответ на запрос (например, от веб-сервера), он ведь адресуется 198.60.42.12. Как же NAT-блок узнает, каким внутренним адресом заменить общий адрес компании? Вот в этом и состоит главная проблема использования трансляции сетевых адресов. Если бы в заголовке IP-пакета было свободное поле, его можно было бы использовать для запоминания адреса того, кто посылал запрос. Но в заголовке остается неиспользованным всего один бит. В принципе, можно было бы создать такое поле для истинного адреса источника, но это потребовало бы изменения IP-кода на всех машинах по всему Интернету. Это не лучший выход, особенно если мы хотим найти быстрое решение проблемы нехватки IP-адресов.

На самом деле произошло вот что. Разработчики NAT подметили, что большая часть полезной нагрузки IP-пакетов - это либо TCP, либо UDP . Оба формата имеют заголовки, содержащие номера портов источника и приемника. Номера портов представляют собой 16-разрядные целые числа, показывающие, где начинается и где заканчивается TCP-соединение. Место хранения номеров портов используется в качестве поля, необходимого для работы NAT.

Когда процесс желает установить TCP-соединение с удаленным процессом, он связывается со свободным TCP-портом на собственном компьютере. Этот порт становится портом источника, который сообщает TCP-коду информацию о том, куда направлять пакеты данного соединения. Процесс также определяет порт назначения. Посредством порта назначения сообщается, кому отдать пакет на удаленной стороне. Порты с 0 по 1023 зарезервированы для хорошо известных сервисов. Например, 80-й порт используется веб-серверами, соответственно, на них могут ориентироваться удаленные клиенты. Каждое исходящее сообщение TCP содержит информацию о порте источника и порте назначения. Вместе они служат для идентификации процессов на обоих концах, использующих соединение.

Проведем аналогию, которая несколько прояснит принцип использования портов. Допустим, у компании есть один общий телефонный номер. Когда люди набирают его, они слышат голос оператора, который спрашивает, с кем именно они хотели бы соединиться, и подключают их к соответствующему добавочному телефонному номеру. Основной телефонный номер является аналогией IP-адреса компании, а добавочные на обоих концах аналогичны портам. Для адресации портов используется 16-битное поле, которое идентифицирует процесс, получающий входящий пакет.

С помощью поля Порт источника мы можем решить проблему отображения адресов. Когда исходящий пакет приходит в NAT-блок, адрес источника вида 192.168.c.d заменяется настоящим IP-адресом. Кроме того, поле Порт источника TCP заменяется индексом таблицы перевода NAT-блока, содержащей 65 536 записей. Каждая запись содержит исходный IP-адрес и номер исходного порта. Наконец, пересчитываются и вставляются в пакет контрольные суммы заголовков TCP и IP. Необходимо заменять поле Порт источника, потому что машины с местными адресами 10.0.0.1 и 10.0.0.2 могут случайно пожелать воспользоваться одним и тем же портом (5000-м, например). Так что для однозначной идентификации процесса отправителя одного поля Порт источника оказывается недостаточно.

Когда пакет прибывает на NAT-блок со стороны провайдера, извлекается значение поля Порт источника заголовка TCP. Оно используется в качестве индекса таблицы отображения NAT-блока. По найденной в этой таблице записи определяются внутренний IP-адрес и настоящий Порт источника TCP. Эти два значения вставляются в пакет. Затем заново подсчитываются контрольные суммы TCP и IP. Пакет передается на главный маршрутизатор компании для нормальной доставки с адресом вида 192.168.y.z.

В случае применения ADSL или кабельного Интернета трансляция сетевых адресов может применяться для облегчения борьбы с нехваткой адресов. Присваиваемые пользователям адреса имеют вид 10.x.y.z. Как только пакет покидает пределы владений провайдера и уходит в Интернет, он попадает в NAT-блок, который преобразует внутренний адрес в реальный IP-адрес провайдера. На обратном пути выполняется обратная операция. В этом смысле для всего остального Интернета провайдер со своими клиентами, использующими ADSL и кабельное:оединение, представляется в виде одной большой компании.

Хотя описанная выше схема частично решает проблему нехватки IP-адресов, многие приверженцы IP рассматривают NAT как некую заразу, распространяющуюся по Земле. И их можно понять.

Во-первых, сам принцип трансляции сетевых адресов никак не вписывается в архитектуру IP, которая подразумевает, что каждый IP-адрес уникальным образом идентифицирует только одну машину в мире. Вся программная структура Интернета построена на использовании этого факта. При трансляции сетевых адресов получается, что тысячи машин могут (и так происходит в действительности) иметь адрес 10.0.0.1.

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

В-третьих, NAT нарушает одно из фундаментальных правил построения многоуровневых протоколов: уровень k не должен строить никаких предположений относительно того, что именно уровень k + 1 поместил в поле полезной нагрузки. Этот принцип определяет независимость уровней друг от друга. Если когда-нибудь на смену TCP придет ТСР-2, у которого будет другой формат заголовка (например, 32-битная адресация портов), то трансляция сетевых адресов потерпит фиаско. Вся идея многоуровневых протоколов состоит в том, чтобы изменения в одном из уровней никак не могли повлиять на остальные уровни. NAT разрушает эту независимость.

В-четвертых, процессы в Интернете вовсе не обязаны использовать только TCP или UDP. Если пользователь машины А решит придумать новый протокол транспортного уровня для общения с пользователем машины В (это может быть сделано, например, для какого-нибудь мультимедийного приложения), то ему придется как-то бороться с тем, что NAT-блок не сможет корректно обработать поле Порт источника TCP.

В-пятых, некоторые приложения вставляют IP-адреса в текст сообщений. Получатель извлекает их оттуда и затем обрабатывает. Так как NAT не знает ничего про такой способ адресации, он не сможет корректно обработать пакеты, и любые попытки использования этих адресов удаленной стороной приведут к неудаче. Протокол передачи файлов, FTP (File Transfer Protocol), использует именно такой метод и может отказаться работать при трансляции сетевых адресов, если только не будут приняты специальные меры. Протокол интернет-телефонии Н.323 также обладает подобным свойством. Можно улучшить метод NAT и заставить его корректно работать с Н.323, но невозможно же дорабатывать его всякий раз, когда появляется новое приложение.

В-шестых, поскольку поле Порт источника является 16-разрядным, то на один IP-адрес может быть отображено примерно 65 536 местных адресов машин. На самом деле это число несколько меньше: первые 4096 портов зарезервированы для служебных нужд. В общем, если есть несколько IP-адресов, то каждый из них может поддерживать до 61 440 местных адресов.

Эти и другие проблемы, связанные с трансляцией сетевых адресов, обсуждаются в RFC 2993. Обычно противники использования NAT говорят, что решение проблемы нехватки IP-адресов путем создания временной заплатки только мешает процессу настоящей эволюции, заключающемуся в переходе на IPv6. Но если вернутся в реальность, то мы увидим, что в большинстве случаев NAT - это просто незаменимая вещь, особенно для малых офисов с числом компьютеров от нескольких штук до нескольких десятков. NAT можно реализовать собственными силами в OS Linux используя

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

Что такое NAT

NAT (Network Address Translation ) это механизм преобразование сетевых адресов, если по простому, то это технология которая позволяет за одним белым ip сидеть куче частных или серых ip. Примером моет быть офисный интернет, где все пользователи сидят через общий шлюз, на котором настроен ip адрес выходящий в интернет, что у пользователей настроены локальные ip адреса.

Выглядит это приблизительно вот так

Виды NAT

  • Статический NAT - преобразование серого ip в белый, пример проброс порта в локальную сеть, например RDP
  • Динамический NAT - преобразование серого ip в один из ip адресов группы белых ip адресов
  • Перегруженный NAT или как его называют еще PAT (port Adress translation), преобразование нескольких серых ip в белый, давая им разные порты.

Сегодня мы рассмотрим статических NAT и PAT.

Настройка NAT Cisco

Вот как выглядит схема маленького офиса. У нас есть 3 компьютера в vlan 2, есть сервер в отдельном vlan 3. Все это добро подключено в коммутатор второго уровня cisco 2660, который в свою очередь воткнут в роутер Cisco 1841, который маршрутизирует локальный трафик между vlan 2 и 3.

Настройка Cisco 2960

Создадим vlan 2 и vlan3, зададим им имена и настроим нужные порты на эти vlan.

enable
conf t
создаем vlan 2
vlan 2
name VLAN2
exit
создаем vlan 3
vlan 3
name VLAN3
exit
Помещаем порты в vlan2
int range fa0/1-3
switchport mode access
switchport access vlan 2
exit
Помещаем порт в vlan3
int fa 0/4
switchport mode access
switchport access vlan 3
exit

int fa 0/5
switchport mode trunk
switchport trunk allowed vlan 2,3
do wr mem

Настройка Cisco 1841

Первым делом создадим sub интерфейсы и поднимем порт.

enable
conf t
int fa0/0
no shutdown
exit

int fa0/0.2
encapsulation dot1Q 2
ip address 192.168.2.251 255.255.255.0
no shutdown
exit

int fa0/0.3
encapsulation dot1Q 3
ip address 192.168.3.251 255.255.255.0
no shutdown
exit

В итоге порт загорелся зеленым

Настройка PAT

В моей виртуальной инфраструктуре к сожалению нашу схему нельзя выпустить в интернет, мы его сэмулируем, у нас будет роутер с белым ip адресом и сервер тоже с белым ip адресом. Схематично это выглядит вот так. На роутере провайдера на определенном порту присвоен белый ip адрес 213.235.1.1 и маска сети 255.255.255.252

Настроим на нашем тестовом провайдерском роутере этот ip.

en
conf t
int fa0/0
ip address 213.235.1.1 255.255.255.252
no shutdown
exit

настроим порт fa0/1 который смотрим на сервер, и зададим ему другой белый ip 213.235.1.25 255.255.255.252

int fa0/1
ip address 213.235.1.25 255.255.255.252
no shutdown
exit

Сервер у меня будут иметь ip адрес 213.235.1.26 и шлюзом будет 213.235.1.25, интерфейс роутера провайдера смотрящего на сервер.

Теперь произведем настройку нашего локального роутера Router0, настроим на нем выделенный нам провайдером белый ip адрес 213.235.1.2 255.255.255.252, шлюзом будет 213.235.1.1

enable
conf t
int fa0/1
ip address 213.235.1.2 255.255.255.252
no shutdown
exit
ip route 0.0.0.0 0.0.0.0 213.235.1.1
exit
wr mem

Пробуем пропинговать с офисного роутера ip адреса провайдера и сервера, и видим что все отлично работает.

Router#ping 213.235.1.1

Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms

Router#ping 213.235.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 213.235.1.1, timeout is 2 seconds:

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms

Router#ping 213.235.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 213.235.1.2, timeout is 2 seconds:

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/9/17 ms

Router#ping 213.235.1.25

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 213.235.1.25, timeout is 2 seconds:

Router#ping 213.235.1.26

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 213.235.1.26, timeout is 2 seconds:

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms

Ну и само натирование. На локальном роутере выполняем следующее. Теперь нам нужно задать какой интерфейс nat будет считать внешним, а какой внутренним, тут все просто внешним будет то где настроен белый ip адрес провайдера, внутренним то что соединен с коммутатором второго уровня. fa0/1 будет внешним, а два sub интерфейса внутренними.

enable
conf t
int fa0/1
ip nat outside
exit
int fa0/0.2
ip nat inside
int fa0/0.3
ip nat inside
exit

Настройка Access List

Access List список, какой трафик нужно натировать, а какой должен работать без NAT.

Создаем список доступа по имени NAT

ip access-list standard NAT
Разрешаем два пула
permit 192.168.2.0 0.0.0.255
permit 192.168.3.0 0.0.0.255

0.0.0.255 это Wildcard bits

как видим, у нас в конфиге появился список доступа и помечены порты какие outside, а какие inside.

И вводим еще одну волшебную команду, где говорит что трафик пришедший на fa0/1 нужно натить по правилу NAT. В итоге мы настроили PAT.

ip nat inside source list NAT interface fa0/1 overload

Сохраняем все do wr mem

проверим с компьютера локальной сети доступность внешних ресурсов. Посмотрим текущие конфигурации командой ipconfig, видим ip адрес 192.168.2.1, пропингуем 213.235.1.26, как видите все ок и NAT cisco работает.

Стремительный рост сети Интернет, в скором времени после ее появления, принес проблема нехватки адресов. Сейчас это частично решается внедрением нового протокола IPv6, который обеспечит в разы больше доступных адресов для сетевых узлов. Но одним обновлением протокола не обойтись. Была придумана технология NAT, которая позволяла узлам из частной сети, подключаться к Интернет, используя всего один внешний ip адрес. Таким образом масштабирование частных локальных сетей стало намного проще, при попытке подключения их к Интернет . Сейчас мы подробно разберем технологию NAT.

Как работает NAT

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

Наши три компьютера будут объединены в локальную сеть с адресацией "192.168.. "

Вот так это будет выглядеть:

  • Маршрутизатор - 192.168.1.1
  • Компьютер 1 - 192.168.1.2
  • Компьютер 2 - 192.168.1.3
  • Компьютер 3 - 192.168.1.4

Если вы уже знакомы с основами локальных сетей, то должны знать, что в настройках сетевых карт, в поле "Шлюз по умолчанию", для наших компьютеров должно стоять значение 192.168.1.1. Таким образом, все запросы, которые не принадлежат нашей локальной сети, мы должны отправлять на наш маршрутизатор. Проще говоря, все запросы в Интернет, будут перенаправлены на него.

Как мы уже отметили, внешний ip у нас всего один. Вот здесь и начинается самое интересное. Как три компьютера с разными ip-адресами, смогут выходить в интернет, при наличии одного внешнего адреса?

Тут на помощь и придет технология NAT.

Как вы видите, внутри сети все узлы имеют адреса в одной подсети. Это позволяет им реализовать передачу данных. В том случае, если запрос будет направлен в интернет, он будет передан на внутренний интерфейс маршрутизатора. Затем используя технологию NAT, данные будут слегка изменены. Им будет назначен внешний IP адрес. И после этого пакеты уйдут в сеть.

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

На что здесь следует обратить внимание. Во первых, не обязательно должен быть всего один внешний адрес. Их может быть несколько.

Во вторых, использование технологии NAT накладывает некоторые ограничения, связанные с блокировкой по IP. Это проявляется при попытке доступа к ресурсу, на котором подключаться можно только одному хосту с одного ip. В том случае, если кто-то из вашей сети уже подключен к нему, вам не удастся установить соединение.

Терминология

Чтобы понимать принцип трансляции сетевых адресов, давайте разберемся с основными терминами.

Это первый тип реализации данной технологии.

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

Настройка на маршрутизаторах Cisco

  • Заходим в настройки интерфейса, который будет находиться во внутренней части сети, и применяем команду ip nat inside
  • Далее для внешнего интерфейса команда ip nat outside
  • Далее в режиме глобальной конфигурации нам нужно вручную задать соответствие для адресов. Используем команду ip nat inside source static inside-local inside-global . Где "inside-local " - внутренний локальный адрес, "inside-global " - внутренний глобальный

Динамическая NAT

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

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

Настройка

  • Задаем ip nat inside для внутренних интерфейсов
  • Ip nat outside для внешних
  • Создаем ACL со списком внутренних адресов, которые должны участвовать в трансляции
  • Создаем пул внешних адресов. В режиме глобального конфигурирования применяем команду ip nat pool name first-address last-address mask subnet mask . Где "name " - имя для пула, "first-address " начальный адрес, "last-address " - последний адрес, "subnet mask " - маска подсети
  • Включаем динамическую трансляцию адресов NAT. ip nat source list acl-number pool pool-name . Где "acl-number " - созданный ранее список контроля доступа, "pool-name " - пул адресов.

PAT - трансляция на основе портов

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

Здесь на помощь приходит третья реализация NAT - трансляция на основе портов PAT. Суть ее в том, что в дополнение к связке "адрес - адрес", добавляется связка "адрес - порт". Таким образом, маршрутизатор может активировать соединение не только с использованием IP-адреса, но и с использованием уникального номера порта.

С учетом того, что для нумерации портов используется 16-бит, то одновременно может быть активно более 65 тысяч соединений.

Настройка

Весь процесс настройки аналогичен конфигурированию динамической маршрутизации. В том случае, если мы хотим включить PAT, нам нужно добавить ключевое слово overload в команду настройки. В итоге она будет выглядеть вот так:

ip nat source list acl-number interface interface name/ number overload

Видео к статье :

Заключение

Использование технологии NAT позволяет реализовать доступ в Интернет, для любой локальной сети. При этот вам понадобится только один внешний IP-адрес. Это наиболее часто используемый вариант - зачастую провайдеры предлагают именно такие тарифы для домашних пользователей, или небольших офисов.

Зачем искать информацию на других сайтах, если все собрано у нас?

  • Пошаговая

Принцип работы роутера (маршрутизатора)

Читая эту статью, я думаю, все понимают, что такое роутер и зачем он нужен, но задумывался ли кто-то - как он работает? В данной статье я постараюсь максимально доступным языком рассказать основные принципы работы маршрутизатора. Данная статья будет полезна и системным администраторам и простым пользователям.

Основная функция, которая работает в любом роутере - NAT

NAT - Network Address Translation служит для замены IP адресов. В локальных сетях в основном используются адреса типа 192.168.1.XXX или подобные, и это порождает проблему маршрутизации в глобальной сети интернет, так как IP адреса в сети не должны дублироваться. Решением данной проблемы есть NAT - компьютеры локальной сети подключаются к локальному интерфейсу роутера, получают от него IP адреса и шлюз (шлюзом служит роутер), а WAN интерфейс роутера подключается к интернету.

Теперь рассмотрим принцип NAT трансляции:

  • С любого компьютера в локальной сети делается запрос, например, вы пытаетесь выйти на любой сайт - компьютер отправляет данный запрос на адрес шлюза, то есть нашего роутера;
  • Роутер, получив данный запрос, записывает ваш компьютер как инициатор соединения, после чего создаётся копия вашего пакета и отправляется по адресу назначения, но уже от лица роутера, и с его IP адресом, а ваш пакет просто уничтожается;
  • Сервер, которому был отправлен запрос, обрабатывает его и отправляет ответ, естественно на адрес роутера. А роутер этого уже ждал, так как создал запись о том, что на запрос вашего компьютера должен прийти ответ, и направляет его на ваш компьютер. Как видно, по данной схеме - инициатором соединения может быть только компьютер из локальной сети, а ответ от сервера попадёт на компьютер, только если роутер будет этого ждать (ответ на запрос). Другими словами, все попытки соединится из вне будут останавливаться на роутере, и будет удачны только если роутер предоставляет ресурс по запрошенному порту или у него настроены правила Port Forwarding, о которых мы сейчас поговорим.

Port Forwarding

Port Forwarding - это по сути то же самое что и NAT, но в другую сторону, а следовательно только статический NAT, то есть, определённые запросы только на определённые компьютеры, ведь в глобальной сети не могут знать IP адресов за роутером. Например, вы создали FTP или HTTP сервер на компьютере и хотите предоставить доступ к данным ресурсам, для этого нужно прописать данное правило в роутере, в котором будет указано, что все входящие пакеты на нужный порт (21 или 80 в нашем случае) будут переданы на IP адрес нашего компьютера на определённый порт (порт можно поменять).

NAT - DMZ

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

Маршрутизация

Для упрощения представления о том, что это такое, можно сказать, что это тоже самое, что и NAT, но только в обоих направлениях. При данной схеме у роутера должно быть более 2-х LAN интерфейсов (не портов, а интерфейсов), с разными адресными пространствами, например у одного интерфейса IP - 192.168.0.1, а у другого - 192.168.1.1. Следовательно, компьютеры одной сети будут получать IP типа 192.168.0.XXX, а в другой сети 192.168.0.XXX, а шлюзы у них будут соответственно 192.168.0.1 и 192.168.1.1. Вот таки образом получится двухсторонняя маршрутизация.

Не забываем оставлять

Что такое NAT

Ваш компьютер может быть подключен к интернету напрямую. Тогда говорят, что у него внешний IP адрес.

Обычно это значит, что компьютер подключен сразу к модему (DSL, кабельному или обычному аналоговому).

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

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

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

Находим IP адрес компьютера

Run">Откройте диалоговое окно для запуска программ: клик на кнопке Пуск, в меню выберите Выполнить .

В Windows 2000/XP набираем команду cmd /k ipconfig , нажимаем OK и смотрим на результат.

Windows 2000 IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.1.10 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1

Первый из этих адресов - это IP адрес вашего компьютера.

Нaходитесь ли вы за NAT

Три специальных диапазона IP адресов зарезервированы для локальных сетей и в интернете не используются:

10. 0. 0. 0 - 10. 255.255.255 172. 16. 0. 0 - 172. 31.255.255 192.168. 0. 0 - 192.168.255.255

Если IP адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn - от 16 до 31) , то это локальный (внутренний) адрес, и вы точно находитесь за NAT.

Если нет, то теперь проверьте, под каким IP адресом вас видят другие компьютеры в интернете. Например на whatsmyip.org ("Your IP Address is x.x.x.x" вверху страницы) или на myipaddress.com .

Если IP адрес вашего компьютера совпадает с показанным одним из этих сайтов, то вы точно подключены к интернету напрямую.

В остальных случаях наверняка сказать нельзя. Возможны такие варианты:

  • вы находитесь за NAT, но ваш сетевой администратор выбрал нестандартные внутренние адреса для вашей локальной сети. Найдите его и поинтересуйтесь, зачем так нужно было делать.
  • вы выходите в интернет через прокси сервер (тогда whatsmyip.org показал вам адрес этого прокси сервера). Во многих случаях вы можете определить, есть ли между вами и интернетом прокси сервер, пользуясь например lagado.com/proxy-test .

    Подключение через прокси в этом руководстве не рассматривается .

Варианты подключения через NAT

Если вы за NAT, то следующим шагом надо определить, где именно находится NAT-устройство.

NAT провайдера

    Тогда говорят, что
  • провайдер предоставляет вам интернет через NAT ,
  • или что провайдер не дает вам внешний IP адрес ,
  • или что вы подключены через локальную сеть провайдера

Проще всего позвонить провайдеру и узнать. Или поинтересоваться у знающих соседей с таким же подключением.

При подключении к интернету через локальную сеть провайдера сделать себе доступный порт нельзя. Если, конечно, провайдер специально для вас не перенаправит определенный порт, что малореально. Или если вы не заплатите дополнительно за услугу, которая обычно называется "внешний" ("белый") IP адрес.

NAT в офисе или многоквартирном доме

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

Кроме того, можно также попробовать UPnP, вдруг в раутере оставили его разрешенным.

NAT ваш собственный

В этом случае вы практически всегда можете его настроить и получить доступный порт.

Обычно это или подключение через домашний раутер или подключение через другой компьютер, например используя ICS (второй вариант тут не рассматривается).

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


Close