Primeiro, quero dizer que provavelmente li tudo o que existe na internet sobre o problema.
E o problema é que não consigo acessar meu próprio nuvem sobre doc.selfhost.eu se estou na mesma rede. Mas eu posso acessá-lo de dentro da rede através do seu IP interno (192.168.2.200) e de fora da rede sobre doc.selfhost.eu.
Minha configuração: Um servidor doméstico rodando o Linux Mint 17.2 Cinnamon, que deveria ser para a mídia e rodar o owncloud.
O servidor está conectado a um Speedport 723v que não suporta loopback de NAT. Portas 80 e 443 são encaminhadas e para DNS dinâmico eu tenho uma conta no selfhost.de que eu inseri nas configurações do roteador.
Na minha máquina com Windows 7 (da qual estou tentando acessar o servidor) entrei no 192.168.2.200 (o IP interno dos servidores) como DNS.
Em Mint, desativei o gerenciador de rede (na verdade, removi-o) e agora estou usando interfaces.
Não é uma solução para alterar os arquivos hosts de todos os clientes (em andróides não enraizados isso nem é possível).
Questão:
- O que eu teria que mudar para acessar meu owncloud da rede interna através do IP externo?
/ etc / network / interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.2.200
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers doc.selfhost.eu 8.8.8.8
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
Em /etc/dnsmasq.conf esta é a única coisa que eu adicionei:
listen-address=127.0.0.1
listen-address=192.168.2.200
address=/doc.selfhost.eu/192.168.2.200
/etc/dnsmasq.d/doc.selfhost.eu (leia em algum lugar para criar isso)
address=/doc.selfhost.eu/192.168.2.200
/ etc / hosts
127.0.0.1 localhost
127.0.1.1 doc-desktop
192.168.2.200 doc.selfhost.eu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Configurações Owncloud em /var/www/owncloud/config/config.php
'trusted_domains' =>
array (
0 => '192.168.2.200',
1 => 'doc.selfhost.eu',
);
Configuração do Apache Em /etc/apache2/apache2.conf tudo é bastante normal. Eu só adicionei:
ServerName doc-desktop
/etc/apache2/sites-enabled/owncloud.conf . Nenhuma mudança no sites disponíveis sem ligação.
<VirtualHost 192.168.2.200:80>
#### Redirect to port 443 ###
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
#### End of Redirection configuration ###
DocumentRoot /var/www/owncloud/
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.2.200:443>
####Configuration for SSL #####
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
#### End of SSL Configuration ####
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
DocumentRoot /var/www/owncloud/
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Caso isso aconteça. do servidor:
dig doc.selfhost.eu
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> doc.selfhost.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49046
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;doc.selfhost.eu. IN A
;; ANSWER SECTION:
doc.selfhost.eu. 0 IN A 192.168.2.200
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Oct 26 02:35:15 CET 2015
;; MSG SIZE rcvd: 54
Do cliente dentro da rede (com cygwin):
dig doc.selfhost.eu
; <<>> DiG 9.10.3 <<>> doc.selfhost.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29482
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;doc.selfhost.eu. IN A
;; ANSWER SECTION:
doc.selfhost.eu. 0 IN A 192.168.2.200
;; Query time: 31 msec
;; SERVER: 192.168.2.200#53(192.168.2.200)
;; WHEN: Mon Oct 26 02:37:32 2015
;; MSG SIZE rcvd: 54
Eu espero que isso seja tudo. Obrigado.
Esta questão vem daqui desde que foi off-topic:
https://stackoverflow.com/questions/33337258/running-dns-server-to-circumvent-nat-loopback-issue
doc.selfost.eu
e resolve-lo para um IP. Outros recebemothername.selfhost.eu
. Eu não tenho nenhuma influência sobre a nomeação, exceto dodoc
. O importante não é que eu possa acessar meu servidor usando algo legível, mas preciso acessar o servidor de em toda parte com 1 domínio. Eu não me importo se é um IP ou uma string. Eu não quero mudar o endereço no cliente owncloud toda vez que eu fizer login. Vou ver até onde posso chegar com suas dicas. Obrigado.Eu tenho lutado com esse problema no mês passado desde a compra de um novíssimo roteador Linksys WRT1200AC de US $ 180. Eu também tenho uma conta IP dinâmica que me permite acessar minha rede doméstica da estrada. Eu fiz uma tonelada de pesquisa, como você fez. Mas algo tão simples como garantir que meus sites estejam on-line agora é impossível. Eu até criei um servidor proxy Python na nuvem do Google para poder ver esses sites; no entanto, eventualmente, parou de funcionar por algum motivo desconhecido.
Meu ambiente é o Windows, mas o problema é idêntico. Meu conselho sincero é simplesmente comprar um novo roteador e poupar muita frustração e miséria. Agora estou comprando uma, mas está provado que é muito difícil encontrar um novo roteador que suporte loopback de NAT. Eu não descobri uma maneira de contornar este problema de outra forma. Boa sorte.
fonte
Eu não estou muito certo, para entender todos os aspectos disso e eu tropecei aqui mais acidentalmente. Para minha própria infra-estrutura, resolvi isso usando as regras do iptables para redirecionar as solicitações intrenais para os servidores internos - mas estou usando uma máquina linux como meu firewall. De qualquer forma parece útil ler este link: Acessando um DNAT sever da LAN local usando o endereço IP público
fonte