Как, сидя за натом провайдера, запрашиваемая инфа из инета знает точную сеть клиента?
Я сижу за натом провайдера, мне интересно, как, если на целую кучу таких же как и я предоставлено фиксированное количество айпишников и они раздаются при обращении кого-либо к какому-либо ресурсу на просторах инета по очереди, тот, от кого я запрашиваю инфу, знает, к какому именно из кучи других клиентов принадлежит это обращение? Например баны по айпи, как сервер понимает, что конкретно компам из моей сети запрещено заходить на серв, ведь ему предоставляется один из других адресов, который может быть выдан абсолютно другому человеку?
какому именно из кучи других клиентов принадлежит это обращение
У роутера есть NAT таблица в ней соответствие SRC_IP:SRC_PORT -> DST_IP:DST_PORT так и узнаёт.
как сервер понимает, что конкретно компам из моей сети запрещено заходить на серв
В интернете IP адреса из локально сети не маршрутизируются. Если забанили по IP в который натяться адреса из локальной сети, то и вся локальная сеть окажется забаненой.
То есть если меня забанят по айпи при том что я за натом, то все соседи за тем же натом, которым роутер провайдера выдаст такой же, не смогут получить доступ к этому ресурсу?
Maga Izdaga, да, забанят NAT и всех пользователей за ним. Особенно жестоко это в случае с мобильными операторами, там на одном адресе могут десятки тысяч абонентов висеть.
Когда вы за натом провайдера, то внешний сервис может знать только адрес с которого вы реально выходите в интернет, т.е. внешний адрес NATа.
Внешний сервис может заблокировать этот адрес. Тогда все ваши соседи по NATу, автоматически окажутся заблокированы.
Другой момент: у провадйера пул белых адресов, с которых клиенты могут получать доступ в инет. В пуле может быть несколько подсетей, выданных провайдеру.
Информация о подсетях провайдера общедоступна в интернете. Ее можно получить через сервисы whois и т.п.
Так что получив один адрес, сервис может узнать всю подсеть провайдера и заблокировать ее всю.
Ладно, еще один вопрос: почему, раз я за натом, когда бы я не пытался узнать свой айпишник, мне показывает один и тот же? Типо по логике мне должны показываться и остальные айпишники из пула.
Maga Izdaga, нет не должны. это зависит от настроек оборудования у провайдера. Например - он может привязать 1 IP на весь дом, второй IP на второй дом, итд...
ну или как ростелеком - просто берется IP и какого то общего "пула"
Maga Izdaga, Нет. Пул для клиентов с белыми IP адресами, можно такой заказать у прова за отдельные деньги.
Раз вы выходите в инет через NAT провайдера, то пров вам выдает адрес из диапазона серых адресов (можете нагуглить эти диапазоны). С серым адресом нельзя выходить в интеренет, только через NAT.
С НАТом все несколько проще - NAT находится где-то у провайдера и внешний адрес у него один, через него то вы и выходите в инет.
Другое дело, что серверов с NATом у провайдера может быть много. Но, видимо, для вас (вашего дома, улицы, района) у провайдера выделен конкретный NAT с фиксированным адресом. Провайдер может как-то чередовать NAT сервера в зависимости от нагрузки или расположения звезд, так что адрес NATа так же может меняться. Похоже ваш оператор такое не практикует.
Ничего она никуда не передает. Сервер видит только ip-адрес роутера, который осуществляет NAT. Все остальное, что он знает, он узнает от браузера клиента, и тут не играет роли - есть нат или нет.
То есть у каждой локальной сети свой идентификатор или че? Ну вот представим, что какого-нибудь Вадима однажды забанили по айпи на серве. Все, что сервер знает обо мне - серый айпишник, который выдан натом, он записывает у себя в дб, что такой пользователь с таким айпишником не может войти. Потом, скажем, какой-нибудь чел с именем Мурад получает при обращении к этому же серву от того же провайдера такой же серый айпи, как сервер определил, что этот мурад другой чувак, ведь айпишники у них одинаковые.
Maga Izdaga, серый ip-адрес сервер в общем случае узнать не сможет. Такое может быть, если кто-то выходит в интернет не через NAT, а через proxy, тогда прокси может добавить инфу о внутреннем ip-адресе в http-запрос (заголовок X-Forwarded-For). NAT скрывает от сервера фактический ip-адрес клиента, независимо от того, реальный он или серый. Но теоретически сервер может идентифицировать посетителей не только по ip, но и по кукам, отпечатку браузера и т.д., так что бан по ip - это не единственный вариант.