Często korzystamy z internetu w różnych miejscach, które nie do końca udostępniają nam bezpieczne i nie podsłuchiwane łącze, jeśli przeglądamy internet czy czytamy portale informacyjne, nic się nie stanie jeśli ktoś to podsłucha, jednak w momencie w którym musimy skorzystać z poczty, firmowych programów, czy po prostu chcemy mieć większą pewność że nikt nie monitoruje tego co robimy należy skorzystać z VPN. Jak na szybko skorzystać z w miarę bezpiecznego połączenia przy pomocy SSH opisałem już jakiś czas temu w artykule o tunelowaniu połączeń przez SSH. Dzisiaj zajmę się bardziej profesjonalnym zganieniem, czyli stworzeniem własnego serwera VPN przez który będziemy się łączyć korzystając z internetu.

VPN jest to z ang. Virtual Private Network, czyli Wirtualna Prywatna Sieć, jest to tunel przez który komunikują się urządzenia ze sobą tworząc wirtualną sieć. Bardziej szczegółową definicję znajdziesz na Wikipedii.

Na samym początku musimy posiadać własny serwer, w zasadzie wystarczy nam tani VPS np. od Hekko. Ja tym razem posłużę się jednak bardzo budżetowym serwerem VPS kupionym w WeLoveServers, na serwerze jest zainstalowany Debian, dlatego opis instalacji i konfiguracji VPN będzie dla tego systemu.

Na samym początku sprawdzamy czy mamy pobrane najnowsze aktualizacje, wykonujemy to oczywiście przy pomocy.

apt-get update
apt-get upgrade

Następnie instalujemy

apt-get install pptpd

po chwili musimy przystąpić do podstawowej konfiguracji. Konfigurację zaczniemy od włączenie przekazywania pakietów IP. W tym celu musimy edytować plik sysctl.conf który znajduje się w /etc/sysctl.conf. Do edycji będę używał edytora VIM.

vim /etc/sysctl.conf

odnajdujemy linijkę

#net.ipv4.ip_forward=1

i kasujemy znak #, jeśli zamiast 1 masz zero, musisz zmienić na 1. Następnie musimy potwierdzić zmiany poleceniem

sysctl -p

Kiedy mamy już to zrobione przejdziemy do właściwej konfiguracji VPN.

Na początek edytujemy plik pptpd.conf

vim /etc/pptpd.conf

teraz odszukujemy linijki

#localip 
#remoteip

usuwamy # i dopisujemy to co poniżej. Jeśli masz tam jakieś adresy to je skasuj i wpisz to co poniżej.

localip 10.0.0.1 
remoteip 10.0.0.100-200

pierwsze jest to adres IP po stronie serwera. Druga linijka zawiera przedział adresów które będą przydzielane. Jeśli chcesz utworzyć tylko jedno konto które będzie mogło korzystać z VPN możesz wpisać np. 10.0.0.100, ja myśląc przyszłościowo zarezerwowałem adresy od 10.0.0.100 do 10.0.0.200.

Przyszła kolej na ustawienie własnych serwerów DNS, ja posłużę się co prawda DNS od Google, Ty możesz użyć dowolnych.

Edytujemy plik pptpd-option

vim /etc/ppp/pptpd-option

odszukujemy

#ms-dns

i modyfikujemy wpis tak jak poniżej

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Następnie zajmiemy się dodaniem użytkowników naszego VPNa. Edytujemy plik /etc/ppp/chap-secrets i dopisujemy użytkowników

vim /etc/ppp/chap-secrets

Tak wygląda domyślnie zawartość pliku

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses

naszym zadaniem jest dopisać loginy i hasła, przykładowo

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
testowy_login * tajne_haslo *

bardzo ważne jest żeby po loginie zrobić [tab] a nie spacje, gwiazdki są ważne, pierwszą co prawda możemy zastąpić pptp, drugą adresem jaki chcemy przypisać temu użytkownikowi, z puli jaką zdefiniowaliśmy wcześniej. Jeśli chcemy mieć dwóch lub więcej użytkowników po prostu na końcu naciskamy enter i pod spodem dopisujemy drugiego użytkownika.

Teraz wykonujemy restart serwer PPTPD przy pomocy

/etc/init.d/pptpd restart

Niezbędne jest dodanie reguł do firewalla, ponieważ bez tego po prostu nic będzie możliwości zalogowania się i korzystania z naszego VPNu. Polecenia wpisujemy po kolei i zatwierdzamy enterem, linijka po linijce. Zanim jednak to zrobimy musimy sprawdzić jak jest określona nasza karta sieciowa, czy jest to eth0, czy tak jak u mnie venet0.
Aby to zrobić wypisujemy polecenie

ifconfig

ifconfigjeśli tak jak u mnie jest to venet0 to wpisz

iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT

w trzeciej linijce podajesz IP po stronie serwera, jeśli masz tak jak ja to nic nie zmieniaj, jeśli lubisz eksperymentować to uczulam na ten adres.

 

To już koniec instalacji i konfiguracji VPN :). Teraz zostaje się połączyć. Poniżej opiszę jak tego dokonać w Windowsie 7.

Wchodzimy kolejno w Panel sterowania -> Centrum sieci i udostępniania, odszukujemy opcję Skonfiguruj nowe połączenie lub nową sieć, w kolejny kroku wybieramy Połącz z miejscem pracy

z miejscem pracyklikamy dalej, następnie wybieramy tworzenie nowego połączenia (nie przejmuj się jeśli Ci to nie wyskoczy), kolejny krok jest oczywisty, czyli Użyj mojego połączenia internetowego (VPN), jako adres internetowy podajemy adres IP naszego VPS, nazwa jest dowolna, na następnej karcie podajemy nazwę użytkownika w tym przypadku testowy_login i jako hasło tajne_haslo, po kliknięciu na połącz, po chwili powinniśmy nawiązać połączenie i korzystać już z VPN.

Podziel się artkułem!