Instalacja i konfiguracja sieci VPN na podstawie PPTP
Ostatnia zmiana: 2019-06-26 18:51
PPTP, cytując Wikipedię, "to protokół komunikacyjny umożliwiający tworzenie wirtualnych sieci prywatnych wykorzystujących technologię tunelowania". Dzięki niemu możemy prostym sposobem utworzyć połączenie VPN między komputerem a serwerem. Sam protokół był (jest) szeroko krytykowany jako mało bezpieczny i nie jest polecany do zastosowań wymagających silnych zabezpieczeń. Jednakże ma jedną dużą zaletę - jest dostępny standardowo prawie na wszystkich platformach, od Windowsa, poprzez Linuksa a na Androidzie skończywszy.
Poniższy poradnik zawiera informacje o konfiguracji serwera PPTP, pozwalającego na obsługę ruchu przychodzącego (VPN).
Instalacja
# opkg update
# opkg install pptpd kmod-mppe
Konfiguracja w wydaniu Barrier Breaker i późniejszych
Dodatkowo warto zainstalować pewne pakiety:
Dla wydania Barrier Breaker:
# opkg install kmod-ipt-nathelper-extra
Dla wydania Chaos Calmer:
# opkg install kmod-nf-nathelper-extra
Dla wydania OpenWrt 18.06 i późniejszych:
# opkg install kmod-nf-nathelper-extra
# echo "net.netfilter.nf_conntrack_helper = 1" >> /etc/sysctl.d/local.conf
# reboot
Sama konfiguracja zawarta jest w
/etc/config/pptpd, konfiguruje się tam zachowanie demona pptpd oraz listę użytkowników:
# uci set pptpd.pptpd.enabled='1'
# uci set pptpd.pptpd.localip='192.168.1.70'
# uci set pptpd.pptpd.remoteip='192.168.1.80-89'
# uci commit pptpd
# echo "proxyarp" >> /etc/ppp/options.pptpd
# echo "ms-dns 192.168.1.1" >> /etc/ppp/options.pptpd
Ew. dodatkowe opcje można ustawić w pliku
/etc/ppp/options.pptpdUżytkownicy
# uci add pptpd login
# uci set pptpd.@login[-1].username=user1
# uci set pptpd.@login[-1].password=haslo1
# uci add pptpd login
# uci set pptpd.@login[-1].username=user2
# uci set pptpd.@login[-1].password=haslo2
# uci add pptpd login
# uci set pptpd.@login[-1].username=user3
# uci set pptpd.@login[-1].password=haslo3
itd
# uci commit pptpd
Firewall
Jeżeli dostęp ma być od strony WAN należy pamiętać o ustawieniu odpowiednich reguł firewalla. Do
/etc/config/firewall należy dodać:
config rule
option name PPTP
option src wan
option dest_port 1723
option proto tcp
option target ACCEPT
Może jeszcze przydać się dodanie do
/etc/firewall.user:
iptables -A forwarding_rule -i ppp+ -j ACCEPT
iptables -A forwarding_rule -o ppp+ -j ACCEPT
Na koniec należy pamiętać o zrestartowaniu firewalla:
# /etc/init.d/firewall restart
Uruchomienie
# /etc/init.d/pptpd enable
# /etc/init.d/pptpd start
Powinien być widoczny demon pptpd.
Ustawienia klienta
Ogólnie: przy konfiguracji należy podać adres IP (publiczny, od strony WAN) naszego routera, podać parę użytkownik/hasło. Jeżeli dostępne są opcje zaawansowane można zaznaczyć szyfrowanie/kompresję (MPPE/MPPC).
Konfiguracja w wydaniu Attitude Adjustment
Starsze wydanie AA różni się od BB. Konfiguracja zawarta jest w dwóch plikach:
/etc/pptpd.conf oraz
/etc/ppp/options.pptpd.
/etc/pptpd.conf
Należy dodać dwie linie:
localip 192.168.1.70
remoteip 192.168.1.80-89
Dzięki dodaniu w/w linii podłączeni klienci dostaną adres z zakresu 192.168.1.80 - 192.168.1.89, adres serwera to 192.168.1.70
Należy upewnić się, że plik /etc/pptpd.conf został zakończony znakiem nowej linii, inaczej pptp zwróci błąd.
/etc/ppp/options.pptpd
Należy dodać
proxyarp
ms-dns 192.168.1.1
oraz usunąć linię
Użytkownicy
Zostaje tylko zdefiniowane użytkowników i ich haseł. Wykonuje się to w pliku
/etc/ppp/chap-secrets. Przykładowa zawartość:
user1 * haslo1 *
user2 * haslo2 *
user3 * haslo3 *
Znaki "*" mają zostać. Użytkownicy mają logować się przy pomocy pary user/hasło podanych w pliku.