woonem
@woonem

Как работает NAT и правда ли что он такой непробивной?

Привет. Похоже, я не разбираюсь в сетях и маршрутизации. А хотелось бы узнать, по какой причине NAT не пропустит доступ извне. Ясно, что для доступа к определенной машине нужно к ней обращаться по её собственному белому IP, который ей не выдан провайдером. Но каким же образом тогда сервера возвращают ответ клиенту за NAT'ом? Ведь не по одному только IP адресу, а как-то достукиваются.
  • Вопрос задан
  • 796 просмотров
Пригласить эксперта
Ответы на вопрос 5
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Представьте себе компьютер в виде многоквартирного дома, где каждый сервис - квартира. У дома есть адрес (белый IP) и номера квартир (порты). Прислать письмо в такой дом очень просто, достаточно указать адрес и квартиру.
Теперь возьмём микрорайон, огородим его стеной с КПП, сделаем в нём внутренние (серые) адреса домов, неизвестные снаружи и оставим известным (белым) только адрес самого микрорайона. Очевидно, что адреса микрорайона и номера квартиры недостаточно для того, чтобы письмо попало по адресу. Есть вариант, когда все письма отправляются в один конкретный дом (DMZ), есть переадресация (port mapping), когда письмо, пришедшее в микрорайон с указанием определённой квартиры переадресуется с КПП в заранее определённый дом/квартиру.
Если же мы пишем письмо из микрорайона наружу, то на КПП (NAT) запоминают адрес/квартиру отправителя и получателя и все приходящие в микрорайон письма с адреса получателя переправляют отправителю исходного письма.
Ответ написан
Добавлю к ответу выше, что NAT - это просто таблица соответствия адресов и портов источника и назначения. Нат не обеспечивает никакой защиты - его можно "пробить" снаружи через любой открытый им порт, поэтому наличие настроенного фаерволла он не отменяет.
Ответ написан
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
По очень простой причине - он для этого писался :) В мире не так уж и много IP-адресов (v4, конечно же), а устройств, которым он нужен, гораздо больше. Поэтому во-первых:
- провайдер Вам выдаст максимум 1 белый IP (все остальное - за деньги)
- во внутренней сети у Вас будут адреса типа 192.168.1.1

Далее происходит что:
- устройство 192.168.1.1 отправляет пакет ... ну например на 77.88.55.66 (такой адрес есть, это Яндекс :) )
- роутер, который подключен к провайдеру, заменяет в пакете адрес источника на выданный провайдером белый IP и запоминает это
- пакет, в котором адрес источника - белый IP провайдера, доходит до яндекса, яндекс посылает ответ, пакет возвращается на роутер
- роутер, помня, что и где он менял, меняет в полученном пакете адрес назначения на 192.168.1.1 и отправляет пакет на устройство.

Получить доступ до 192.168.1.1 из внешней сети невозможно никак, потому что любой роутер такие пакеты просто обрезает, хотя иногда провайдеры нарушают RFC и устраивают "полосатый" интернет в своей локалке, когда 192.168.1.1 из одной сети может получить доступ скажем к 172.16.1.1 в другой сети
Ответ написан
Diman89
@Diman89
Клиент отправляет серверу запрос через роутер (nat же)
Роутер видит адрес источника и назначения, и подменяет адрес источника (который за nat, серый) на свой собственный (белый)
Сервер отправляет ответ на адрес роутера, т.к. запрос был от него. роутер опять подменяет адрес назначения со своего обратно на серый и шлет пк
Ответ написан
msHack
@msHack
Есть разные типы натов маскарадинг ,семантик нат, и итд семантик самый херойвый и непробивной
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы