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 - https://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 😉

 

Utilizzo di Rsync su DD-WRT

 

Utilizzo di Rsync su DD-WRT

Utilizzo di Rsync su DD-WRT

Dopo avere installato rsync sul mio router Asus RT-AC68U, utilizzando Entware. ho iniziato con il backup incrementale dei miei 3 Raspberry pi. L'utilizzo di rsync è quello standard, ma nella versione per ARM, ci sono delle piccole mancanze/differenze. Per ottenere un backup incrementale del mio centralino asterisk su Raspberry pi, ho usato:

# rsync -zzahlrvp -e 'ssh -p 2233' --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/lost+found"} / ddwrt@192.168.1.1:/mnt/sdaX/cartella_backup

Utilizzo di Rsync su DD-WRT

enjoy 😉

 

Installare Rsync su Router Asus RT-AC68U e DD-WRT

Installare Rsync su Router Asus RT-AC68U e DD-WRT Installare Rsync su Router Asus RT-AC68U e DD-WRT

Installare Rsync su Router Asus RT-AC68U e DD-WRT

Ho acquistato da circa 3 mesi questo router in sostituzione del vecchio linksys e1200v2, ma ancora funzionante, e come prima cosa ho installato anche qui DD-WRT, una distribuzione linux per router. Le caratteristiche sono davvero impressionanti, nel rapporto qualità prezzo, e con DD-WRT installato le funzionalità sono davvero tante. Le caratteristiche dell' Asus RT-AC68U sono le seguenti:

Dual-band Wireless-AC1900 Gigabit Router

  • Gigabit Router WIreless Dual Core e Dual Band fino in standard AC 1900, tre volte le prestazioni del più veloce router 802.1
  • Router con switch integrato 4 porte GIGABIT LAN.
  • Supporta chiavette 3G/4G LTE per connessione backup
  • 2 porte USB (2.0 e 3.0) per Storage, File sharing, Printer Server, media serverSupporta chiavette 3G/4G LTE per connessione backup
  • 3 Antenne staccabili da 5dBi, Interruttore WIFI ON/OFF e WPS
  • Tecnologia Broadcom ® TurboQAM ™ aumenta la velocità di trasmissione dati wireless-N
  • 5 porte Gigabit Ethernet per connessioni veloci e stabili su rete cablata
  • 2 Porte USB di cui una in standard USB 3.0 (per il trasferimento dati dieci volte più veloce delle porte USB 2.0)
  • Supporto ASUS AiCloud per accedere ai dati dall'esterno, tecnologia AiRadar, e Parental Control
  • Ideale per gestire reti complesse e videosorveglianza
  • Grazie all'interfaccia ASUSWRT riuscirai facilmente a configurare la rete di casa e ad avere il massimo controllo della tua rete Wireless

Come si vede sopra avendo 2 porte usb, di cui 1 usb 3.0, ho deciso di collegare un hard disk da 1 terabyte, per poter eseguire un backup incrementale del mio centralino asterisk su raspberry pi 2, e del mio cloud personale su raspberry pi 3. Il modo migliore secondo me per fare un backup è quello di servirsi di Rsync, ma su DD-WRT risulta non essere installato. Per ovviare a questo problema bisogna installare sul router Entware che ci permetterà di installare nuovi pacchetti da repository per dispositivi embedded. Di seguito la procedura che ho usato e che è diversa dalle guide che ho visto in giro, e più semplice. La guida presuppone che DD-WRT sia gia installato sul router Asus RT-AC68U:

  1. andare in Administration-Management ed abilitare JFFS2 Support
  2. andare in Service-USB ed abilitare:

Core USB Support
Enable
USB Printer Support
Enable
USB Storage Support
Enable
USB Over IP
Disable
Automatic Drive Mount
Enable

salvare ed applicare le modifiche. A questo punto io ho creato le partizioni che mi servivavo sull'hard disk da 1 terabyte, direttamente dalla mia Debian usando Gparted, ma soprattutto ho creato 2 partizioni da utilizzare/supportare il router. La prima di 3G formattata in ext4 la seconda di 2G come swap, e poi tutte le altre partizioni a secondo le proprie esigenze. Adesso basta collegare l'hard disk alla porta usb 3.0, e sempre nel Menu Services-USB si possono vedere le partizioni montate:

Installare Rsync su Router Asus RT-AC68U e DD-WRT

recuperare UUID della partizione di 3G, ed inserirlo nella casella Mount this Partition to /opt, dopodichè riavviare il router, oppure loggarsi via ssh sul router e smontare la partizione in /mnt/sdaX e montarla in /opt. Attenzione, assicurarsi che dopo un eventuale reboot la partizione venga correttamente montata in /opt, altrimenti non funzioneranno i programmi nuovi installati. Quindi sempre nel router:

# cd /opt
# wget https://qnapware.zyxmon.org/binaries-armv7/installer/entware_install_arm.sh
# chmod .x entware_install_arm.sh
# ./entware_install_arm.sh

da questo momento possiamo installare ed aggiornare i nuovi pacchetti:

opkg --help
opkg update
opkg install rsync

Installare Rsync su Router Asus RT-AC68U e DD-WRT

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 😉