Vodafone Station Revolution OpenVpn e Asus RT-AC68U

 

Vodafone Station Revolution OpenVpn e Asus RT-AC68U

Vodafone Station Revolution OpenVpn e Asus RT-AC68U, dal titolo sembrerebbe tutto facile ma purtroppo non è così. Passando da qualche giorno alla fibra FTTC di Vodafone, ho dovuto fare dei cambiamenti all'interno della mia rete, ma per comprendere la problematica è meglio fare un passo indietro. Il mio vecchio operatore era Infostrada che mette a disposizione dei propri clienti un modem huawei, che si configura con i parametri PPOE con username e password uguali per tutti (benvenuto-ospite). Questo modem supporta il bridge e quindi io lo usavo solo come modem, e tutto il resto lo gestiva il mio Asus RT-AC68U con molta soddisfazione. Il router Asus prima lo utilizzavo con DD-WRT, per poi passare a Asuswrt-Merlin. Dunque tornando alla vodafone station revolution, ho subito pensato di poter replicare la stessa configurazione, ma mi sbagliavo di grosso. La VSR residenziale ha tanti bug, che posso aggirare (quasi tutti)  usando il router Asus, ed alcune mancanze, prima di tutto la mancanza della modalità Bridge e PPOE (No user/password), ma questo evidentemente fa parte della loro politica e non entro nel merito. La VSR quindi accede ad internet tramite il Mac Address. Se si cerca di bypassare la VSR utilizzando un router il primo problema si presenta con l'IP pubblico mascherato da un IP locale, in virtù di una doppia wan/doppio nat, e quindi non c'è verso di far funzionare un Dynamic DNS e quindi OpenVpn. Praticamente nei contratti residenziali  non c'è modo di rendere la VSR trasparente, come facevo prima col modem huawei infostrada, quindi bisogna cercare di limitare i danni.

Vodafone Station Revolution OpenVpn e Asus RT-AC68U

Configurazione lato VSR:

  1. Gateway 192.168.1.1 (o qual si voglia)
  2. WIFI Disabilitato
  3. DNS Sicuro Disabilitato
  4. Firewall Disabilitato
  5. DMZ Abilitato verso 192.168.1.50 o altro IP
  6. DDNS Abilitato e Configurato

Configurazione lato ASUS:

WAN con IP Statico

  • 192.168.1.50
  • 255.255.255.0
  • 192.168.1.1

LAN

  • 192.168.0.1
  • 255.255.255.0

WAN – DDNS

Abilitare DDNS, scegliere Custom ed inserire Host Name. Come si può vedere, il router non riesce a raggiungere l'IP pubblico quindi presenta i seguenti errori:

The wireless router currently uses a private WAN IP address.
This router may be in the multiple-NAT environment and DDNS service cannot work in this environment.

Per risolvere il problema abbiamo bisogno di abilitare SSH in Administartion-System e Enable JFFS custom scripts and configs. Inserire un hard disk esterno con almeno una partizione formattata in ext4 e dopo essere entrati nel router via SSH, installare Entware, con il comando:

entware-setup.sh

che ci permetterà di installare ulteriori programmi che ci serviranno:

opkg list
opkg install nano

verrà creata anche una cartella scripts in /jffs/scripts dove verranno inseriti gli scripts che ci serviranno. Io ho un account con dyndns.org, quindi mi serve uno script che aggiorni sempre il mio ip e che possa comunicarlo al server bypassando la VSR. Portarsi quindi nella cartella scripts e creare lo script up.sh

Asus@RT-AC68U-A088:/jffs/scripts#nano up.sh

ed incollare dentro, adattandolo al proprio host DNS:

#!/bin/sh

while [ ! -n  "`ifconfig | grep tun11`" ]; do
    sleep 1
    done

    SERVICE="dyndns"
    USER="user_dyndns"
    PASS="password_dyndns"
    HOST="hostname_dyndns"
    IP=$(wget -qO - http://icanhazip.com)

    ez-ipupdate -S $SERVICE -u $USER:$PASS -h $HOST -a $IP

    exit 0

 

chmod 700 /jffs/scripts/up.sh

adesso serve un'altro script che ogni 2 ore controlli ed informi il router di un eventuale cambio IP.

nano services-start

ed aggiungere:

#!/bin/sh

/usr/sbin/cru a DDNS "0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /jffs/scripts/up.sh

Vodafone Station Revolution OpenVpn e Asus RT-AC68U

a questo punto dovrebbe essere quasi tutto utilizzabile!

enjoy 😉

 

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

dd-wrt

OpenVPN con DD-WRT Debian ed iPhone con ios 10. Con l'arrivo di ios 10 non è più possibile utilizzare una VPN PPTP , ed era quella che io usavo velocemente per connettermi al mio router linksys e1220 aggiornato con dd-wrt. Questa guida mostra come ottenere una VPN funzionante utilizzando OpenVpn server direttamente dal nostro router, e come creare i vari certificati e chiavi con relativa configurazione lato client, questo sia su Debian che su iPhone 6S con ios 10. Io utilizzo Debian Jessie, ma questa guida vale per tutte le distro. Iniziamo.

OpenVPN con DD-WRT Debian ed iPhone con ios 10

Installazione server OpenVpn:

# apt install openvpn easy-rsa
# mkdir /etc/openvpn/easy-rsa/
# cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
# nano /etc/openvpn/easy-rsa/vars

a questo punto modificare in base alle proprie esigenze il file vars, come sotto, così successivamente basterà premere Invio quasi sempre.

export KEY_COUNTRY="IT"
export KEY_PROVINCE="Lombardia"
export KEY_CITY="Milano"
export KEY_ORG="DDWRT-VPN"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="DDWRT-VPN"

Creazione certificati/chiavi lato server:

# cd /etc/openvpn/easy-rsa
# source vars
# ./clean-all
# ./build-ca
# ./build-key-server serverddwrt
# ./build-dh

i certificati verranno creati in /etc/openvpn/easy-rsa

Creazione certificati/chiavi lato client:

io ho creato diverse chiavi per i miei devices:

# source vars
# ./build-key iphone
# ./build-key ipad
# ./build-key debianbox
# ./build-key win10

a questo punto tutti i certificati e le chiavi sono state create nella cartella keys in /etc/openvpn/easy-rsa/keys. Non rimane che accedere al nostro router di solito , ed andare in Services-VPN ed abilitare OpenVPN Server/Daemon, come si vede nell'immagine sotto. Nel mio caso la mia rete è 192.168.1.1 e per OpenVpn ho scelto la classe IP 192.168.75.0.

OpenVPN su DD-WRT Debian ed iPhone con ios 10

adesso bisogna aprire con un editor di testo i vari certificati e fare un copia ed incolla di tutto quello che si trova tra –BEGIN CERTIFICATE– e —END CERTIFICATE–. I certificati da incollare direttamente nella web gui sono i seguenti:

Public Server Cert= serverddwrt.crt
CA CERT= ca.crt
Private Server Key = serverddwrt.key
DH PEM = dh2048.pem

ddwrt-openserver-crt

nella sezione più in basso Additional Config inserire:

push "route 192.168.1.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
dev tun0
proto tcp
keepalive 10 120

poi andare in Administration-Commands ed inserire:

iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

e premere Save Firewall.

firewall

per avere conferma che tutto è andato bene, portarsi in Status-OpenVpn e si dovrebbe leggere Server: CONNECTED SUCCESS

ddwrt-openvpn

 

Configurazione di OpenVpn client su Debian Jessie:

# apt install network-manager-openvpn network-manager-openvpn-gnome

e configurarlo come sotto:

network-manager-openvpn

network-manager-openvpn-advanced

 

Configurazione iPhone:

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

Per prima cosa installare direttamente da Apple Store OpenVpn. Dopodichè creare un file iphone.ovpn come sotto:

client
dev tun
proto tcp
remote inserire_indirizzo_IP/DDNS 1194
nobind
persist-key
persist-tun
verb 4
float
ca ca.crt
cert iphone.crt
key iphone.key
comp-lzo yes
tun-mtu 1500
auth SHA1
cipher AES-256-CBC

a questo punto tramite iTunes, caricare all'interno del programma OpenVpn i 4 files:

  1. ca.crt
  2. iphone.crt
  3. iphone.key
  4. iphone.ovpn

OpenVPN con DD-WRT Debian ed iPhone con ios 10

enjoy 😉