Mam internet z pewnej firmy. W mieszkaniu płacimy 3 abonamenty, bo wynajmujemy pokoje tu i chcemy być uczciwi. No to sobie pomyślałem, że laptopa sobie podłączę czasem do sieci też, bo czemu nie. Ale kuku. Admini poblokowali NATa. I na nic gadka, że czemu laptopa nie mogę sobie podłączyć jak i tak mam pasmo ograniczone. Poszukałem, pogrzebałem, poczytałem…
Najczęstszą metodą wykrywania NATA jest analiza TTL (time to live) pakietów wychodzących. Każdy system defaultowo ustawia dla pakietu jakiś TTL np. linux ustawia – 64, windows xp – 128. I po przejściu przez NAT, TTL jest zmniejszane o 1. Tak więc dość prosto wykryć po tym NATA. Jak temu zapobiec?
Można na 2 sposoby:
1 – ustawić na komputerach za natem defaultowy TTL o 1 wiekszy
W linuxie -> echo ’65′ > /proc/sys/net/ipv4/ip_default_ttl.
W XP -> regedit -> HKEY_LOCAL_MACHINE/System/ CurrentControl Set/Services/Tcpip/Parameters i dopisujemy klucz DWORD DefaultTTL o wartości 129
2 – Na kompuetrze, który udostępnia sieć , ustawiać TTLa wszystkich pakietów wychodzących.
Na linuxie można to zrobć za pomocą iptables i modułu ipt_TTL (dużymi literami) w nowych jądrach 2.6 jest dostępny. W starszych trzeba spaczować źródła (patch z patch-o-matic-ng na www.netfilter.org).
A później:
iptables -t mangle -A PREROUTING -i eth0 -j TTL –ttl-inc 3
iptables -t mangle -A FORWARD -j TTL –ttl-set 64
Czyli ustawienie TTLa dla wszystkich wychodzących pakietów na 64, a dla przychodzących zwiększanie o 3. To zwiększanie jest potrzebne gdy przebiegły admin ustawia dla pakietów przychodzących do nas TTLa 1 i wtedy NAT nie może go przekazać dalej. (I na dodatek defaultowo odsyła do nadawcy pakietu, wiadomość ICMP ‘packet time to life exceeded’, po czym też łatwo wykryć NATa). I tyle ;> U mnie działa. Laptop ma sieć ;)
Oczywiście istnieje kilka innych metod, ale te które opisałem wystarczają na wiekszość użytkowników. Bo dodatkowo można grzebać w pakietach i wykrywać np. rożne wersje przeglądarek, charakterystycznych dla danych systemów operacyjnych. Niemniej to już trąca zabawą w Wielkiego Brata… no i można to też omninąć (http proxy Privoxy ma możliwość ustawiania wersji agenta dla wszystkich wychdzących zapytań…)