Урок 4 из 4 · 6 мин
Ваш роутер и NAT
Почему каждое устройство у вас дома может быть онлайн одновременно через один-единственный публичный адрес, и от чего это устройство защищает, а от чего — нет.
Узнайте свой публичный IP-адрес — и каждое устройство в вашей домашней сети: телефон, ноутбук, умная колонка — покажет одно и то же число. Посмотрите же, каким каждое устройство считает свой собственный адрес, и вы увидите нечто другое: приватный адрес вроде 192.168.1.12, из диапазонов, которые RFC 1918 резервирует для локальных сетей и которые рассматривались в первом уроке этого курса. Устройство, соединяющее эти два мира, — ваш роутер, использующий технологию под названием трансляция сетевых адресов, или NAT.
Что NAT делает на самом деле
Глоссарий MDN определяет это прямо: NAT — «это техника, позволяющая нескольким компьютерам совместно использовать один IP-адрес» (is a technique for letting multiple computers share an IP address), путём «назначения уникальных адресов каждому компьютеру в локальной сети и корректировки сетевого трафика для отправки данных в нужное место» (assigning unique addresses to each computer on the local network and adjusting network traffic to send data to the right place). Конкретно: когда ваш ноутбук открывает соединение с сайтом, роутер переписывает исходящий пакет так, чтобы он выглядел исходящим от собственного публичного адреса роутера, и хранит таблицу, связывающую это соединение с приватным адресом и портом вашего ноутбука. Когда приходит ответ, роутер ищет запись в этой таблице и пересылает его на нужное устройство.
Именно поэтому NAT вообще существует: примерно 4,3 миллиарда адресов IPv4 никогда не смогли бы растянуться на публичный адрес для каждого телефона, ноутбука и умного устройства в каждом доме, а интернет-провайдеры обычно выделяют дому только один публичный адрес. NAT позволяет дюжине устройств в доме совместно использовать этот единственный адрес, не требуя собственного для каждого.
Что NAT попутно даёт вам
NAT создавался, чтобы решить проблему нехватки адресов, а не для защиты вашей сети, но у него есть полезный побочный эффект. Поскольку устройства за ним имеют только приватные адреса, компьютер из открытого интернета не может просто открыть новое, незапрошенное соединение с вашим ноутбуком, как мог бы, если бы ваш ноутбук напрямую имел публичный адрес: обращаться попросту не к чему, а у роутера нет соответствующей записи в таблице трансляции, чтобы переслать такое соединение куда-либо. Трафик, который запросило само ваше устройство, пропускается обратно, потому что роутер помнит запрос; трафику, который никто не запрашивал, обычно некуда идти.
Чего NAT не делает
Эта побочная фильтрация — не то же самое, что безопасность, и стоит чётко понимать разницу:
- NAT никак не влияет на соединения, которые ваши собственные устройства открывают наружу. Если приложение на вашем ноутбуке подключается к серверу, NAT спокойно пропускает ответ обратно; у него нет никакого мнения о том, должно ли было это приложение вообще общаться с этим сервером.
- NAT не проверяет и не шифрует содержимое. Всё, что отправлено в открытом виде, так же читаемо для сайтов и промежуточных сетей, как и без NAT.
- NAT не заменяет файрвол. Многие роутеры запускают файрвол с отслеживанием состояния параллельно с NAT, и именно этот файрвол, отслеживая рукопожатие, описанное в предыдущем уроке, реально решает, что пропускать.
- Устройства, использующие один общий публичный адрес, всё равно можно различить по отдельности другими способами — например, по учётным записям, файлам cookie или идентификаторам устройств, которые используют посещаемые ими сайты.
Коротко: именно из-за NAT весь ваш дом использует один адрес, и, как побочный эффект, случайные входящие подключения обычно не могут незвано добраться до конкретного устройства у вас дома. Но это ничего не говорит о том, что решают отправлять наружу ваши собственные устройства, или о ком-либо на другом конце ваших исходящих соединений.
Главное
- NAT позволяет множеству устройств в частной сети совместно использовать один публичный IP-адрес, переписывая и отслеживая соединения по мере их прохождения через роутер.
- NAT существует в основном потому, что в IPv4 не хватает адресов, чтобы у каждого устройства был свой публичный.
- Как побочный эффект, NAT затрудняет открытие внешним устройством незапрошенного соединения напрямую с одним из ваших устройств, поскольку публичного адреса, указывающего на него, не существует.
- NAT не проверяет, не фильтрует и не шифрует трафик, который отправляют наружу ваши собственные устройства; это задача файрвола, а не NAT.
- Совместное использование публичного адреса не делает отдельные устройства анонимными для сайтов, к которым они подключаются.
Проверьте себя
1. Что, согласно MDN, делает NAT?
- Шифрует весь трафик, покидающий роутер
- Позволяет нескольким компьютерам совместно использовать IP-адрес, транслируя трафик нужному локальному устройству — Верно.
- Назначает уникальный публичный IP-адрес каждому устройству
- Автоматически блокирует все входящие соединения
MDN описывает NAT как технику, позволяющую нескольким компьютерам совместно использовать IP-адрес за счёт корректировки трафика так, чтобы он достигал нужного устройства.
2. Почему домашние роутеры обычно используют NAT?
- Чтобы сделать Wi-Fi быстрее
- Потому что в IPv4 не хватает адресов, чтобы дать каждому устройству в доме собственный публичный — Верно.
- Потому что это требуется для шифрования
- Чтобы блокировать фишинговые сайты
Примерно 4,3 миллиарда адресов IPv4 недостаточно, чтобы каждое устройство в мире имело публичный адрес, поэтому NAT позволяет дому совместно использовать один адрес, выданный провайдером.
3. Какое утверждение о NAT и входящих соединениях верно?
- NAT активно сканирует и блокирует опасный трафик
- Поскольку у устройств за NAT нет публичного адреса, внешнее устройство обычно не может открыть новое, незапрошенное соединение напрямую с ними — Верно.
- NAT делает каждое устройство в сети невидимым для посещаемых им сайтов
- NAT не позволяет вашим собственным приложениям вообще подключаться наружу
Таблица трансляции NAT пересылает только ответы на соединения, запрошенные вашими собственными устройствами; публичного адреса, на который посторонний мог бы нацелиться напрямую, не существует.
4. От чего NAT НЕ защищает?
- От содержимого, которое ваше собственное устройство отправляет по открытому им соединению, включая всё незашифрованное — Верно.
- От нехватки адресов IPv4
- От необходимости роутера транслировать адреса
- От совместного использования одного публичного адреса несколькими устройствами
NAT не видит и не контролирует, что решает отправить наружу ваше собственное устройство; он лишь транслирует и отслеживает адреса, но не проверяет и не защищает содержимое.
Примените на практике в FireAI
Примените этот урок на своём Mac.
- Узнайте, куда приложение отправляет данные, на World map — Увидьте, с какой именно компанией и страной незаметно общается одно приложение.
- Правила: приложение, сайт, домен, IP или диапазон, навсегда или до перезагрузки — Напишите правило, точное как один адрес, или широкое как целый домен.
- Глубокая проверка без расшифровки чего-либо — Получайте реальные подробности о защищённом соединении, при этом FireAI никогда не читает то, что внутри него.
Источники
- RFC 1918: Address Allocation for Private Internets
- MDN Web Docs: NAT (Glossary)
- Cloudflare Learning: What is my IP address?
Примените это на своём Mac
Все функции бесплатно на 17 дней, без банковской карты.