Stampa
Categoria: Linux
Visite: 72

I seguenti appunti sono per poter configurare una VPN PPTP su macchine Debian Linux, sia per la parte server che per la parte client. Le configurazioni sono state fatte e testate su Debian Linux 9/10.

Lato server Debian Linux
1.) installare pppd
     apt-get install pptpd
2.a) aggiungiamo DNS server in /etc/ppp/pptpd-options
     ms-dns 1.1.1.1
     ms-dns 8.8.8.8
2.b) aggiungiamo VPN user account in /etc/ppp/chap-secrets
     # client server secret IP addresses
     pippo pptpd password "10.0.0.100"
2.c) riserva indirizzi IP in /etc/pptpd.conf
     localip 10.0.0.1
     remoteip 10.0.0.100
3.) abilita il server a funzionare come router, modifichiamo /etc/sysctl.conf
     net.ipv4.ip_forward = 1
4.a) configurare firewall per inoltrare il traffico da eth0 sulle altre interfacce, aggiungere a /etc/rc.local (invece di rc.local ho inserito nelle regole linux firewall utilizzando Webmin)   <-- qui si potrebbe creare uno script e inserirlo in /etc/network/interfaces
     iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
4.b) inoltriamo le porte dal server al client (su cui gira aMule configurato con le porte indicate sotto) quando viene stabilita la connessione, aggiungiamo in /etc/ppp/ip-up, ("$5" è IP del client),
     iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 26824 -j DNAT --to-destination "$5"
     iptables -t nat -A PREROUTING -i eth0 -p udp --dport 42818 -j DNAT --to-destination "$5"
4.c) rimuovere le porte dal server al client quando la connessione termina, aggiungiamo in /etc/ppp/ip-down
     iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 26824 -j DNAT --to-destination "$5"
     iptables -t nat -D PREROUTING -i eth0 -p udp --dport 42818 -j DNAT --to-destination "$5"
5.) il server pptp ha bisogno della porta tcp 1723 e del protocollo 47 (GRE) accettati in entrata sul firewall (table nat INPUT chain)

Lato client Debian Linux
1) installare pptp-linux
     apt-get install pptp-linux
2) editare /etc/ppp/chap-secrets
     # Secrets for authentication using CHAP
     # client server secret IP addresses
      pippo pptp password *
3) creare /etc/ppp/peers/compdev (alla prima riga ci va messo IP del server)
     pty "pptp 80.210.152.143 --nolaunchpppd"   <-- IP del server
     name pippo   <-- client in chap.secrets
     remotename pptp   <-- server in chap-secrets
     require-mppe-128
     file /etc/ppp/options.pptp
     ipparam compdev
     persist
4) per aggiungere route e far andare tutto il traffico internet attraverso VPN:
4.a) creare /etc/ppp/ip-up.d/compdev
     #!/bin/bash
     /sbin/route add default dev ppp0
4.b) rendere eseguibile il file creato
     chmod +x /etc/ppp/ip-up.d/compdev
5) per avviare la VPN
     pon compdev
e per fermarla
     poff compdev

Infine se si vuole avviare automaticamente al boot la connessione VPN, si può aggiungere una riga a /etc/network/interfaces sotto l'interfaccia di rete principale (es.: eth0)

      post-up pon compdev