Instrukcja
instalacji klienta OpenVPN w sieci WFAiIS
UMK w Toruniu
operator@fizyka.umk.pl
20 stycznia 2011
1
Spis treści
1 Informacje ogólne
3
1.1 Idea działania sieci VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2 Usługi realizowane poprzez VPN w sieci IF . . . . . . . . . . . . . . . . . . . . .
3
1.2.1 Pracownicy i goście . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.2 Studenci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Uzyskiwanie certyfikatu
4
2.1 Pracownicy i goście . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2 Studenci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3 Instalacja klienta OpenVPN
4
3.1 System Windows 2000/XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.1.1 Instalacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.1.2 Instalacja certyfikatu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.1.3 Uruchamianie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.2 System Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2.1 Instalacja certyfikatu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 Uruchamianie klienta OpenVPN . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Automatyczne uruchamianie przy starcie systemu . . . . . . . . . . . . . . 10
3.3 Pozostałe systemy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
11
7 Dodatek 1 (dla zaawansowanych użytkowników)
13
7.1 Kompilacja oprogramowania OpenVPN . . . . . . . . . . . . . . . . . . . . . . . 13
2
1
Informacje ogó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 pu-
blicznych (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 pra-
cuje 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 prze-
chodzących przez tunel zapewnia silna kryptografia, dzięki czemu komunikacja poprzez VPN
jest równie bezpieczna, jak transmisja prowadzona po dedykowanych łączach. Innymi słowa-
mi, 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 pocz-
ty 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
Uzyskiwanie certyfikatu
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) zo-
stanie automatycznie utworzony katalog “openvpn”, w którym będą znajdować się wymagane
do instalacji pliki.
Jeżeli w przeciagu 7 dni certyfikat nie pojawi się w w/w katalogu należy zgłosić ten fakt piszą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 kompu-
terze.
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 (w podanej wersji lub
nowszy):
• http://openvpn.net/release/openvpn-2.0.9-install.exe – oficjalny sterownik OpenVPN (dzia-
ła tylko z Windows XP)
• http://openvpn.net/release/openvpn-2.1 rc19-install.exe – nieoficjalny sterownik OpenVPN
(działa z Windows Vista)
4
5
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:
6
W systemie WinXP, w trakcje instalacji zostanie wyświetlone okno informujące, że instalo-
wane 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 czer-
wono):
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:
7
3.1.2
Instalacja certyfikatu
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 “win-
dows.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.
8
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.
9
3.2
System Linux
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
• OpenVPN client.
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
–
System SuSE Linux 10.1 lub nowszy
Pakiet LZO można zainstalować korzystając z wygodnego graficznego narzędzia
jakim jest YaST2. W tym celu należy się zalogować na konto “root” i uruchomić
program YaST2. Następnie należy kliknąć ikonę “Zarządzanie oprogramowa-
niem”, 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 zainstalować pakiet lzo “yum -y lzo”.
–
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 się w Dodatku 1.
• OpenVPN
–
System SuSE Linux 10.1 lub nowszy
Podobnie jak w przypadku LZO instalacja pakietu OpenVPN odbywa się po-
przez YaST2. W polu wyszukiwania pakietów (okno “Zarządzanie oprogramo-
waniem”) należy wpisać “openvpn”, wybrać pakiet o takiej nazwie z listy znaj-
dującej sie po prawej stronie okna i zatwierdzić instalację.
–
Pozostałe systemy oparte na RPM (Fedora, RedHat, itp.)
Należy zainstalować pakiet openvpn (“yum -y openvpn”).
–
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.
10
3.2.1
Instalacja certyfikatu
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 ru-
chu, 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 ACCEPT
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
Po około 5 - 20 sekundach (zależy od prędkości łącza) tunel powinien być gotowy do pracy.
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 Ope-
nVPN nie były blokowane.
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łe dystrybucje
Jeżeli wszystko działa poprawnie, zalecane jest dopisanie skryptu startowego do plików
uruchamianych wraz z systemem. Dla wielu dystrybucji (RedHat / Fedora Core, Slackwa-
re) 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
11
3.3
Pozostałe systemy
Wg dokumentacji, możliwa jest współpraca oprogramowania OpenVPN z systemem Sun Solaris,
*BSD oraz Mac OS X jednak nie zostało to sprawdzone.
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:
• system Windows
–
spośród dostępnych sieci radiowych wybrać sieć IFKIS
–
uruchomić klienta systemu OpenVPN
• system Linux
–
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).
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
12
• 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
13
7
Dodatek 1 (dla zaawansowanych użytkowników)
Poniższy opis dotyczy tylko osób chcących samodzielnie skompilować oprogramowanie Ope-
nVPN ze źródeł (np. na platformę Unix).
7.1
Kompilacja oprogramowania OpenVPN
1. Wymagania dot. jądra:
• Jądro z serii 2.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ądro z serii 2.4 / 2.6
Jeżeli używane jest jądro dostarczone wraz z dystrybucją, nie jest wymagane do-
konywanie jakichkolwiek zmian
1
. W przypadku jądra kompilowanego samodzielnie
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 dystry-
bucji 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) na-
leż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: RedHat od 8.0 i wszystkich pochodnych od niej [Aurox, Fedora, Knoppix, PLD], Slackware
od 8.0; SuSE od 8.0. Brak danych odnośnie innych.
14
Podczas działania skryptu konfiguracyjnego, ważne jest aby zwrócić uwagę na po-
prawność skonfigurowania pakietu do współpracy z OpenSSL oraz LZO. W przypad-
ku 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 za-
instalować 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 dostar-
czonego 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
15