-
OpenVPN 2.0 w CentOS krok po kroku
Jakiś czas temu pisałem na temat tworzenia prostego VPN-a na podstawie OpenVPN 1.0, który jest czasem przydatny, choć mało elastyczny. Wersja 2.0, którą dzisiaj omówię jest dużo bardziej funkcjonalna i godna uwagi. Umożliwia ona autentyfikację przy użyciu kluczy wydawanych i odwoływanych przez administratora. Przedstawię dokładną instrukcję konfiguracji serwera obsługującego OpenVPN. Na początek instalujemy co trzeba, czyli openssl, openssl-devel i openvpn. Dla ostatniego pakietu wymagana jest obecność w systemie repozytorium „rpmforge” lub „epel”.
yum install openssl openssl-devel openvpn
w przypadku repozytorium „rpmforge”
cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0 /etc/openvpn/skrypty
w przypadku repozytorium „epel”
cp -R /usr/share/openvpn/easy-rsa/2.0 /etc/openvpn/skrypty
mkdir /etc/openvpn/klucze
cd /etc/openvpn/skrypty
vim vars
Edytujemy następujące dane:
export KEY_DIR=”/etc/openvpn/klucze”
export KEY_COUNTRY=”Polska”
export KEY_PROVINCE=”lodzkie”
export KEY_CITY=”Lodz”
export KEY_ORG=”Nazwa_Firmy”
export KEY_EMAIL=”adres@email”
Możemy, choć nie musimy zmienić ważność certyfikatu (CA) przy pomocy edycji parametru „export CA_EXPIRE=n” oraz klucza „export KEY_EXPIRE=n”, gdzie „n” oznacza liczbę dni.chmod 755 *
. ./vars
./clean-all
./build-ca
./build-dh
./build-key-server nazwa_klucza_serwera
./build-key nazwa_klucza_klienta
w przypadku repozytorium „rpmforge”
cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn
w przypadku repozytorium „epel”
cp /usr/share/doc/openvpn-2.1.1/sample-config-files/server.conf /etc/openvpn
Przystępujemy do edycji pliku, który powinien zawierać następujące linie:
ca klucze/ca.crt
ścieżka do pliku certyfikatu „Centrum Autoryzacyjnego”
cert klucze/nazwa_klucza_serwera.crt
ścieżka do pliku certyfikatu serwera
key klucze/nazwa_klucza_serwera.key
ścieżka do pliku klucza serwera
dh klucze/dh1024.pem
ścieżka do pliku „Diffie Hellmana”
server 10.8.0.0 255.255.255.0
konfiguracja sieci dla OpenVPN, serwer będzie miał w tym przypadku adres 10.8.0.1
ifconfig-pool-persist ipp.txt
położenie pliku zawierającego adresy IP i nazwy używanych kluczy (certyfikatów)
Czas na konfigurację komputerów klientów działających pod kontrolą systemu Linux.w przypadku repozytorium „rpmforge”
cp /usr/share/doc/openvpn-2.0.9/sample-config-files/client.conf /etc/openvpn
w przypadku repozytorium „epel”
cp /usr/share/doc/openvpn-2.1.1/sample-config-files/client.conf /etc/openvpn
Musimy dokonać pewnych modyfikacji w pliku „client.conf”. Zmieniamy następujące wpisy:
;dev tap
dev tun # ten parametr ustawiamy dokładnie tak, jak na serwerze, komentujemy wpis przy pomocy średnika
;proto tcp
proto udp # wybieramy protokół transmisji taki sam, jak na serwerze, komentujemy wpis przy pomocy średnika
remote adres_IP_serwera numer_portu
ca ca.crt #nazwa pliku certyfikatu serwera
cert klucz1.crt #nazwa pliku certyfikatu klienta
key klucz1.key #nazwa pliku klucza klienta
Jeśli powyższe pliku nie znajdują się w katalogu głównym OpenVPN, tj. „/etc/openvpn”, to podajemy ścieżkę. Następnie należy uruchomić usługę openvpn na serwerze i kliencie.
/etc/init.d/openvpn start
lub
service openvpn start
To chyba wszystko co potrzeba, aby skorzystać z dobrodziejstw OpenVPN 2.0. W jednym z kolejnych tutoriali przybliżę trochę zaawansowanych funkcji jakie daje opisywane rozwiązanie. W razie problemów proszę pisać w komentarzach lub na forum. Good Luck 🙂
Należy dodać repozytorium YUM-a z RPM Forge poprzez zainstalowanie pakietów RPM:
http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
i zaimportowanie klucza PGP
# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Wtedy ostatecznie zainstalować YUM-em pakiet openvpn
# yum install –y openvpn
w ten sposób połączymy się z serwerem i dalej … nic
Witam,
czy to zadziała w „intruxie” na CentOs 6.x ?