Blog

Podsłuchy, zagłuszacze, itp.

2008-02-17 21:20:10

Im dłużej studiuję na WAT, tym bardziej jestem przekonany, że dobrze wybrałem. Dotychczas przekonywało mnie raczej tylko to co działo się na uczelni ewentualnie w branży telekomunikacyjnej. Ostatnio jednak zaczyna mnie przekonywać... polityka.

To, że podsłuchy można spotkać praktycznie na każdym kroku to nic. Teraz pojawiły się jeszcze urządzenia do zagłuszania! A któż, jak nie my, studenci uczelni o wielkich tradycjach w walce radioelektronicznej i zagłuszaniu, będzie się do tego idealnie nadawał? No kto? ;-)

Tagi: studia WAT polityka

I po sesji

2008-02-10 22:36:57

Okazało się, że w środę, czyli już szóstego lutego, zarazem trzeciego dnia dwutygodniowej sesji, uzyskałem ostatni wpis do indeksu i karty zaliczeń. Wtedy też faktycznie zakończył się dla mnie siódmy semestr studiów. Średnia arytmetyczna ocen z przedmiotów za semestr: 4,2; średnia ważona względem punktów ECTS: 4,18. Chyba nie jest źle ;-)

Teraz, jak wszystkie grzeczne dzieci z województwa mazowieckiego, mam dwa tygodnie (tydzień pozostałej sesji i tydzień przerwy międzysemestralnej) "urlopu zimowego" (czyt. ferii).

A od nowego semestru trzeba się przyzwyczajać do przesiadywania na uczelni w godzinach 8.00 - 21.00. Tak, tak... Na ósmym semestrze zaplanowano nam zajęcia od ósmej do dwudziestej pierwszej. Żyć, nie umierać...

Tagi: studia WAT

OpenVPN - prosta i szybka konfiguracja

2008-02-09 21:57:41

Chciałbym napisać w jaki sposób połączyć siecią wirtualną dwa komputery działające pod kontrolą systemu GNU/Linux i wykorzystujące oprogramowanie OpenVPN.

Podstawową sprawą jest posiadanie OpenVPN. Ten program nie ma wydzielonej części serwerowej i klienckiej. W zależności od zawartości pliku konfiguracyjnego może działać jako klient lub serwer (a nawet jako jedno i drugie). Ja, Ubunciarz z wyboru, nie parałem się kompilacją programu ze źródeł. Po co? ;-) Wklepałem po prostu apt-get install openvpn i po chwili miałem już zainstalowane oprogramowanie.

Całość konfiguracji sprowadza się do kilku prostych czynności. Pierwszą jest wygenerowanie klucza, który będzie używany do szyfrowania danych przesyłanych przez VPN. Jak? Banalnie...

root@eu07:~# openvpn --genkey --secret plik.key

Plik z kluczem przekopiowałem do katalogu /etc/openvpn zarówno w jednym jak i drugim komputerze. Wiem, że ten plik powinien być "secret", ale kto mi go przeczyta? Ja sam? ;-)

Następnie należy stworzyć pliki konfiguracyjne serwera i klienta. OpenVPN w trakcie startu przeszukuje /etc/openvpn w poszukiwaniu plików *.conf, a następnie je analizuje i uruchamia się wedle ich zaleceń. Jeden plik - jedna instancja OpenVPN, klienta lub serwera.

Zatem vi /etc/openvpn/server1.conf

dev tun
secret /etc/openvpn/plik.key
proto tcp-server 
ifconfig 192.168.11.1 192.168.11.2
daemon
verb 4
log-append /var/log/openvpn.log
keepalive 10 900
inactive 360000
comp-lzo

W pierwszej linijce pliku konfiguracyjnego wskazujemy OpenVPN, żeby korzystał z mechanizmu TUN, czyli enkapsulacji pakietów w warstwie trzeciej (sieci). Istnieje możliwość pracy w warstwie drugiej (łącza danych) przy pomocy mechanizmu TAP. Oczywiście TAP/TUN musi być obsługiwane przez jądro. Kolejna linia to wskazanie pliku zawierającego klucz. Linijka proto to wybór protokołu. Próbowałem opcji UDP, ale z nieustalonych jeszcze przeze mnie przyczyn nie nawiązałem transmisji pomiędzy komputerami wpiętymi w sieć VPN. Linijka ifconfig to linia wskazująca adresy IP węzłów sieci. Pierwszy adres to adres komputera, na którym jest ta instancja uruchamiana, drugi to adres komputera odległego. Interfejsy są konfigurowane w trybie point to point, a więc nie można podłączyć kilku komputerów do jednego serwera. Według dokumentacji jest to możliwe, ale mi nie wyszło. Linia daemon może pozostać bez wyjaśnienia ;-) Następnie poziom gadatliwości w logach - maksymalnie gadatliwy to dziewiątka; ścieżka do pliku logów i czasy utrzymywania serwera i interfejsów bez transmisji. Wartość inactive polecam ustawić dość dużą, jeśli serwer VPN nie będzie miał cały czas podłączonego klienta wymieniającego dane. No i na końcu wkazujemy, że chcemy wykorzystać kompresję danych.

Teraz należy zadbać o odblokowanie portu 1194 (domyślnego portu OpenVPN) dla transmisji TCP na maszynie, która będzie służyć za serwer.

root@eu07:~# iptables -A INPUT -p tcp --dport 1194 -s 0/0 -j ACCEPT

Cóż pozostaje zrobić teraz? Skonfigurować klienta: vi /etc/openvpn/client1.conf

dev tun
proto tcp-client
remote adres.serwera.net 1194
secret /etc/openvpn/plik.key
ifconfig 192.168.11.2 192.168.11.1
keepalive 10 60
route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0
comp-lzo

Wyjaśnić należy linijkę remote, w której zapisany jest adres serwera (ten zewnętrzny, w sieci Internet) oraz port na, którym działa serwer. Różnica jest w linijce ifconfig - adresy zapisane są w odwrotnej kolejności, ale nadal pierwszy to adres końca lokalnego, a drugi końca odległego. Linijki route to informacje, że ruch do podsieci tam wymienionych ma być realizowany z wykorzystaniem VPN. W tym przypadku to adresy sieci rzeczywistych, które są osiągalne z serwera (który pełni dla nich funkcję routera z NAT).

Teraz tylko trzeba wszystko wystartować:

root@eu07:~# /etc/init.d/openvpn start
krzysztof@ed74:~$ sudo /etc/init.d/openvpn start

Teraz można sprawdzić czy VPN działa:

krzysztof@ed74:~$ ping 192.168.11.1
PING 192.168.11.1 (192.168.11.1) 56(84) bytes of data.
64 bytes from 192.168.11.1: icmp_seq=1 ttl=64 time=6.42 ms
64 bytes from 192.168.11.1: icmp_seq=2 ttl=64 time=5.61 ms
64 bytes from 192.168.11.1: icmp_seq=3 ttl=64 time=5.26 ms

--- 192.168.11.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 5.262/5.765/6.420/0.484 ms

Widzą się, ale...

krzysztof@ed74:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

--- 192.168.0.1 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9008ms

Mimo, że wskazaliśmy komputerowi, że do tej sieci ma pakiety puszczać przez VPN transmisji nie ma. Istotnie wszystkie pakiety, które wysyłamy do 192.168.0.1 są puszczane przez VPN, ale na serwerze nie ma regułek przekazywania pakietów pomiędzy sieciami.

root@eu07:~# iptables -A FORWARD -s 0/0 -d 192.168.11.0/24 -j ACCEPT
root@eu07:~# iptables -A FORWARD -s 192.168.11.0/24 -d 0/0 -j ACCEPT

Dopiero po takim posunięciu komputer-serwer potraktuje VPN jak każdą inną sieć podpietą do niego i będzie przekazywał pakiety do innych sieci. Nie ma sensu włączać maskarady (NAT) dla tej podsieci, bo wciąż poruszamy się w zakresie adresów z puli prywatnej, które w sieci wewnętrznej będą śmigały aż miło.

Tagi: vpn openvpn linux komputer

VPN

2008-02-03 22:07:19

Jako, że każdy mężczyzna powinien w życiu, poza drzewem itp., nauczyć się Vima oraz postawić VPN, postanowiłem wreszcie, że postawię VPN ;-)

Głównym założeniem tej sieci wirtualnej jest udostępnienie mi zasobów mojej domowej sieci lokalnej niezależnie od miejsca, w którym przebywam i niezależnie od łącza, którym dysponuję. A oprócz tego zawsze można znajomych dołączyć, szczególnie tych bez adresu publicznego ;-)

Pierwsze kroki postawiłem z OpenVPN. Działa bardzo fajnie, ale ma jedną wadę - połączenia są typu punkt-punkt. Próby skonfigurowania jednej podsieci wirtualnej dla wielu klientów niestety nie powiodły się, mimo poświęcenia wielu godzin. Próbowałem też z OpenSWAN, czyli IPsec, ale też się nie udało.

Pozostałem zatem przy OpenVPN i podsiecią dla każdego klienta (czyli dodatkowym serwerem i interfejsem sieciowym w systemie). Widoczność między podsieciami zapewniam przez regułki iptables. I nadal działa wyśmienicie ;-)

Może kiedyś napiszę jak skonfigurować takiego VPN-a ;-)

Tagi: komputer linux

Łyżwy

2008-02-02 23:04:43

Krzysztof dzisiaj, po raz pierwszy, stanął na lodowisku. Mimo, że już nie raz zdarzyło się Krzysztofowi stać na lodzie, ale nigdy mając łyżwy na nogach.

Jak dotąd łyżwy były rzeczą dla mnie niepojętą. A teraz są dla mnie rzeczą nadzwyczaj trudną. Niestety jestem sztywny jak sztacheta z dębowego drzewa i utrzymanie odpowiedniej do jazdy postawy jest dla mnie strasznym problemem ;-) Ale jakoś udało mi się przeżyć lodowisko zaliczając tylko jeden niegroźny upadek. Mimo wszystko najadłem się sporo wstydu, bo trzyletnie dzieci dużo szybciej łapały o co w tym wszystkim biega niż ja ;-)

Tagi: krzysiek