Параметры NAT на домашних маршрутизаторах часто настраиваются как строгий. Что это значит? Что умеренный или открыто делать? Переадресация портов / доступ к DMZ работает правильно на строгий так зачем возиться с двумя другими?
Взгляд через маршрутизатор показывает, что это влияет на брандмауэр. Когда вы тратите много времени на защиту сетей с помощью Cisco / iptables, такой вялый, не описательный ответ вызывает не что иное, как раздражение и не оставляет никаких подсказок относительно того, как брандмауэр это имеет.
Пожалуйста, может кто-нибудь пролить свет.
Прежде всего важно знать, как работает трансляция сетевых адресов (NAT). Вы устанавливаете соединение с сервером в Интернете. На самом деле вы отправляете пакеты на свой маршрутизатор, выходя с вашего компьютера на какой-то случайно выбранный порт:
Your computer Router
+------------+ +-----------+
| | | |
| port 31746 o====>o |
| | | |
+------------+ +-----------+
Ваш маршрутизатор, в свою очередь, устанавливает соединение с сервером, с которым вы хотите поговорить. Он говорит, что это собственный случайно выбранный порт:
Router www.google.com
+-----------+ +----------------+
| | | |
| port 21283o====>o port 80 |
| | | |
+-----------+ +----------------+
Когда веб-сервер Google отправляет вам информацию, он фактически отправляет ее обратно на ваш маршрутизатор (поскольку ваш маршрутизатор - это тот, кто находится в Интернете):
Router www.google.com
+-----------+ +----------------+
| | | |
| port 21283o<====o port 80 |
| | | |
+-----------+ +----------------+
Пакет прибывает на ваш роутер на порт 21283
из www.google.com
. Что с этим делать роутеру?
В этом случае маршрутизатор записал вас, и трафик, который он отправил www.google.com:80
из порта 21283
от вашего имени. Таким образом, маршрутизатор будет ретранслировать пакет на ваш компьютер:
Your computer Router
+------------+ +-----------+
| | | |
| port 31746 o<====o |
| | | |
+------------+ +-----------+
В открыто NAT, любая машина в Интернете может отправлять трафик на порт вашего маршрутизатора 21283
, и пакет будет отправлен вам обратно:
Your computer Router
+------------+ +-----------+ {www.google.com:80
| | | | {www.google.com:443
| port 31746 o<====o port 21283o<===={serverfault.com:80
| | | | {fbi.gov:32188
+------------+ +-----------+ {botnet.cn:11288
Закрытые нац более строгие. Он не будет пропускать ничего, если только он не пришел с исходного адреса и порт, с которым вы хотели поговорить, т.е. www.google
порт 80
:
Your computer Router
+------------+ +-----------+ {www.google.com:80
| | | | | (rejected) www.google.com:443
| port 31746 o<====o port 21283o<====+ (rejected) serverfault.com:80
| | | | (rejected) fbi.gov:32188
+------------+ +-----------+ (rejected) botnet.cn:11288
Умеренный NAT - это смесь, при которой ваш маршрутизатор будет принимать любой трафик от любого порт, но только из того же хозяин:
Your computer Router
+------------+ +-----------+
| | | | {www.google.com:80
| port 31746 o<====o port 21283o<===={www.google.com:443
| | | | (rejected) serverfault.com:80
+------------+ +-----------+ (rejected) fbi.gov:32188
(rejected) botnet.cn:11288
Это один набор определений. Другой:
Но терминология действительно расплывчата.
Все эти термины NAT используются только в игровой индустрии. Если вы спросите сетевого инженера или инженера по безопасности о строгих нат, они не поймут, о чем вы говорите.
В реальном, чисто техническом мире сетей есть NAT и PAT, и они могут быть входящими или исходящими.
Потребительские маршрутизаторы часто имеют настройку IP "DMZ", которая отправляет все, предназначенное для общедоступного IP-адреса вашего маршрутизатора, прямо на частный IP-адрес вашего ПК. Я даже не могу сказать, насколько это опасно. Игровые компании должен по крайней мере, опубликуйте список IP-адресов серверов, чтобы вы могли перенаправлять трафик прямо на свой компьютер, только если он поступает с сервера в списке. Я думаю, что «умеренный NAT» - это то, что в сетевой индустрии называют PAT (преобразование адресов порта).
Если вы подключаетесь к серверу через порт 80, например, также имеется порт источника 4040. Ваш маршрутизатор прослушивает порт 4040 после того, как вы инициируете соединение. Если они попытаются связаться с вашим маршрутизатором через другой порт, таблица NAT маршрутизатора не имеет сопоставления для нового порта и отбрасывает его. Если вы разрешите переадресацию порта 4444 на определенный IP-адрес в конфигурации NAT / PAT, посторонние теперь могут инициировать соединения только на этом порту. Это менее опасно, чем сопоставление 1 к 1 и пропускание всего.
Игровые компании должны давать более точные рекомендации. Я даже видел предложения полностью отключить брандмауэр Microsoft, а не выдавать список портов. Если вы хотите стать частью ботнета или не возражаете против программ-вымогателей, продолжайте и следуйте их плохим указаниям.