Acessar OwnCloud via VPN não funciona no Android e no Chromebook?

Acessar OwnCloud via VPN não funciona no Android e no Chromebook?

Aqui está minha configuração. Eu tenho um Cisco ASA 5505 (IOS mais recente). Por trás dele, eu tenho um servidor (Ubuntu 12.04) rodando nginx, php-fpm, OwnCloud (todas as versões mais recentes). Minha área de trabalho também fica atrás do ASA e é capaz de acessar o OwnCloud perfeitamente. Se eu conectar meu tablet Android ao nosso ponto de acesso sem fio e acessar a interface web OwnCloud, tudo funcionará perfeitamente.

Configurei a VPN L2TP/IPSEC no ASA. Posso desconectar minha Ethernet na minha área de trabalho, conectar-me ao meu telefone e conectar-me à VPN. A partir daí, posso fazer SSH no servidor nginx, VNC em outras máquinas desktop e acessar a interface da web OwnCloud. Tudo funciona perfeitamente.

Posso conectar o tablet Android à VPN (via tethering de ponto de acesso). A partir daí, posso fazer SSH no servidor nginx e VNC em máquinas desktop. O problema surge quando tento acessar a interface web do OwnCloud. Não funciona. Ele simplesmente fica lá girando. O estranho é que eu crio um arquivo test.php no diretório OwnCloud (com um simples echo('hello world');) e essa página carrega perfeitamente.

Capturei o tráfego no servidor usando tcpdump e posso ver a solicitação GET chegando. Então vejo alguns ACKS duplicados vindos do tablet e algumas retransmissões vindos do servidor.

Devo observar que os clientes VPN recebem endereços IP em uma sub-rede diferente.

Aqui está minha configuração do nginx:


upstream php-handler {
    server 127.0.0.1:9000;
}

# redirect http to https
server {
    listen 80;
    server_name 10.3.3.3;
    #return 301 https://$server_name$request_uri; # enforce https

    root /var/www/owncloud/;

    client_max_body_size 10G;
    client_body_timeout 600s;
    client_header_timeout 600s;

    rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
    rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
    rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

    index index.php;
    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
            deny all;
    }

    location / {
        # The following 2 rules are only needed with webfinger
        rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
        rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

        rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
        rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

        rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

        try_files $uri $uri/ index.php;
    }

    location ~ ^(.+?\.php)(/.*)?$ {
        try_files $1 = 404;

        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$1;
        fastcgi_param PATH_INFO $2;
        fastcgi_param HTTPS off;
        fastcgi_pass php-handler;
    }

    # Optional: set long EXPIRES header on static assets
    location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
        expires 30d;
        # Optional: Don't log access to assets
        access_log off;
    }    
}

Em resumo, todos os dispositivos funcionam bem na LAN local. Os clientes de desktop (OS X) funcionam bem quando conectados por VPN. Os clientes VPN Mobile (tablet Android) podem usar SSH e VNC em máquinas locais. As solicitações HTTP também funcionam bem para VPN na minha página de teste simples, mas não conseguem acessar o OwnCloud. O que posso fazer para diagnosticar melhor o problema? Qual é o problema?

Responder1

Você precisa de uma caixa NAT, com registros DNS para sua rede local. Isso tornará seus hosts virtuais muito mais fáceis de trabalhar, mais detalhados e mais consistentes entre redes locais e remotas...

É muito bom ter um nome de domínio dedicado ao Owncloud. É muito bom ter o mesmo nome de domínio para seu Owncloud oculto. E quando você entra na VPN, ela deve funcionar, desde que suas rotas permitam acesso à sua sub-rede local.

Todas as minhas máquinas ou sites de VM têm seu próprio registro DNS exclusivo e IP estático. É uma etapa extra, mas muito mais profissional de organizar.

informação relacionada