Jestem zdezorientowany, jaka jest faktyczna różnica między SNAT a Masquerade?
Jeśli chcę udostępnić moje połączenie internetowe w sieci lokalnej, to czy powinienem wybrać SNAT czy Masquerade?
SNAT
Cel wymaga, aby nadać mu adres IP, aby zastosować do wszystkich pakietów wychodzących. MASQUERADE
Cel pozwala nadać mu interfejs, a co jest na adres tego interfejsu to adres, który jest stosowany do wszystkich pakietów wychodzących. Ponadto, za pomocą SNAT
, śledzenie połączeń jądra śledzi wszystkie połączenia, gdy interfejs zostanie zdjęty i przywrócony; to samo nie dotyczy MASQUERADE
celu.
Dobre dokumenty obejmują HOWTO na stronie Netfilter i stronie podręcznika iptables
man .
-j SNAT
(w przeciwieństwie do śledzenia recyklingu za pomocą-j MASQUERADE
), gdy nowe połączenie wychodzące z węzła LAN używa tego samego numeru portu źródłowego, co zerwane połączenie wychodzące z tego samego węzła LAN. W takim przypadku mogę sobie wyobrazić, że przychodzące pakiety ze starego połączenia wychodzącego są wysyłane do węzła, myląc jego stos TCP. Co do korzyści -j SNAT, co jeśli pole NAT jest skonfigurowane z tym samym zewnętrznym adresem IP, a jądro nadal przesyła pakiety ze starych połączeń zamiast odpowiadać za pomocą RST?Zasadniczo
SNAT
iMASQUERADE
wykonaj tę samą źródłową rzecz NAT w tabeli nat w łańcuchu POSTROUTING.Różnice
MASQUERADE
nie wymaga,--to-source
ponieważ został stworzony do pracy z dynamicznie przypisywanymi adresami IPSNAT
działa tylko ze statycznymi adresami IP, dlatego tak jest--to-source
MASQUERADE
ma dodatkowy narzut i jest wolniejszy niżSNAT
dlatego, że za każdym razem, gdyMASQUERADE
cel zostanie trafiony przez pakiet, musi sprawdzić adres IP, aby go użyć.UWAGA : Typowy przypadek użycia
MASQUERADE
: Instancja AWS EC2 w VPC, ma prywatny adres IP w VPC CIDR (np. 10.10.1.0/24) - na przykład 10.10.1.100, ma również publiczny adres IP, aby komunikować się z Internet (zakładając, że jest w publicznej podsieci), przez który prywatny NAT 1: 1 NAT. Publiczny adres IP może się zmienić po ponownym uruchomieniu instancji (jeśli NIE jest to EIP),MASQUERADE
jest lepszą opcją w tym przypadku użycia.Ważne: Nadal można używać
MASQUERADE
celu ze statycznym adresem IP, należy jednak pamiętać o dodatkowym obciążeniu.Referencje
Samouczek iptables
Samouczek NAT
źródło