Client OpenVPN accessibile da WAN su Asus Router


0

Ho un router Asus RT-N66U con server OpenVPN abilitato. Devo rendere disponibile una porta del client OpenVPN connesso da Internet. Quindi voglio inoltrare la porta 80 al dispositivo collegato tramite OpenVPN al mio router.

Per prima cosa ho provato a configurare TUN. Il client ha l'indirizzo IP 10.8.0.5. Ho inoltrato la porta da 80 a 10.8.0.5

Il problema è che funziona solo dalla LAN interna. Posso anche usare un indirizzo IP esterno e normalmente inoltrare tutti i pacchetti da 10.8.0.5 al client, ma da Internet ottengo sempre il timeout, sembra che i pacchetti arrivino al dispositivo ma la risposta no.

Ho provato a modificare manualmente iptables secondo https://community.openvpn.net/openvpn/wiki/BridgingAndRouting e niente aiuta.

Ora ho riconfigurato OpenVPN per utilizzare TAP. E ancora lo stesso funziona completamente dalla LAN, ma non da Internet. Deve esserci qualcosa che mi manca.

Ecco un elenco di tutte le regole di iptables per le configurazioni dello stand https://gist.github.com/tprochazka/72b5ca9b686d20b200c5f2662d0e9db8 (le tabelle IP sono generate dal router stesso)

Qualcuno può dirmi cosa impedisce il traffico da eth0 all'interfaccia tun / tap in modo stand?


1
Cosa intendi esattamente con "rendere disponibile una porta del client OpenVPN connesso da Internet"? Quale client OpenVPN? Tutto il traffico proveniente da detto client è stato tunnelato attraverso la VPN? Con "da LAN" e "da Internet" intendi da dietro il router e altrove?
Daniel B,

Il client OpenVPN è tecnicamente Raspbery Pi, collegato ad alcuni hotspot WIFI gratuiti senza un indirizzo IP pubblico. Devo accedervi da Internet. Quindi è collegato al mio Asus Router tramite OpenVPN. E posso accedervi completamente nella mia rete locale. Ma ora devo rendere accessibile una porta dell'RPI da Internet (inoltra la porta 80 dal mio router all'RPI su OpenVPN)
ATom

Normalmente configura Port Forwarding sul mio router su qualsiasi dispositivo direttamente nella mia rete locale. Funziona sempre da Internet. L'unico problema è ora con il client OpenVPN, è un'interfaccia diversa, quindi probabilmente qualche regola manca in iptables.
ATom,

Risposte:


0

La descrizione della tua configurazione è molto incompleta, quindi posso solo tentare di indovinare un paio di cose da controllare.

  1. per prima cosa hai aggiunto la direttiva client-to-client alla configurazione del server? Ciò consentirebbe di aggirare la maggior parte dei problemi relativi a iptables perché i pacchetti non passerebbero attraverso il solito stack, ma verrebbero instradati internamente a openvpn .

  2. Hai notato che le seguenti regole

    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    DROP       all  --  anywhere             anywhere
    

impedire la comunicazione tra i due clienti? Le regole di iptables vengono applicate in sequenza: ogni volta che viene trovata la prima che si adatta, l'ulteriore elaborazione di quelle seguenti cessa e viene utilizzata la regola applicabile. Quindi, ogni volta che arriva un nuovo pacchetto, la prima regola sopra non si applica, la seconda lo fa, quindi viene applicata e il nuovo pacchetto viene eliminato. Pertanto non viene mai stabilita una nuova connessione .

Sono non sicuro che questo è tutto quello che serve per rendere il vostro lavoro di configurazione, ma si può pugno provare a modificare i due punti di cui sopra, e poi tornare per un altro iterazione, se si è accertato che quanto sopra non è l'unica causa dei vostri imbrogli .


Quali informazioni mancano? Posso aggiornarlo. Client to client funziona normalmente. Se mi collego al router da Internet tramite OpenVPN o PPTP o sono direttamente sulla LAN, posso normalmente comunicare con il client. L'unica cosa che non funziona è il reindirizzamento delle porte da Internet. Ho provato a eseguire tcpdump direttamente sul client e la richiesta è arrivata, ma la risposta non lo è stata.
ATom,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.