Instrukcja instalacji klienta OpenVPN w sieci WFAiIS UMK w Toruniu operator@fizyka.umk.pl 28maja2010 1
Spis treści 1 Informacje ogólne 3 1.1 IdeadziałaniasieciVPN... 3 1.2 UsługirealizowanepoprzezVPNwsieciIF... 3 1.2.1 Pracownicyigoście... 3 1.2.2 Studenci... 3 2 Uzyskiwanie certyfikatu 4 2.1 Pracownicyigoście... 4 2.2 Studenci... 4 3 Instalacja klienta OpenVPN 4 3.1 SystemWindows2000/XP... 4 3.1.1 Instalacja... 4 3.1.2 Instalacjacertyfikatu... 7 3.1.3 Uruchamianie... 7 3.2 SystemLinux... 9 3.2.1 Instalacjacertyfikatu... 10 3.2.2 UruchamianieklientaOpenVPN... 10 3.2.3 Automatyczneuruchamianieprzystarciesystemu... 11 3.3 Pozostałesystemy... 11 4 Dostęp do sieci radiowej IFKIS przy użyciu OpenVPN 11 5 Wskazówki dot. konfiguracji zapory sieciowej(firewall) 11 6 Zgłaszanie problemów i usterek 12 7 Dodatek 1(dla zaawansowanych użytkowników) 13 7.1 KompilacjaoprogramowaniaOpenVPN... 13 2
1 Informacjeogólne 1.1 Idea działania sieci VPN Wirtualna sieć prywatna jest technologią pozwalającą w bezpieczny sposób łączyć komputery oraz sieci znajdujące się w różnych lokalizacjach geograficznych, używając do tego łącz publicznych(np. poprzez sieci publicznie działających dostawców internetowych). Połączenia tego typu realizowane są przy pomocy wirtualnych tuneli łączących pary hostów, na których pracuje usługa VPN. Przed ustanowieniem tunelu wymagane jest wcześniejsze uwierzytelnienie obydwu hostów, co pozwala później na autoryzację dostępu do usług. Poufność transmisji przechodzących przez tunel zapewnia silna kryptografia, dzięki czemu komunikacja poprzez VPN jest równie bezpieczna, jak transmisja prowadzona po dedykowanych łączach. Innymi słowami, VPN jest technologią pozwalająca utworzyć bezpieczny, wirtualny dedykowany obwód rozpięty po niezabezpieczonych łączach publicznych. 1.2 Usługi realizowane poprzez VPN w sieci IF 1.2.1 Pracownicy i goście 1. Pełen dostęp do serwerów IF poprzez SSH/FTP spoza sieci IF. 2. Dostęp do poczty elektronicznej(odbieranie i wysyłanie): Aby skonfigurować klienta poczty elektronicznej, należy postępować zgodnie ze wskazówkami dotyczącymi konfiguracji dla komputerów sieci lokalnej IF dostępnymi na: http://www.fizyka.umk.pl/lan/lan.html (pkt. 3) 3. Dostęp do dowolnych usług pracujących na dowolnym komputerze dostępnych dla sieci lokalnej. 4. Dostęp do własnego komputera pracującego w sieci IF/KIS 5. Możliwość przeglądania zasobów czasopism elektronicznych i innych zasobów sieci WWW dostępnych tylko z komputerów sieci IF. W tym celu należy skonfigurować w przeglądarce internetowej obsługę serwera proxy. Adres serwera HTTP proxy: w3cache.fizyka.umk.pl Port: 8080 Należy pamiętać, że przeglądarka do prawidłowej obsługi proxy wymaga nawiązanego połączenia OpenVPN. W przypadku wprowadzenia w/w ustawień i braku włączonego OpenVPN podczas próby przeglądania stron WWW, przeglądarka nie będzie pracować poprawnie. 6. Dostęp do sieci radiowej IFKIS znajdującej się w budynku IF. 1.2.2 Studenci 1. Dostęp do sieci radiowej IFKIS znajdującej się w budynku IF. 2. Dostęp do wybranych serwerów IF z sieci Eduroam. 3
2 Uzyskiwaniecertyfikatu 2.1 Pracownicy i goście Należy skontaktować się z p. Pawłem Binnebeselem poprzez e-mail(bip@fizyka.umk.pl) lub telefonicznie(0-56 611 3265). 2.2 Studenci W celu otrzymania certyfikatu umożliwiającego korzystanie z usługi należy złożyć w Dziekanacie WFAiIS wypełniony wniosek o dostęp do sieci radiowej. Można go pobrać ze strony: http://www.fizyka.umk.pl/ftp/openvpn/wniosek.pdf W przeciągu 7 dni od dnia złożenia wniosku(a następnego dnia od momentu zarejestrowania użytkownika) w katalogu domowym użytkownika(na serwerze ferm/uran/nobel/ameryk) zostanie automatycznie utworzony katalog openvpn, w którym będą znajdować się wymagane do instalacji pliki. Jeżeliwprzeciagu7dnicertyfikatniepojawisięww/wkatalogunależyzgłosićtenfaktpisząc pod adres operator@fizyka.umk.pl 3 Instalacja klienta OpenVPN 3.1 System Windows 2000/XP Przed instalacją należy upewnić się, że posiada się prawa administratora na lokalnym komputerze. Poniższa instrukcja została przygotowywana w oparciu o anglojęzyczny system Windows XP stąd możliwe są niewielkie różnice pomiędzy polską wersją tego systemu wynikające z tłumaczenia. 3.1.1 Instalacja Należy pobrać i uruchomić program instalacyjny dostępny pod adresem: http://openvpn.net/release/openvpn-2.0.9-install.exe oficjalny sterownik OpenVPN(działatylkozWindowsXP) http://openvpn.net/release/openvpn-2.1 rc19-install.exe nieoficjalny sterownik OpenVPN (działa z Windows Vista) 4
Po zaakceptowaniu umowy licencyjnej pojawi się okno z wyborem instalowanych opcji: Domyślnie zaznaczone opcje powinny wyglądać następująco: Należy sprawdzić, czy lista opcji wygląda jak na obrazku powyżej i kliknąć przycisk Next. Zalecane jest pozostawienie domyślnego katalogu instalacji: 5
W systemie WinXP, w trakcje instalacji zostanie wyświetlone okno informujące, że instalowane wirtualne urządzenie nie przeszło testów zgodności z Microsoft Windows Logo. Należy zignorować komunikat, nakazując systemowi kontynuację instalacji(przycisk oznaczony na czerwono): Instalacja została zakończona. Jeżeli instalacja odbywa się na Windows 2000 po zakończeniu instalacji należy wykonać restart systemu. Po instalacji w dolnym pasku zadań powinna pojawić się nowa ikona: 6
3.1.2 Instalacjacertyfikatu Należy rozpakować pliki z otrzymanego od administratora archiwum windows.zip. Jeżeli instalacja została przeprowadzona do katalogu c:\program Files\OpenVPN pliki te należy rozpakować do c:\program Files\OpenVPN\config. Katalog ten można otworzyć klikając: następnie należy przeciągnąć do tego okna wszystkie pliki znajdujące się w archiwum windows.zip. Efekt końcowy powinien wyglądać następująco(z dokładnością do nazw niektórych plików): 3.1.3 Uruchamianie Należy kliknąć prawym klawiszem myszy na ikonę OpenVPN GIU znajdującą się w pasku zadań przy zegarze. Następnie, należy wybrać opcję Connect, aby uruchomić połączenie. 7
Po kliknięciu Connect ikona zmieni kolor z czerwonego na żółty oraz pojawi sie konsola informująca o obecnym stadium łączenia. W przypadku pojawienia sie błędów, zostaną one wyświetlone na tej konsoli. Konsole można ukryć, klikając w przycisk Hide. Po zakończeniu procesu nawiązywania połączenia, w pasku zadań pojawi się dymek informujący o uzyskaniu połączenia oraz ikona zmieni kolor na zielony. Aby rozłączyć połączenie, należy prawym klawiszem myszy kliknąć na zieloną ikonę w pasku zadań, następnie wybrać opcję Disconnect. Uwaga Studenci! Po uruchomieniu OpenVPN zapyta o login i hasło na serwerze wydziałowym. 8
3.2 SystemLinux 1. Minimalne wymagania systemowe: architektura x86: procesor Intel/AMD 166MHz, 32 MB RAM architektura Sun Sparc: procesor SuperSparc 50, 32MB RAM 2. Wymagane oprogramowanie OpenSSL LZO A real-time data compression library OpenVPNclient. 3. Instalacja oprogramowania: OpenSSL Większość aktualnie wydawanych dystrybucji posiada dołączony pakiet OpenSSL (aby to sprawdzić, w systemach opartych na rpm ach należy wydać polecenie: rpm-qa grep-i ssl). Wymagana jest obecność pakietów openssl i openssl-devel. Jeżeli nie są one zainstalowane, zaleca się instalację pakietów dostarczonych przez producenta dystrybucji niż instalowanie ze źródeł. LZO SystemSuSELinux10.1lubnowszy Pakiet LZO można zainstalować korzystając z wygodnego graficznego narzędzia jakimjestyast2.wtymcelunależysięzalogowaćnakonto root iuruchomić program YaST2. Następnie należy kliknąć ikonę Zarządzanie oprogramowaniem, wpisać nazwę lzo w polu wyszukiwarki, zaznaczyć pakiet o tej nazwie w wyświetlonej liście i zatwierdzić instalację. Pozostałe systemy oparte na RPM(Fedora, RedHat, itp.) Należy udać się na stronę: http://rpm.pbone.net kliknąć przycisk Advanced RPM Search i wybrać system operacyjny, dla którego ma zostać przeprowadzone wyszukiwanie. W polu wyszukiwarki należy wpisać lzo2. Po zakończeniu wyszukiwania zostanie wyświetlona lista linków do danego pakietu. Zaleca się wybranie najnowszego. Można też spróbować znaleźć ten pakiet tutaj: http://dag.wieers.com/packages/lzo2/ lub poprzez wyszukiwarkę rpmfind: http://www.rpmfind.net/linux/rpm2html/search.php?query=lzo Wymagane jest użycie pakietu w wersji 2.02 lub nowszej. Systemy nie używające RPM(Slackware, Ubuntu, Debian itp) Jeżeli pakiet nie jest dostarczany wraz z dystrybucją wymagana będzie ręczną kompilacja. Instrukcja kompilacji znajduje sie w Dodatku 1. OpenVPN SystemSuSELinux10.1lubnowszy Podobnie jak w przypadku LZO instalacja pakietu OpenVPN odbywa się poprzez YaST2. W polu wyszukiwania pakietów(okno Zarządzanie oprogramowaniem ) należy wpisać openvpn, wybrać pakiet o takiej nazwie z listy znajdującej sie po prawej stronie okna i zatwierdzić instalację. 9
Pozostałe systemy oparte na RPM(Fedora, RedHat, itp.) Podobnie jak w przypadku pakietu LZO, należy udać się na stronę: http://rpm.pbone.net w celu znalezienia pakietu o nazwie openvpn dla wybranego systemu operacyjnego. Można też spróbować znaleźć ten pakiet tutaj: http://dag.wieers.com/packages/openvpn/ lub poprzez wyszukiwarkę rpmfind: http://www.rpmfind.net/linux/rpm2html/search.php?query=openvpn Wymagana jest wersja 2.0.5 lub nowsza z serii 2.0. Nie należy instalować OpenVPN w wersji 2.1.XX ponieważ nie został on jeszcze przetestowany pod kątem kompatybilności z istniejącą strukturą sieci WFAiIS. Systemy nie używające RPM(Slackware, Ubuntu, Debian itp) Jeżeli pakiet nie jest dostarczany wraz z dystrybucją wymagana będzie ręczną kompilacja. Instrukcja kompilacji znajduje sie w Dodatku 1. 3.2.1 Instalacjacertyfikatu Należy utworzyć katalog/etc/openvpn i rozpakować tam zawartość pliku dostarczonego przez administratora: root@host# mkdir-p/etc/openvpn root@host# chmod 700/etc/openvpn root@host# cd/etc/openvpn root@host# unzip linux.zip 3.2.2 Uruchamianie klienta OpenVPN WAŻNE: Przed pierwszym uruchomieniem OpenVPN, aby wykluczyć problem filtrowania ruchu, należy wyłączyć firewall wydając polecenia: root@host# iptables-f root@host# iptables-t nat-f root@host# iptables-p INPUT ACCEPT root@host# iptables-p OUTPUT ACCEPT root@host# iptables-p FORWARD DROP Aby uruchomić tunel VPN należy wydać polecenie: System SuSE Linux 10.1 i nowsze(tylko pracownicy i goście) root@host# /etc/init.d/openvpn start Pozostałe dystrybucje i certyfikaty studenckie niezależnie od dystrybucji root@host#/etc/openvpn/rc.vpn Pookoło5-20sekundach(zależyodprędkościłącza)tunelpowinienbyćgotowydopracy. Aby to sprawdzić można uruchomić ping a na adres IP 172.20.0.1.(po uruchomieniu program OpenVPN zostaje przeniesiony w tło). Należy pamiętać o odpowiednim ustawieniu zapory sieciowej(firewall) aby połączenia OpenVPN nie były blokowane. 10
3.2.3 Automatyczne uruchamianie przy starcie systemu Opcja ta nie jest dostępna dla studenckich certyfikatów! SuSE Linux 10.1 i nowsze Należy uruchomić YaST2 jako superużytkownik root. Następnie z zakładki po lewej stronie wybrać System i kliknąć na ikonę Usługi systemowe. Pojawi się nowe okno z listą pakietów. Należy znaleźć pakiet openvpn po czym kliknąć na przycisk Włącz a następnie Zakończ. Pozostałedystrybucje Jeżeli wszystko działa poprawnie, zalecane jest dopisanie skryptu startowego do plików uruchamianych wraz z systemem. Dla wielu dystrybucji(redhat/ Fedora Core, Slackware) można to zrobić, umieszczając następującą linie na końcu pliku/etc/rc.d/rc.local: #OpenVPN- start. /etc/openvpn/rc.vpn 3.3 Pozostałesystemy Wg dokumentacji, możliwa jest współpraca oprogramowania OpenVPN z systemem Sun Solaris, *BSDorazMacOSXjednakniezostałotosprawdzone. Brak możliwości uruchomienia na platformach MS Windows 3.11/9x/ME. 4 Dostęp do sieci radiowej IFKIS przy użyciu OpenVPN Aby uzyskać dostęp do sieci Internet poprzez siec radiową IFKIS należy: systemwindows spośród dostępnych sieci radiowych wybrać sieć IFKIS uruchomić klienta systemu OpenVPN systemlinux spośród dostępnych sieci radiowych wybrać sieć IFKIS(iwconfig wlan0 essid IFKIS) uzyskać adres IP z serwera DHCP(/sbin/dhclient wlan0) uruchomić połączenie w systemie OpenVPN(/etc/openvpn/rc.vpn) 5 Wskazówki dot. konfiguracji zapory sieciowej(firewall) Do poprawnej pracy systemu OpenVPN wymagana jest: możliwość połączeń w obydwie strony do/z 158.75.63.1:1194(UDP) możliwość połączeń z portów powyżej 1024 lokalnego komputera na porty powyżej 1024 adresu IP 158.75.63.1 akceptacja całego ruchu ICMP do/z IP: 158.75.63.1 oraz 172.20.0.1 możliwość połączeń do hostów w sieci LAN WFAiIS lub do innych komputerów w sieci OpenVPN(w zależności od potrzeb użytkownika). 11
6 Zgłaszanie problemów i usterek Przed kontaktem z administratorem należy przygotować następujące rzeczy: 1. System Windows 2000/XP informacje pojawiające się przy ręcznym starcie OpenVPN wynik działania polecenia: route PRINT 2. System Linux informacje pojawiające się przy starcie OpenVPN zapisywane do pliku z logami systemowymi. Można je przesłać jako załączony plik, będący wynikiem działania polecenia: root@host# cat/var/log/messages $ $grep openvpn >/tmp/openvpn.log wynik działania poleceń(wydanych po uruchomieniu OpenVPN): root@host# ps aux root@host# route root@host# ifconfig-a root@host# lsmod root@host# uname-a root@host# iptables-v-l 12
7 Dodatek 1(dla zaawansowanych użytkowników) Poniższy opis dotyczy tylko osób chcących samodzielnie skompilować oprogramowanie OpenVPN ze źródeł(np. na platformę Unix). 7.1 Kompilacja oprogramowania OpenVPN 1. Wymagania dot. jądra: Jądrozserii2.2 Wymagana jest dodatkowa instalacja modułu TUN/TAP. Można go pobrać z adresu: http://www.fizyka.umk.pl/ftp/openvpn/linux/kernel-2.2 Jądrozserii2.4/2.6 Jeżeli używane jest jądro dostarczone wraz z dystrybucją, nie jest wymagane dokonywaniejakichkolwiekzmian 1.Wprzypadkujądrakompilowanegosamodzielnie wymagane jest włączenie obsługi modułu TUN/TAP, poprzez zaznaczenie poniższej linii w dziale Networking support <M> Universal TUN/TAP device driver support 2. Instalacja wymaganego oprogramowania(w zalecanej kolejności) OpenSSL Większość aktualnie wydawanych dystrybucji posiada dołączony pakiet OpenSSL (aby to sprawdzić, w systemach opartych na rpm ach należy wydać polecenie: rpm -qa grep ssl). Wymagana jest obecność pakietów openssl i openssl-devel. Jeżeli nie są one zainstalowane, zaleca się instalację pakietów dostarczonych przez producenta dystrybucji niż instalowanie ze źródeł. Jeśli, z jakiś powodów, własna kompilacja pakietu jest konieczna i została wykonana z domyślnymi ustawieniami dot. katalogów, po skompilowaniu należy przekopiować wszystkie pliki i katalogi z /usr/local/ssl/include do/usr/include oraz z/usr/local/ssl/lib do/usr/lib. LZO Dla wielu dystrybucji, pakiet ten jest dostępny w postaci rpm ów. Wymagana wersja min. 1.0.7. Można je znaleźć pod adresami: http://dag.wieers.com/packages/lzo/ lub: http://www.rpmfind.net/linux/rpm2html/search.php?query=lzo Dla innych dystrybucji należy wykonać instalację ze źródeł. Po pobraniu pliku lzo-1.08.tar.gz(z adresu podanego w pkt 1) należy go rozpakować, skonfigurować i skompilować: root@host# tar-zpvxf lzo-1.08.tar.gz root@host# cd lzo-1.08 root@host#./configure--prefix=/usr root@host# make root@host# make install OpenVPN Po pobraniu pliku openvpn-2.0.x.tar.gz(gdzie X oznacza kolejny numer wersji) należy go rozpakować i skonfigurować: root@host# tar-zpvxf openvpn-2.0.x.tar.gz root@host# cd openvpn-2.0.x root@host#./configure--prefix=/usr 1 dot.dystrybucji:redhatod8.0iwszystkichpochodnychodniej[aurox,fedora,knoppix,pld],slackware od 8.0; SuSE od 8.0. Brak danych odnośnie innych. 13
Podczas działania skryptu konfiguracyjnego, ważne jest aby zwrócić uwagę na poprawność skonfigurowania pakietu do współpracy z OpenSSL oraz LZO. W przypadku wystąpienia komunikatu o braku SSL: checking for EVP_CIPHER_CTX_init in-lcrypto... no configure: error: OpenSSL Crypto library not found. należy sprawdzić czy została prawidłowo przeprowadzona instalacja OpenSSL i czy biblioteki SSL znajdują się we właściwych katalogach. Jeżeli konfigurator nie zgłosił żadnego krytycznego błędu należy skompilować i zainstalować pakiet: root@host# make root@host# make install root@host# echo alias char-major-10-200 tun >>/etc/modules.conf Następnie utworzyć katalog/etc/openvpn i rozpakować tam zawartość pliku dostarczonego przez administratora: root@host# mkdir/etc/openvpn root@host# chmod 700/etc/openvpn root@host# cd/etc/openvpn root@host# tar-zpvxf XXXXX-linux.tar.gz Następnie należy sprawdzić, czy istnieje plik/dev/net/tun. Jeżeli istnieje, powinno pojawić się coś podobnego do: root@host# ls-l/dev/net/tun crw-r--r-- 1 root root 10, 200 mar 30 16:30/dev/net/tun Jeżeli nie ma katalogu/dev/net lub nie ma pliku/dev/net/tun należy wydać następujące polecenia: root@host# mkdir-p/dev/net root@host# mknod/dev/net/tun c 10 200 14