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 😉

 

 

(Solved) login incorrect problem con Vsftp


(Solved) login incorrect problem con Vsftp. Questo è un errore che si è presentato nel momento in cui ho cercato di accedere al server ftp, nella fattispecie Vsftp. Naturalmente user e password erano corretti, ma molto probabilmente qualcosa è cambiato in vsftpd. Il problema si risolve modificando la stringa inerente a pam in vsftpd.conf:

# nano /etc/vsftpd.conf

da così:

# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftp

a così:

# This string is the name of the PAM service vsftpd will use.
pam_service_name=ftp

enjoy 😉

 

FreePBX 500 internal server error after updates

 

FreePBX 500 internal server error after updates è un errore che ho avuto dopo aver aggiornato FreePBX su Raspbian. L'errore si risolve abilitando mod_rewrite in apache.

# a2enmod rewrite
# service apache2 restart
# fwconsole chown
# fwconsole restart
FreePBX 500 internal server error after updates

enjoy 😉

 

( Solved ) OwnCloud Maintenance Mode

 

Solved OwnCloud Maintenance Mode

Solved OwnCloud Maintenance Mode

Dopo ogni aggiornamento di ownCloud, quando si cerca di accedere al pannello di controllo, il messaggio che appare è quello nella figura sopra. OwnCloud in Maintenance Mode. Per risolvere il problema:

sudo /var/www/owncloud/config/config.php

ed alla voce maintenance sostituire "true" con "false". Dopodichè ricaricare la pagina e procedere con l'aggiornamento.

Solved OwnCloud Maintenance Mode

enjoy 😉

 

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech

 

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech. Altro passo avanti nella messa a punto del mio nuovo notebook, dopo le due guide precedenti, qua e qua. In pratica i tasti F2 ed F3 che dovrebbero regolare la luminosità dello schermo non funzionano, ed a dire il vero la regolazione non funziona nemmeno tramite applet o direttamente dal menu Power Management Preferences. Per risolvere il problema. per prima cosa bisogna identificare quale scheda video gestisce la luminosità:

$ ls /sys/class/backlight/

nel mio caso l'output è

edmond@debianbox:~$ ls /sys/class/backlight/
acpi_video0  intel_backlight

a questo punto creare il file:

# nano /usr/share/X11/xorg.conf.d/20-intel.conf

ed incollare dentro:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

adesso basta fare un logout e dopo il login tutto funzionerà correttamente.

(Solved) Tasti luminosità non funzionanti su Debian Jessie/Strech

enjoy 😉

 

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

 

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

Pacchetti deb per Debian ed Ubuntu.

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie. Dopo aver preso un Notebook HP ENVY 15-k208nl, e fatto una prima guida su come far funzionare l'hardware su Debian Jessie, successivamente mi sono trovato ad affrontare il problema del Lettore di impronte digitale ID 138a:0050 Validity Sensors. In realtà il problema è relativo a tutte le distro, Ubuntu incluso. Praticamente per far fuzionare il lettore di impronte servirebbero i driver vfs0050.

edmond@debianbox:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:07dc Intel Corp.
Bus 001 Device 003: ID 138a:0050 Validity Sensors, Inc.
Bus 001 Device 002: ID 064e:c341 Suyin Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cercando in giro ho scoperto che esiste una patch creata due anni fa e non più aggiornata poiche l'autore è morto 🙁 detto questo esiste anche qualche problemino nel farla funzionare, ed a questo proposito voglio condividere 2 pacchetti deb creati da me, dove il primo installa il driver vfs0050 ed il secondo installa FingerprintGui, che sarebbe l'alternativa, migliore, a quello presente nei repository col nome di fprint-demo. Per installare il tutto seguire gli step seguenti:

sudo apt remove --purge libfprint0 fprintd libpam-fprintd
wget https://bit.ly/28ZEyZQ -O libfprint_0.5.1.2-1_amd64.deb
wget https://bit.ly/28VRuxQ -O fingerprint-gui_1.08-1_amd64.deb
sudo dpkg -i fingerprint-gui_1.08-1_amd64.deb libfprint_0.5.1.2-1_amd64.deb
sudo apt install libfprint0 fprintd libpam-fprintd libqca2 libqtxml4-perl

FingerprintGui deve essere lanciato come root, lo stesso vale per fprint-demo:

sudo fingerprint-gui
sudo fprint_demo

una volta installati i pacchetti per abilitare l'autenticazione con impronte, per chi usa Mate, basta andare in System-Control Centre-About Me:

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

per chi invece usa Gnome, la procedura è quasi simile. Ho testato i pacchetti su Debian Jessie, Strech, ed Ubuntu 16.04. Funziona sia con Lightdm che con GDM, con sudo e con su, il problema vero e proprio è che fallisce l'autenticazione, cosa che sinceramente succede anche su Windows 10. Successivamente integrerò la guida per la compilazione dei due pacchetti. con relative dipendenze.

Lettore impronte ID 138a:0050 Validity Sensors su Debian Jessie

enjoy 😉

 

Owncloud Client su Debian Jessie/Strech

 

Owncloud Client su Debian Jessie

Owncloud Client su Debian Jessie/Strech. Dopo aver creato un server Owncloud su raspberry pi 3, lo step successivo è stato quello di installare Owncloud Client su Debian Jessie, su windows, ipad ed iphone. Installando il client direttamente dai repository Debian si incorre in un errore di autenticazione: owncloud client linux error wrong credentials. Per risolvere il problema bisogna scaricare ed installare il client direttamente dal sito ufficiale.

# echo 'deb https://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list
# apt-get update
# wget https://download.opensuse.org/repositories/isv:ownCloud:desktop/Debian_8.0/Release.key
# apt-key add - < Release.key
# apt-get install owncloud-client

enjoy 😉

 

Installare Oracle Java 8 su Debian Jessie/Strech

 

Installare Oracle Java 8 su Debian Jessie/Strech

Installare Oracle Java 8 su Debian Jessie/Strech. Di default su Debian Jessie viene installato OpenJDK Runtime Environment (IcedTea 2.6.6). Infatti il comando java -version, restituisce:

edmond@debianbox:~$ java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-2~deb8u1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

per installare Oracle Java 8, si puo andare direttamente sul sito ed accettare la licenza, oppure:

$ sudo mkdir /opt/jdk
$ cd /opt/jdk
$ sudo wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.tar.gz
$ sudo tar -zxf jdk-8u92-linux-x64.tar.gz
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_92/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_92/bin/javac 100
$ sudo update-alternatives --config java

e scegliere la voce 1:

edmond@debianbox:/opt/jdk$ sudo update-alternatives –config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
————————————————————
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /opt/jdk/jdk1.8.0_92/bin/java                    100       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.8.0_92/bin/java to provide /usr/bin/java (java) in manual mode

controllare la versione di java e javac:

$ java -version

edmond@debianbox:/$ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
edmond@debianbox:/$ javac -version
javac 1.8.0_92

enjoy 😉

Notebook HP ENVY 15-k208nl e Debian Jessie

Notebook HP ENVY 15-k208nl e Debian Jessie

Notebook HP ENVY 15-k208nl e Debian Jessie

Notebook HP ENVY 15-k208nl e Debian Jessie. Ho appena preso questo Notebook HP ENVY 15-k208nl, e sto cercando di configurarlo in modo che tutto l'hardware funzioni. Per renderlo subito operativo bisogna installare subito un kernel recente ed alcuni pacchetti. L'output del comando lspci restituisce:

edmond@debianbox:~$ lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.1 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)
00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
08:00.0 Network controller: Intel Corporation Wireless 3160 (rev 83)
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
0a:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev ff)

quindi per installare quello che ci serve bisogna abiitare i repository backports, quindi verificare il tipo di kernel a disposizione nei repo, poiche quello installato di default, 3.16.0-4, non basta per far funzionare il notebook in maniera sufficente. Al momento il kernel backportato è il 4.5.0-0.bpo.2-amd64:

# apt-cache search linux-image
# apt-get install -t jessie-backports linux-image-4.5.0-0.bpo.2-amd64 linux-headers-4.5.0-0.bpo.2-amd64 -y
# reboot

una volta avviato il notebook col nuovo kernel bisogna installare un po di pacchetti per far funzionare la scheda video intel, quella nvidia, quella audio e la scheda wifi:

# apt-get install -t jessie-backports xserver-xorg-video-intel firmware-realtek firmware-iwlwifi firmware-linux-nonfree firmware-intel-sound intel-microcode mesa-utils
# reboot

il passo successivo sarà quello di installare Bumblebee, per avere il supporto Nvidia Optimus:

# apt-get install bumblebee-nvidia primus
# dpkg --add-architecture i386
# apt-get update
# apt-get install bumblebee-nvidia primus primus-libs:i386

se si usa anche sudo aggiungere il proprio nome utente al gruppo bumbeblee:

sudo adduser $USER bumblebee
sudo reboot

per testare scheda intel:

$ glxgears -info

per testare scheda nvidia:

$ optirun glxgears -info

Notebook HP ENVY 15-k208nl e Debian Jessie.….continua…..forse 🙂

enjoy 😉

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian. Io su Raspberry Pi 3, ho un server Webdav e mi trovo bene, qua la guida. ma ho voluto provare Owncloud, poichè è molto più personalizzabile, e ti permette di condividere link, con password e data di scadenza. Io ho utilizzato come disco esterno una pen drive da 128G, formattata in NTFS, ma si può utilizzare anche un hard disk esterno, possibilmente alimentato. 

sudo mkdir /media/usb-hdd

identificare la chiavetta con:

sudo tail -f /var/log/messages

oppure:

sudo fdisk -l

conoscere UUID per procedere con il mount automatico:

sudo blkid /dev/sda1

il comando sopra restituirà qualcosa del genere:

/dev/sda1: UUID="10C67902162A661E" TYPE="ntfs" PARTUUID="eaf9ab2e-01"

quindi configurare fstab:

sudo nano /etc/fstab

che dovrebbe essere come sotto:

UUID=10C67902162A661E /media/usb-hdd/ ntfs-3g permissions,defaults,auto

poi:

sudo reboot

 

Installazione di Owncloud ed i servizi necessari:

 

wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb https://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update && sudo apt-get install owncloud

verrà chiesto di scegliere una password per mysql.

 

Configurazione Mysql:

 

sudo mysql -u root -p

inserire la password di mysql, e poi i 4 comandi sotto, scegliendo Utente e Password per l'utente owncloud:

CREATE DATABASE owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO USER@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit

riavviare mysql:

sudo service mysql restart

 

Web Server Apache2 con SSL:

 

sudo openssl genrsa -out server.key 4096
sudo openssl req -new -key server.key -out server.csr

ci saranno alcune voci da riempire, ma quella più importante è COMMON NAME, che io ho fatto puntare al mio hostname DynDNS per l'accesso da remoto:

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

sudo openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt -sha256
sudo chmod 400 server.key
sudo mv server.key /root/server.key
sudo mv server.crt /root/server.crt
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf_bak
sudo nano /etc/apache2/sites-available/000-default.conf

e modificare DocumentRoot come sotto:

DocumentRoot /var/www/owncloud

poi ancora:

sudo rm -rf /var/www/html/
sudo nano /etc/apache2/sites-available/default-ssl.conf

e modificare le voci DocumentRoot, SSLCertificateFile, SSLCertificateKeyFile, come sotto:

DocumentRoot /var/www/owncloud
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key

abilitare la crittografia:

sudo a2ensite default-ssl.conf
sudo service apache2 reload
sudo a2enmod ssl
sudo service apache2 restart

alcune modifiche necessarie:

sudo nano /etc/php5/apache2/php.ini

fare una modifica al file php.ini, nella sezione File Uploads, portando upload_max_filesize = 5000.

sudo sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
sudo /etc/init.d/apache2 restart

creazione della cartella di storage e relativi permessi:

sudo mkdir -p /media/usb-hdd/owncloud/dati
sudo chown -R www-data:www-data /media/usb-hdd/owncloud/dati
sudo chmod 0770 /media/usb-hdd/owncloud/dati
sudo reboot

come ultimo ritocco, aumentare la capacità di upload, andando a modificare il file .htacces, ed installare fail2ban:

sudo nano /var/www/owncloud/.htaccess

portando: php_value upload_max_filesize, e php_value post_max_size a 5000M

sudo apt-get install fail2ban

Se tutto è andato bene andare all'indirizzo https://ip_del_raspberry/owncloud ed apparirà la pagina iniziale, dove si dovrà scegliere nome utente e password per l'accesso, ed inserire il nome del database ed user e password dell'utente owncloud.

Owncloud 9 Apache Mysql su Raspberry Pi 3 e Raspbian

 

enjoy 😉