Celem maskowania IP jest umożliwienie maszynom z prywatnymi, nie rutynowymi adresami IP w sieci dostępu do Internetu za pomocą maszyny wykonującej maskaradę. Ruch z Twojej sieci prywatnej przeznaczonej do Internetu musi zostać zmanipulowany, aby odpowiedzi mogły być kierowane z powrotem na maszynę, która wysłała żądanie. Aby to zrobić, jądro musi zmodyfikować źródło Adres IP każdego pakietu, aby odpowiedzi były kierowane z powrotem do niego, a nie do prywatnego adresu IP, który wysłał żądanie, co jest niemożliwe przez Internet. Linux używa Śledzenie połączeń (conntrack), aby śledzić, które połączenia należą do których maszyn i przekierować odpowiednio każdy pakiet powrotny. Ruch opuszczający twoją prywatną sieć jest więc "maskaradą", jako pochodzącą z twojej maszyny z Ubuntu. Proces ten jest określany w dokumentacji Microsoft jako Udostępnianie połączenia internetowego.
Instrukcje dotyczące maskowania IP
Można to osiągnąć za pomocą pojedynczej reguły iptables, która może nieznacznie różnić się w zależności od konfiguracji sieci:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
Powyższe polecenie zakłada, że twoja prywatna przestrzeń adresowa to 192.168.0.0/16, a twoje urządzenie internetowe ma ppp0. Składnia jest podzielona w następujący sposób:
- -t nat - reguła polega na przejściu do tabeli nat
- -A POSTROUTING - reguła ma zostać dołączona (-A) do łańcucha POSTROUTING
- -s 192.168.0.0/16 - reguła dotyczy ruchu pochodzącego z określonej przestrzeni adresowej
- -o ppp0 - reguła dotyczy ruchu zaplanowanego do routowania przez określone urządzenie sieciowe
- -j MASQUERADE - ruch dopasowujący tę regułę polega na "przeskakiwaniu" (-j) do celu MASQUERADE w celu manipulowania, jak opisano powyżej
Każdy łańcuch w tabeli filtrów (tabela domyślna i miejsce, w którym występuje większość lub całe filtrowanie pakietów) ma wartość domyślną polityka ACCEPT, ale jeśli tworzysz zaporę ogniową oprócz urządzenia bramy, możesz ustawić zasady DROP lub REJECT, w którym to przypadku twój masqueraded traffic musi być dozwolony przez łańcuch FORWARD, aby powyższa reguła działała:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j AKCEPTUJ sudo iptables -A FORWARD -d 192.168.0.0/16 -m stan --stan ESTABLISHED, POWIĄZANY -i ppp0 -j AKCEPTUJ
Powyższe polecenia umożliwią wszystkim połączeniom z sieci lokalnej do Internetu i całego ruchu związanego z tymi połączeniami, aby powrócić do maszyny, która je zainicjowała.
* Licencja
* Indeks Przewodnik po systemie Ubuntu




