Archive for ‘ January, 2012

Optymalizacja w gcc

O niekorzystnych efektach stosowania optymalizacji na błędnym kodzie już kiedyś było. A teraz będzie jeszcze raz bo znalazłem kolejny ciekawy przykład. Znalazłem go na tej stronie przy okazji szukania materiałów o sygnałach w Linuksie. Kod po minimalnej zmianie wygląda tak: Read more

  • Comments Off on Optymalizacja w gcc

Load balancing

Najprostszy sposób jak wykonać load balancing przy użyciu tylko iptables. Wykorzystujemy do tego moduł “statistic” w trybie “nth” który oznacza nam każdy co czwarty pakiet (–every 4), licząc od zadanego (–packet 0). Same regułki wyglądają tak:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 0 -j DNAT --to-destination 192.168.1.2:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 1 -j DNAT --to-destination 192.168.1.3:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 2 -j DNAT --to-destination 192.168.1.4:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m statistic --mode nth --every 4 --packet 3 -j DNAT --to-destination 192.168.1.5:80

Jeśli ustawimy takie regułki na serwerze z adresem 192.168.1.1 to każde nowe połączenie przychodzące na ten serwer na porcie 80 będzie przekierowane na inne maszyny na podstawie licznika (w tym wypadku modulo 4). Czyli pierwsze połączenie poleci na serwer 192.168.1.2, drugie na 192.168.1.3, trzecie na 192.168.1.4, a czwarte na 192.168.1.5, a potem od nowa. Oczywiście można to robić dla dowolnej ilości maszyn oraz dla dowolnych usług. Ważne jest tylko, aby zawsze był sprawdzany stan pakietu i aby regułki stosowane były tylko dla nowych połączeń. W przeciwnym razie kolejne serwery będą dostawać pakiety nie przeznaczone dla nich i usługi nie będą działały.

  • Comments Off on Load balancing

Duqu techno-thriller

Rok temu głośno było o wirusie Stuxnet, który zainfekował Irańskie centra wzbogacania uranu i spowodował w nich liczne szkody. Od października 2011 głośno z kolei jest o bliskim krewnym Stuxnet’a – wirusie ochrzczonym nazwą Duqu. Jakkolwiek nie ma żadnych danych udowadniających ponad wszelką wątpliwość relację pomiędzy Stuxnet’em, a Duqu to wszystko wskazuje na to, iż oba szkodniki zostały stworzone przez tych samych ludzi. Oba wirusy mają taką samą architekturę, te same mechanizmy działania, korzystają z tych samych wykradzionych certyfikatów kryptograficznych do podpisywania fałszywych sterowników oraz mają te same “magiczne wartości” zakodowane w sobie. Read more

  • Comments Off on Duqu techno-thriller