• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
dall openvpn esterno come? sulla pi lan navigazione hole e

OpenVPN/Pi-hole e navigazione sulla LAN dall'esterno, come?
#1
Salve,
dovrei sbrogliare una matassa e non ne vengo a capo:
posseggo un Pi 3 con Raspbian come sistema operativo e su cui girano un server OpenVPN e Pi-hole che ho configurato per fungere da server DNS e DHCP.
Nella mia LAN ho anche un secondo Pi 3, sempre con Raspbian, su cui ho installato uno stack EMP (Nginx, MariaDB e PHP), da usare quindi con web server per hostare un sito in WordPress.
Ho configurato Pi-hole per far sì che recandomi all'indirizzo hv.miodominio.com con un browser vengo indirizzati al sito WordPress hostato sul secondo Pi.
Fin quando sono all'interno della LAN tutto funziona correttamente.
La mia intenzione però era quella di rendere navigabile il sito anche quando sono fuori casa connettendomi alla VPN (e quindi, da un certo punto di vista, restando nella LAN) ma purtroppo ciò non avviene.

Sapreste darmi una mano nel trovare il bandolo della matassa?

Grazie!  Wink
Risposta
#2
Come openvpn hai usato PiVpn?

Ho hai semplicemente installato openvpn e generato il certificato?

In entrambi i casi la voce push DNS nel file conf del server deve essere uguale a ip di pihole o se il servizio gira su dove gira Pi hole e hai ad esempio classe ip 10.8.0.x imposta la voce push DNS a 10.8.0.1

E mette alla voce DNS di pihole la spunta su

Listen on all interfaces, permit all origins

attivandola

See you

Perché non fai il forwarding della porta 80 e 443 su ip lemp?

Altra cosa che ti consiglio di implementare in pihole é il servizio dnscrypt che ti cripta tutte le chiamate DNS da te al tuo isp se lo supporta altrimenti impostando DNS cloudflare. E nessuno saprà quali e quanti siti hai visitato.
Risposta
#3
(07/05/2019, 19:22)Tiger Ha scritto: Come openvpn hai usato PiVpn?

Ho hai semplicemente installato openvpn e generato il certificato?

In entrambi i casi la voce push DNS nel file conf del server deve essere uguale a ip di pihole o se il servizio gira su dove gira Pi hole e hai ad esempio classe ip 10.8.0.x imposta la voce push DNS a 10.8.0.1

E mette alla voce DNS di pihole la spunta su

Listen on all interfaces, permit all origins

attivandola

See you

Perché non fai il forwarding della porta 80 e 443 su ip lemp?

Altra cosa che ti consiglio di implementare in pihole é il servizio dnscrypt che ti cripta tutte le chiamate DNS da te al tuo isp se lo supporta altrimenti impostando DNS cloudflare. E nessuno saprà quali e quanti siti hai visitato.
Ciao e, innanzitutto, grazie per la risposta.

Allora, io non sono molto esperto di reti, quindi cerco di ricapitolare per vedere se ho capito cosa fare...
Rispondo alla tua prima domanda: ho usato PiVPN, in quale file conf devo controllare la voce push DNS, e la voce da spuntare/attivare Listen on all interfaces, permit all origins dove la trovo?

Ripeto velocemente per maggiore chiarezza: ho due Raspberry Pi, su uno gira il server OpenVPN (installato tramite PiVNP) e Pi-hole, questo ha indirizzo locale statico 192.168.1.10 (10.8.0.1 l'indirizzo della VPN); sul secondo Raspberry Pi gira il server web, con indirizzi 192.168.1.71/10.8.0.6.

Non posso fare il forwarding delle porte 80 e 443 verso il Pi web server perché già le uso per un altro web server (su una macchina virtuale) con un altro sito e perché comunque ho necessità che il sito hostato sul Pi sia accessibile solo nella LAN o via VPN.

Uso già Pi-hole con i DNS di Cloudfare, cos'altro mi suggerisci di fare relativamente a dnscrypt?
Risposta
#4
Citazione:Allora, io non sono molto esperto di reti, quindi cerco di ricapitolare per vedere se ho capito cosa fare...

Rispondo alla tua prima domanda: ho usato PiVPN, in quale file conf devo controllare la voce push DNS, e la voce da spuntare/attivare Listen on all interfaces, permit all origins dove la trovo?

la voce push dns la trovi in:

Codice:
1) sudo nano /etc/openvpn/server.conf

li dentro modifica le 2 voce push dns una modificandola con ip gateway vpn altra commentandola con #

Codice:
push "dhcp-option DNS 10.8.0.1"

#push "dhcp-option DNS 1.0.0.1"

poi aggiungi anche la voce dentro mettila dove vuoi tu:

Codice:
1) duplicate-cn
e
2) compress lz4 
(se gia non la trovi come voce)

poi dau un bel:

Codice:
1) sudo service openvpn restart

poi, la voce  Listen on all interfaces, la trovi dentro alla pagina di pihole, ora non so se pihole l'hai installato con lighttp o meno ma anch'essa parlo dell'interfaccia pihole sta in ascolto su porta 80 e ti conviene richiamarla casomai su altra porta tipo 8080 per fare questo:

Codice:
1) sudo nano /etc/lighttpd/lighttpd.conf

trova la voce port 80 e modificala con 8080

premi sempre ctrl+o e ctrl+x per salvare e uscire dalla modifica

dare poi un bel

Codice:
3)sudo service lighttpd restart

entra poi nell'interfaccia pihole 

http://indirizzoip_pihole:8080/admin

e alla voce setting--->dns troverai la dicitura Listen on all interfaces, permit all origins
spuntala e in fondo clicca su salva.

   

-------------------------------------------
PER DNSCRYPT HO FATTO GUIDA QUI

https://forum.raspberryitaly.com/showthr...p?tid=3863
Risposta
#5
Allora, ho modificato il file /etc/openvpn/server.conf come suggerito e riavviato il servizio.
Ora il file appare così:
Codice:
dev tun
proto udp
port 11xx
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_xxxxxxxxxxxxxxxx.crt
key /etc/openvpn/easy-rsa/pki/private/server_xxxxxxxxxxxxxxxx.key
dh none
topology subnet
server 10.8.0.0 255.255.255.0
# Set your primary domain name server address for clients
#push "dhcp-option DNS 1.1.1.1"
#push "dhcp-option DNS 1.0.0.1"
push "dhcp-option DNS 10.8.0.1"
# Prevent DNS leaks on Windows
push "block-outside-dns"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
keepalive 1800 3600
remote-cert-tls client
tls-version-min 1.2
tls-crypt /etc/openvpn/easy-rsa/pki/ta.key
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
syslog
verb 3
#DuplicateCNs allow access control on a less-granular, per user basis.
#Remove # if you will manage access by user instead of device.
duplicate-cn # abilitato su consiglio di Tiger di RaspberryItaly
# Generated for use by PiVPN.io
compress lz4 # aggiunto su consiglio di Tiger di RaspberryItaly

Ho anche modificato il file di configurazione di lighttpd per farlo ascoltare sulla porta 8080 e abilitato la voce Listen on all interfaces, permit all origins tra le impostazioni DNS di Pi-hole.

Purtroppo però non ancora riesco a navigare sul sito quando sono connesso alla VPN anzi adesso, se connetto un dispositivo (PC, smartphone, iPad) alla VPN non riesco a navigare su nessun sito...  Huh

Serve ancora un po' di aiuto!  Sad
Risposta
#6
riesci ad aprire pihole su porta 8080 da vpn?

sei fuori dalla tua rete quando ti connetti in vpn giusto? almeno pihole

se digiti 192.168.1.10:8080/admin da vpn accedi?

che significa 10.8.0.6 su ip server ngix?
Risposta
#7
(08/05/2019, 17:03)Tiger Ha scritto: riesci ad aprire pihole su porta 8080 da vpn?

sei fuori dalla tua rete quando ti connetti in vpn giusto? almeno pihole

se digiti 192.168.1.10:8080/admin da vpn accedi?

che significa 10.8.0.6 su ip server ngix?

Per fare i testi sulla VPN procedo in questo modo:
- uso direttamente lo smartphone disconnesso dal WiFi e connesso alla rete 4G ed alla VPN;
- uso un altro dispositivo connesso a internet tramite lo smartphone che fa da access point e con la connessione alla VPN attiva.

In queste condizioni (quindi fuori dalla LAN ma connesso alla VPN) se provo ad andare su 192.168.1.10:8080/admin vedo tranquillamente la pagine di configurazione di Pi-hole.

Quando parlo dell'IP 10.8.0.6 intendo l'IP assegnato al tunnel VPN, in pratica, facendo ip a sul Raspberry che fa da web server ottengo:
Codice:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enxb827ebfa2e81: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:fa:2e:81 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.71/24 brd 192.168.1.255 scope global enxb827ebfa2e81
       valid_lft forever preferred_lft forever
    inet6 fe80::a10b:a326:adcf:e96d/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether b8:27:eb:af:7b:d4 brd ff:ff:ff:ff:ff:ff
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.8.0.6/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::4255:b0a7:36d5:2c13/64 scope link flags 800
       valid_lft forever preferred_lft forever

Ho fatto un'altra prova: connesso alla VPN (sempre ovviamente fuori della LAN, in 4G), digitando nella barra degli indirizzi di un browser l'indirizzo 10.8.0.6 visualizzo la pagina di benvenuto di Nginx, quindi il server web risponde beve, credo sia solo un problema di DNS, ossia Pi-hole (che fa da DNS locale) dovrebbe tradurre il nome di dominio che ho assegnato al sito (hv.miodominio.com) in 10.8.0.6, come fa quando, dall'interno della LAN non connesso alla VPN, effettivamente fa traducendo hv.miodominio.com in 192.168.1.71...
Risposta
#8
il tuo problema è di far risolvere il tuo ddns nella rete locale questo è cio che in termine tecnico si chiama nat-loopback

ma non credo che su pi hole si possa implementare se non con qlc script.

i router attuali, lo stesso tim hub della telecom implementa il nat loopback

su firewall di rete il problema si risolve aggiungendo delle regole iptables 

esempio:

Codice:
iptables -t nat -I PREROUTING -s 192.168.0.0/24 -d ip_ddns -i ETH00 -p tcp --dport 80 -j DNAT --to-dest 192.168.0.145:80

iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -d 192.168.0.99 -o ETH00 -p tcp --dport 80 -j MASQUERADE

su pi hole onestamente non so se si possano aggiungere.

ma se hai un router tim o similare fai come faccio io.

assegno il compito di dhcp al router dicendogli di impostare però come dns quello del pi hole

unico e solo dns, cosi che il dhcp verrà assegnato ai tuoi dispositivi dal router ma con dns che punti al tuo pihole.

cio risolverebbe il problema del tuo nat loopback.

see you
Risposta
#9
(08/05/2019, 17:50)Tiger Ha scritto: ma se hai un router tim o similare fai come faccio io.

assegno il compito di dhcp al router dicendogli di impostare però come dns quello del pi hole

Purtroppo il mio router TIM (un Sercomm VD625) non mi permette di cambiare i DNS e se non utilizzo Pi-hole come server DHCP perdo tutta l'utilità del blocco della pubblicità perché è vero che con Windows/Linux/macOS posso impostare su ogni dispositivo il server DNS, non posso farlo con i dispositivi Android/iOS...

Comunque ancora grazie per l'aiuto!
Risposta
#10
possiamo risolvere se hai un pi2 o pi3b in più, ti faccio montare su una distribuzione zeroshell

che non solo potrà farti da server dhcp ma fra i tuoi pihole e ngix e il tuo router farà lui da nat-loopback


se hai un raspberry in più lo configuriamo insieme.

fammi sapere,
in pratica sarà messo tra il tuo router tim e la lan interna.

ovviamente procurati un usb lan (costo pochi euri)
che andrà al router tim mentre la lan integrata gestirà la rete interna.

fammi sapere
Piccolo hot: (in verità con IOS impostando ip manuale e almeno con dispositivi android PIE si può ora gestire il dns) :-P
Risposta
  


Vai al forum:


Navigazione: 3 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect