Konfiguracja klienta OpenVPN – pfSense

 

Przedstawiona konfiguracja routera pfSense została przedstawiona na wersji 2.2.6 (i386)

Konfiguracja klienta OpenVPN na routerzez pfSense podzielona jest na 5 kategorii:

 

1. Import certyfikatu CA VPNonline

2. Konfiguracja uwierzytelnienia za pomocą login i hasło

3. Konfiguracja klienta OpenVPN

4. Konfiguracja Routingu

5. Przepuszczenie wybranych hostów przez tunel VPN

 

 

1. Import certyfikatu CA VPNonline

 

schemat

 

Aby dodać nowy certyfikat do konfiguracji routera przechodzimy do zakładki „System” (1) i następnie „Cert Manager” (2)

 

schemat

 

Klikamy zakładkę „CAs” (3) dodajemy nowy certyfikat (4)

 

schemat

 

Certyfikat CA dostępny jest w każdym pliku konfiguracyjnym VPNonline. Pliki możemy pobrać z http://www.vpnonline.pl/pliki

Otwieramy dowolny plik konfiguracyjny .ovpn w dowolnym edytorze i kopiujemy certyfikat CA lub kopiujemy poniższy kod:

 

-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw
MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj
kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL
dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs
MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA
cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn
kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het
ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C
AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE
VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw
b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu
Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6
Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X
yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0
XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS
xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG
l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV
odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm
MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ
Uw==
-----END CERTIFICATE-----

 

Nadajemy certyfikatowi dowolną nazwę np. „CA VPNonline” (5) i wklejamy skopiowany certyfikat w pole „Certificate data” (6), zapisujemy zmiany „Save” (7).

 

schemat

 

Certyfikat został dodany (8)

 

schemat

 

 

2. Konfiguracja uwierzytelnienia za pomocą login i hasło

 

Przechodzimy do zakładki „Diagnostics” (1) i następnie „Edit File” (2)

 

schemat

 

Klient OpenVPN będzie autoryzował się z pliku tekstowego w ,którym umieścimy nasz login i hasło.

W tym przykładzie plik będzie znajdował się w katalogu „/conf” i nazywał się: „vpnonlineuser.conf”.

Klikamy na przycisk „Browse (3)” i wybieramy katalog „/conf” (4)

 

schemat

 

Następnie w polu: „Save / Load from path:” wpisujemy ścieżkę: „/cf/conf/vpnonlineuser.conf” (5)

klikamy „Save” (6) i odświeżamy widok przyciskiem „Browse” (7)

 

schemat

 

W katalogu „/conf” został utworzony plik „vpnonlineuser.conf” (8), który teraz będziemy edytować.

 

schemat

 

Klikamy dwa razy na plik „vpnonlineuser.conf” i po otwarciu wpisujemy:

 

(9) nazwę użytkownika VPNonline w pierwszej linijce

(10) hasło VPNonline w drugiej linijce

 

Zapisujemy zmiany klikając „Save” (11) i odświeżamy widok za pomocą przycisku „Browse” (12)

 

schemat

 

 

3. Konfiguracja klienta OpenVPN

 

 

Klikamy w menu „VPN” (1) i następnie zakładkę „OpenVPN” (2)

 

schemat

 

Przechodzimy do zakładki „Client” (3) i dodajemy nową konfigurację klienta OpenVPN (4)

 

schemat

 

W konfiguracji klienta OpenVPN wybieramy następujące opcje:

 

(5) Server Mode – Peer to Peer (SSL/TLS)

(6) Protocol – TCP

(7) Device mode – TUN

(8) Server host or address – Nazwa serwera VPNonline

Listę dostępnych serwerów VPN znajdziesz w panelu klienta: www.portal.vpnonline.pl

 

(9) Server port – 993 lub 443 (w zależności od wyboru serwera VPN)

(10) Description – Dowolna nazwa np. VPNonline OpenVPN

(11) TLS Authentication – odznaczamy

(12) Peer Certificate Authority – wybieramy wcześniej dodany certyfikat „CA VPNonline”

(13) Client Certificate – webConfiguration default

(14) Advanced – wklejamy poniższe komendy:

 

verb 5;
tls-client;script-security 2 system;
remote-cert-tls server;
auth-user-pass /conf/vpnonlineuser.conf;
redirect-gateway def1;

 

Po wprowadzeniu wszystkich wymaganych danych zapisujemy zmiany „Save” (15)

 

schemat

 

Nowa konfiguracja klienta OpenVPN została dodana (16)

Jeżeli wszystkie dane zostały poprawnie wprowadzone, klient OpenVPN powinien zestawić połączenie z naszym serwerem VPN
(zestawienie połączenia trwa około 10 sek)

Aby sprawdzić status połączenia klienta OpenVPN, w menu wybieramy „Status” (17) i zakładkę „OpenVPN” (18)

 

schemat

 

Jeżeli status połaczenia jest „UP” (19), OpenVPN client poprawnie połączył się do serwera VPN.

Jeżeli w polu status mamy informację „DOWN” lub „tls error” zatrzymaj i uruchom usługę OpenVPN (20)

Jeżeli błąd nadal występuje, sprawdź ustawienia klienta OpenVPN, wprowadzony login i hasło oraz poprawność certyfikatu „CA VPNonline”

 

schemat

 

 

4. Konfiguracja Routingu

 

Musimy jeszcze skonfigurować routing w pfSense, żeby cały ruch był kierowana poprzez tunel VPN.

 

Tworzymy nowy interface i przypisujemy do niego „Network port” naszego połączenia VPN.

W menu wybieramy „Interfaces” (1) i zakładkę „assigne” (2)

 

schemat

 

Wybieramy zakładkę „Interface assignments” (3) i z rozwijanej listy „Available network ports:” wybieramy port
z nazwą naszego połączenia VPN, (w moim przypadku był to „ovpnc1”) „VPNonline OpenVPN” (4)

Dodajemy nowy interface (5)

 

schemat

 

Nowy interface zostaje dodany z automatycznie wybraną nazwą „OPT1” (6), klikamy na nazwę interface’u, żeby dostać się jego opcji konfiguracyjnych

 

schemat

 

Zaznaczamy „Enable Interface” (7) i nadajemy inteface’owi dowolną nazwę np. „VPNonline” (8)

Zapisujemy ustawienia „Save” (9) i akceptujemy wprowadzone zmiany do konfiguracji pfSense (10)

 

schemat

 

Następnie, z menu wybieramy „System” (11) i zakładkę „Routing” (12)

 

schemat

 

Wybieramy zakładkę „Gateways” (13) i tworzymy nową bramę (gateway) (14), przez którą będzie kierowany ruch VPN

 

schemat

 

Wypełniamy poniższe pola:

 

(15) Interface – wybieramy wcześniej utworzony interface „VPNONLINE”

(16) Name – wpisujemy dowolną nazwę np. „VPNonline Gateway”

(17) Description – wpisujemy dowolny opis np. Interface VPNonline Gateway”

 

Po wprowadzeniu wszystkich danych zapisujemy konfigurację „Save” (18)

 

schemat

 

Akceptujemy wprowadzone zmiany w konfiguracji pfSense (19)

 

schemat

 

Pora na ustawienie routingu dla połączenia VPN.

Z menu wybieramy „Firewall” (20) i zakładkę „Rules” (21)

 

schemat

 

Wybieramy zakładkę „LAN” (22)

Jeśli cały ruch ma przechodzić przez tunel, to zmieniamy domyślny gateway (23) na nasz powiązany z VPNonline edytujac konfigurację bramy (24)

Jeśli mamy jeżeli mamy konfigurowane vlany, to wybieramy odpowiedni vlan.

 

schemat

 

Edytujemy konfigurację reguły, która kieruje ruch do Internetu i w polu „Gateway” (25) wybieramy z rozwijanej listy wcześniej utworzoną bramę „VPNonline – Gateway”

Zapisujemy zmiany „Save” (26)

 

schemat

 

Po zapisaniu zmian nasza domyślna reguła ma zdefiniowaną nową bramę (27)

Akceptujemy wprowadzone zmiany w konfiguracji pfSense (28)

 

schemat

 

 

5. Przepuszczenie wybranych hostów przez tunel VPN

 

 

PfSense daje nam pod tym względem dużo możliwości, możemy wysłać przez VPN np. cały ruch z wybranych urządzeń w naszej sieci LAN lub ruch do określonych serwerów internetowych (policy based routing).

Przedstawiamy tylko przykład konfiguracji, ale możliwości jest wiele 🙂

 

Z menu wybieramy „Firewall” i zakładkę „Rules”, następnie zakładkę „LAN” (1)

Tworzymy nową reguła (2)

 

schemat

 

Nowa reguła ma za zadanie przepuścić TYLKO ruch z naszego telewizora (przykładowy adres naszego TV: 192.168.1.20) przez tunel VPN. Każdy inny ruch będzie domyślnie wychodził do Internetu przez nasze lokalne łacze.

 

W polu „Source” (3) z rozwijanej listy „Type” (4) wybieramy „Single host or alias”

Następnie w polu „Address” wpisujemy adres IP naszego telewizora (w przykładzie użyliśmy adresu IP: 192.168.1.20)

W polu „Description” wpisujemy dowolny opis np. TV via VPN

Zapisujemy zmiany „Save” (6)

 

schemat

 

W tym przykładzie konfiguracji, utworzyłem trzy wpisy dla trzech urządzeń:

(7) PC (192.168.1.50)

(8) Xbox (192.168.1.34)

(9) TV (192.168.1.20)

TYLKO w/w urządzenia będą wychodzić do Internetu przez tunel VPN.

Cały pozostały ruch będzie wychodził do Internetu przez lokalne łącze.

 

Akceptujemy zmiany wprowadzone do konfiguracji pfSense (10)

 

schemat

 

UWAGA !!! W/w reguły muszą znaleść się powyżej domyślnej reguły, która kieruje ruch do Internetu przez domyślna bramę

 

Jeżeli będziesz miał jakikolwiek problem z konfiguracją połączenia, napisz do nas: support@vpnonline.pl

 

Możliwość komentowania jest wyłączona.