Przechwytywanie proxy przez iptables: porty 80 i 443 jako jeden zbiór
Dopasuj porty 80 i 443 jako jeden zbiór, a wybór adresu klienta trzymaj osobno od przepisanego punktu docelowego proxy.
Aby wybrać ruch TCP, którego port docelowy to 80 lub 443, użyj zbioru:
-p tcp -m multiport --dports 80,443Dla porównania --dport 80:443 wybiera cały zakres od 80 do 443 włącznie. To wychwytuje wiele dodatkowych portów. Przecinek i dwukropek wyrażają różne zasady.
To fragmenty dopasowania, a nie pełne polecenia zapory. Dodaj je do łańcucha i akcji, których wymaga projekt przechwytywania.
| Selektor | Co identyfikuje przed przepisaniem |
|---|---|
-s 192.0.2.20 | Adres źródłowy klienta |
-d 198.51.100.30 | Adres serwera docelowego |
--dports 80,443 | Porty usług docelowych |
Adres przekazywany do --to-destination w DNAT to nowy cel, na przykład nasłuch proxy. Nie zastępuje on znaczenia wcześniejszych dopasowań źródła i celu.
Utrzymuj selektor na tyle wąski, by opisywał zamierzonych klientów i ruch. W szczególności uwzględnij połączenia tworzone przez samo proxy, aby jego dalsze żądania nie wchodziły ponownie w tę samą ścieżkę przechwytywania. Wybór portu 443 nie zamienia też bajtów tego połączenia w jawne żądanie do proxy HTTP; aplikacja odbierająca nadal potrzebuje odpowiedniego trybu przechwytywania. Aby przejrzyście przekazywać TCP do proxy, translator musi odzyskać pierwotny cel i wynegocjować protokół proxy.