Я в замешательстве, какова реальная разница между SNAT и Masquerade?
Если я хочу поделиться своим интернет-соединением в локальной сети, то должен ли я выбрать SNAT или Masquerade?
Я в замешательстве, какова реальная разница между SNAT и Masquerade?
Если я хочу поделиться своим интернет-соединением в локальной сети, то должен ли я выбрать SNAT или Masquerade?
Ответы:
SNAT
Цель требует от вас , чтобы дать ему IP - адрес , чтобы применить ко всем исходящим пакетам. MASQUERADE
Цель позволяет придать ему интерфейс, и все , что адрес на этом интерфейсе адрес , который применяется ко всем исходящим пакетам. Кроме того, с SNAT
помощью отслеживания соединений ядра отслеживаются все соединения, когда интерфейс отключается и возвращается обратно; то же самое не верно для MASQUERADE
цели.
Хорошие документы включают HOWTO на сайте Netfilter и iptables
справочную страницу .
-j SNAT
(в отличие от отслеживания повторного использования -j MASQUERADE
), когда новое исходящее соединение с узла локальной сети использует тот же номер порта источника, что и разорванное исходящее соединение с того же узла локальной сети. В этом случае я могу представить, что входящие пакеты из старого исходящего соединения отправляются на узел, что приводит к путанице в его стеке TCP. Что касается преимущества -j SNAT, что если поле NAT сконфигурировано с тем же внешним IP-адресом, а ядро продолжает пересылку пакетов со старых соединений, а не отвечает RST?
В основном, SNAT
и MASQUERADE
делайте ту же самую исходную вещь NAT в таблице nat в цепочке POSTROUTING.
Различия
MASQUERADE
не требует, --to-source
как это было сделано для работы с динамически назначенными IP-адресами
SNAT
работает только со статическими IP-адресами, поэтому имеет --to-source
MASQUERADE
имеет дополнительные издержки и работает медленнее, чем SNAT
потому, что каждый раз, когда MASQUERADE
цель попадает в пакет, она должна проверять IP-адрес для использования.
ПРИМЕЧАНИЕ . Типичный вариант использования для MASQUERADE
: экземпляра AWS EC2 в VPC, он имеет частный IP-адрес в CIDR VPC (например, 10.10.1.0/24) - например, 10.10.1.100, он также имеет публичный IP-адрес для связи с Интернет (предположим, что он находится в общедоступной подсети), через который осуществляется приватный IP 1: 1 NAT. Публичный IP-адрес может измениться после перезагрузки экземпляра (если это НЕ EIP), MASQUERADE
это лучший вариант в этом случае использования.
Важно: все еще возможно использовать MASQUERADE
цель со статическим IP, просто учтите дополнительные издержки.
Ссылки