Konfiguracja OpenVPN w Ubuntu LTS 12.04.

Instalacja OpenVPN umożliwi nam zestawianie szyfrowanego połączenia miedzy hostami.
Aby zainstalować openvpn w oknie konsoli wprowadź:

Teraz, kiedy openvpn jest już zainstalowany musimy utworzyć certyfikaty dla serwera VPN (generowanie certyfikatów w Ubuntu 12.04).
Najpierw skopiuj katalog easy-rsa do katalogu /etc/openvpn. Musimy również zmienić właściciela katalogu abyśmy mieli odpowiednie prawa.

Następnie przeprowadź edycje pliku /etc/openvpn/easy-rsa/vars dopasowując poniższe zmienne do twojego środowiska:

Wykonaj poniższe polecenia aby wygenerować certyfikaty dla serwera:

Klient OpenVPN w celu autoryzacji również potrzebuje swojego certyfikatu, aby zachować porządek podaj nazwę hosta, który będzie korzystał z tego certyfikatu:

Klient podłączający się do naszej wirtualnej sieci musi posiadać następujące pliki (należy przekazać je w bezpieczny sposób):

  • /etc/openvpn/ca.crt
  • /etc/openvpn/easy-rsa/keys/hostname.crt
  • /etc/openvpn/easy-rsa/keys/hostname.key
  • /etc/openvpn/ta.key

KONFIGURACJA SERWERA OpenVPN

W celu konfiguracji tworzymy plik /etc/openvpn/server.conf, wykorzystamy plik z przykładową konfiguracją dołączony do pakietu. W tym przypadku zależy nam na utworzeniu prostego tunelu punkt-punkt do szyfrowania VNC i tym podobnych rzeczy.

Edytujemy powstały plik sudo nano /etc/openvpn/server.conf dostosowując konfigurację do naszych potrzeb.
Najważniejsze opcje do ustawienia:

port 1194 #port nasłuchiwania usługi
proto udp #rodzaj wykorzystanego protokołu
dev tun #tun-tryb pracy jako ruter tap-tryb bridge
ca ca.crt #wskazanie certyfikatu Root CA
cert server.crt #certyfikat serwera
key server.key #tajny klucz serwera
dh dh1024.pem #plik klucza protokołu Diffiego-Hellmana do uzgadniania kluczy
server 192.168.199.0 255.255.255.0 #adres sieci do wykorzystania serwer zajmie pierwszy adres, a więc w naszym przypadku 192.168.199.1
tls-auth ta.key 0#tajny klucz, użycie tej opcji chroni dodatkowo przed atakami typu DoS na port OpenVPN, powoduje odrzucenie błędnych połączeń SSL/TLS zaraz na samym początku.
cipher AES-128-CBC #zmiana standardowego algorytmu szyfrowania z Blowfish na AES (należy zwrócić uwagę aby ustawienie było identyczne na kliencie).
comp-lzo #włączenie kompresji danych
user nobody
group nogroup #obniżenie uprawnień demona openvpn

Po ukończeniu edycji pliku restartujemy demona sudo /etc/init.d/openvpn restart

KONFIGURACJA KLIENTA OpenVPN

Plik z przykładową konfiguracją (client.ovpn) znajduje się w katalogu OpenVPN\sample-config. Należy skopiować go do katalogu config.
Najważniejsze opcje do ustawienia:

client
dev tun
proto udp
remote nasz_serwer.pl 1194
ca ca.crt
cert host.crt
key host.key
tls-auth ta.key 1
cipher AES-128-CBC
comp-lzo

Oczywiści możliwości konfiguracji wirtualnej sieci są znacznie większe, tutaj zostały przedstawione jedynie podstawy jak zestawić prostą sieć punkt-punkt.
Jeśli blokujemy ruch z zewnątrz do naszego serwera musimy dodać wyjątek dla portu 1194.

6 thoughts on “Konfiguracja OpenVPN w Ubuntu LTS 12.04.

  • 13 kwietnia 2013 at 22:54
    Permalink

    witam nie uzywam linux ale zalezy mi aby przenies wygebnerowane certyfikaty na windows
    jest mozliwosc?

  • 4 października 2012 at 08:58
    Permalink

    Witam, mam pytanie, jak skonfigurować OpenVPN do pracy punkt-wielopunkt? Chodzi o to że z zewnątrz chciałbym mieć dostęp do sieci domowej, a nie tylko do serwera.

  • 26 stycznia 2012 at 21:55
    Permalink

    Heh :) do wykonania restartu demona trzeba podnieść uprawnienia zapomniałem dodać, trzeba wywołać przez sudo (sudo /etc/init.d/openvpn restart) zaraz poprawię.

  • 26 stycznia 2012 at 15:50
    Permalink

    po wykonaniu całości mam –
    /etc/init.d/openvpn restart
    * Stopping virtual private network daemon(s)… * No VPN is running.
    * Starting virtual private network daemon(s)… * Autostarting VPN ‚server’ [fail]

  • 3 stycznia 2012 at 16:06
    Permalink

    Chodzi o szczegóły wystawcy certyfikatu, w naszym przypadku możesz wpisać co chcesz jest to jedynie pole informacyjne, które zawiera certyfikat. Nie wysyłamy żądania certyfikacji do zaufanego centrum certyfikacji.

  • 3 stycznia 2012 at 14:36
    Permalink

    Mam pytanie – czemu służy edycja pliku „/etc/openvpn/easy-rsa/vars” ? Czy ona musi być wypełniona tak jak autor pokazał czy wypełniam tak jak mi się podoba – jakiś kraj, jakieś miasto, itd ?

    Pozdrawiam

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*