IP Masquerade jest również znany jako Network Address Translation (NAT) i Network Connection Sharing inne popularne systemy operacyjne. Jest to w zasadzie metoda pozwalająca komputerowi, który nie ma publicznego adresu IP w całym Internecie, komunikować się z innymi komputerami w Internecie za pomocą innego komputera znajdującego się między nim a Internetem.
Jak wiesz, adresy IP są używane w Internecie do identyfikacji komputerów. Biorąc pod uwagę pakiet z adresem IP, każdy router tworzący Internet wie, gdzie wysłać ten pakiet, aby dostać go do miejsca docelowego. Obecnie istnieje również kilka zakresów adresów IP zarezerwowanych do prywatnego użytku w sieciach lokalnych i innych sieciach, które nie są bezpośrednio połączone z Internetem. Gwarantujemy, że te prywatne adresy nie będą używane w publicznym Internecie.
Powoduje to problemy w przypadku urządzeń podłączonych do sieci prywatnych, które używają prywatnych adresów IP, ponieważ nie można ich podłączyć bezpośrednio do Internetu. Nie mają adresu IP, który może być używany w publicznym Internecie. IP Masquerade rozwiązuje ten problem, umożliwiając maszynie z prywatnym adresem IP komunikowanie się z Internetem, jednocześnie modyfikując pakiety urządzenia, aby używały prawidłowego publicznego adresu IP zamiast oryginalnego prywatnego adresu IP. Pakiety zwracane z Internetu są ponownie modyfikowane w celu użycia oryginalnego adresu IP przed dotarciem do prywatnej maszyny IP.
Zauważ, że nie jest to ograniczone do maskowania sieci / NAT, którego można użyć do kierowania ruchu z jednej sieci do drugiej, powiedzmy 10.0.0.0/24 i 192.168.0.0/24
Regułę maskarady Iptables można zastąpić regułą SNAT
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
Zarówno maskarada, jak i snat wymagają włączenia ip_forward na poziomie jądra za pomocą echa "1" > /proc/sys/net/ipv4/ip_forward
lub na stałe poprzez edycję pliku ustawień nano /etc/sysctl.conf
.
Przekazywanie IP sprawia, że maszyna działa jak router, a tym samym logicznie przekierowuje / przekazuje pakiety ze wszystkich aktywnych interfejsów przez sieć docelową (lokalną / netto / inną / itp.) Lub postępując zgodnie z tabelą tras. Zauważ, że włączenie ip_forward może powodować poważne zagrożenie bezpieczeństwa, jeśli nie można uniknąć ip_forward, należy go nadzorować / zabezpieczyć dodatkowymi regułami iptables / route.