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.pptpd

Uż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

/etc/ppp/options.pptpd

Należy dodać


    proxyarp
    ms-dns 192.168.1.1

oraz usunąć linię


    172.16.1.1:

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.