IP Masquerade wird auch als Network Address Translation (NAT) und Network Connection Sharing (Netzwerkverbindungsfreigabe) bezeichnet. Dies ist im Grunde eine Methode, mit der ein Computer, der keine öffentliche, internetweite IP-Adresse hat, mit anderen Computern im Internet kommunizieren kann, wobei ein anderer Computer zwischen ihm und dem Internet sitzt.
Wie Sie wissen, werden im Internet IP-Adressen verwendet, um Maschinen zu identifizieren. Bei einem Paket mit einer IP-Adresse weiß jeder Router, aus dem das Internet besteht, wohin das Paket gesendet werden muss, um es an sein Ziel zu bringen. Nun gibt es auch einige Bereiche von IP-Adressen, die für den privaten Gebrauch in lokalen Netzwerken und anderen Netzwerken reserviert sind, die nicht direkt mit dem Internet verbunden sind. Diese privaten Adressen werden garantiert nicht im öffentlichen Internet verwendet.
Dies führt zu Problemen bei Computern, die mit privaten Netzwerken verbunden sind und private IP-Adressen verwenden, da sie nicht direkt mit dem Internet verbunden werden können. Sie haben keine IP-Adresse, die im öffentlichen Internet verwendet werden darf. IP Masquerade löst dieses Problem, indem ein Computer mit einer privaten IP-Adresse mit dem Internet kommunizieren kann und gleichzeitig die Pakete des Computers so geändert werden, dass anstelle der ursprünglichen privaten IP-Adresse eine gültige öffentliche IP-Adresse verwendet wird. Pakete, die aus dem Internet zurückkehren, werden so geändert, dass sie die ursprüngliche IP-Adresse verwenden, bevor sie den privaten IP-Computer erreichen.
Beachten Sie, dass dies nicht auf das Internet-Netzwerk beschränkt ist. Masquerade / NAT kann verwendet werden, um Datenverkehr von einem Netzwerk zu einem anderen weiterzuleiten, beispielsweise 10.0.0.0/24 und 192.168.0.0/24
Die Maskeraderegel von Iptables kann durch eine SNAT-Regel ersetzt werden
iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24 -j MASQUERADE
=
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2
Sowohl masquerade als auch snat setzen voraus, dass ip_forward auf Kernelebene mit Echo "1" > /proc/sys/net/ipv4/ip_forward
oder permanent durch Bearbeiten der Einstellungsdatei nano aktiviert ist /etc/sysctl.conf
.
Durch die IP-Weiterleitung verhält sich das Gerät wie ein Router und leitet Pakete von allen aktiven Schnittstellen logisch über das Zielnetzwerk (lokal / netz / andere / usw.) oder anhand der Routentabelle um bzw. weiter. Beachten Sie, dass die Aktivierung von ip_forward ein erhebliches Sicherheitsrisiko mit sich bringen kann. Wenn ip_forward nicht vermieden werden kann, muss es durch zusätzliche iptables / route-Regeln überwacht / gesichert werden.