Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 383
Благодарности: 106

Профиль | Отправить PM | Цитировать


Цитата:
Необходимо:
1. Чтобы запросы приходящие на внешний ip переадресовывались на внутренний ip и пользователь с другого компьютера видел адекватное тело ответа.
https://www.google.ru/search?q=NAT+как+работает
Но ведь внешний IP один, а внутренних - много. Пришел пакет на внешний IP (на определенный порт) - как маршрутизатор узнает, на какой внутренний IP и на какой порт его отсылать? Из таблицы трансляции узнает.. Если там есть соответствующая запись.. А если записи нет - он просто дропнет пакет. А как записи вносятся в NAT таблицу? Они там появляются, когда машина из внутренней сети пытается выйти в интернет. Маршрутизатор подменяет у пакета адрес и порт отправителя и пересылает пакет наружу, в интернет. И ждет ответ в течении какого-то таймаута.. Он знает, что пакет с ответом придет на тот же порт и знает, какой IP отправителя будет у пакета (а кому он перед этим слал пакет?). И он знает, что он будет делать с этим пакетом - какой машине во внутренней сети обратно его переслать (как обратно подменить IP:port). И это все работает только в одну сторону. Машина сидит себе за натом, никого не трогает.. А значит нет записей в NAT таблице.. Маршрутизатор "ничего не знает" и он будет дропать все левые пакеты, которые валятся на внешний IP. Если машина за натом, к ней нельзя обратиться извне - она первая должна инициировать соединение. Это своего рода фаерволл - ни один порт машины за перегруженым натом недоступен извне (коннектом на внешний IP).

DynDNS поможет если IP белый (пусть и динамический), а тут IP серый (машина за натом). Порт форвардинг поможет в теории, но как вы его сделаете на маршрутизаторе провайдера? Провайдерский NAT обходится бэкконнектом (на другой стороне должен быть белый IP), а если и там IP серый, то нужен сторонний сервер с белым IP - бэкконнект на него, а вы уже коннектитесь к этому серверу, короче цепочка.. Тимвьюверы разные так и работают. А еще NAT обходится покупкой белого IP у провайдера - иногда это даже проще))

Последний раз редактировалось sedarmill, 05-01-2015 в 00:21.


Отправлено: 00:08, 05-01-2015 | #23