Pertama saya ingin mengatakan bahwa saya mungkin membaca semua yang ada di internet tentang masalah ini.
Dan masalahnya adalah bahwa saya tidak dapat mengakses owncloud saya melalui doc.selfhost.eu jika saya berada di jaringan yang sama. Tetapi saya dapat mengaksesnya dari dalam jaringan melalui IP internal (192.168.2.200) dan dari luar jaringan melalui doc.selfhost.eu.
Pengaturan saya: Server rumah yang menjalankan Linux Mint 17.2 Cinnamon yang seharusnya untuk media dan untuk menjalankan owncloud.
Server terhubung ke Speedport 723v yang tidak mendukung NAT Loopback. Port 80 dan 443 diteruskan dan untuk DNS dinamis saya memiliki akun di selfhost.de yang saya masukkan dalam pengaturan router.
Pada mesin Windows 7 saya (yang saya coba akses dari server) saya memasukkan 192.168.2.200 (IP server internal) sebagai DNS.
Di Mint saya menonaktifkan manajer jaringan (sebenarnya saya menghapusnya) dan saya sekarang menggunakan antarmuka.
Bukan solusi untuk mengubah file host dari semua klien (pada android yang tidak di-root, ini bahkan tidak mungkin).
Pertanyaan:
- Apa yang harus saya ubah untuk mengakses cloud saya sendiri dari jaringan internal melalui IP eksternal?
/ 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
Di /etc/dnsmasq.conf ini adalah satu-satunya hal yang saya tambahkan:
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 (baca di suatu tempat untuk membuat ini)
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
Pengaturan owncloud di /var/www/owncloud/config/config.php
'trusted_domains' =>
array (
0 => '192.168.2.200',
1 => 'doc.selfhost.eu',
);
Konfigurasi Apache Di /etc/apache2/apache2.conf semuanya cukup standar. Saya hanya menambahkan:
ServerName doc-desktop
/etc/apache2/sites-enabled/owncloud.conf . Tidak ada perubahan pada situs yang tersedia , tidak ada tautan.
<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>
Kalau-kalau muncul. dari server:
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
Dari klien di dalam jaringan (dengan 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
Saya harap ini adalah segalanya. Terima kasih.
Pertanyaan ini datang dari sini karena di luar topik:
https://stackoverflow.com/questions/33337258/running-dns-server-to-circumvent-nat-loopback-issue
doc.selfost.eu
dan menyelesaikannya ke IP. Yang lainnya dapatothername.selfhost.eu
. Saya tidak memiliki pengaruh pada penamaan, kecualidoc
. Yang penting adalah saya tidak dapat mengakses server saya menggunakan sesuatu yang dapat dibaca manusia tetapi saya perlu mengakses server dari mana saja dengan satu domain. Saya tidak peduli apakah itu IP atau string. Saya tidak ingin mengubah alamat di klien cloud sendiri setiap kali saya masuk. Saya akan melihat seberapa jauh saya mendapatkan tips Anda. Terima kasih.Saya telah berjuang dengan masalah ini selama sebulan terakhir sejak membeli router Linksys WRT1200AC $ 180 baru. Saya juga memiliki akun IP dinamis yang memungkinkan saya mengakses jaringan rumah saya dari jalan. Saya telah melakukan banyak penelitian, seperti yang Anda lakukan. Tetapi sesuatu yang sederhana seperti memastikan situs saya online sekarang tidak mungkin. Saya bahkan membuat server proxy Python di Google cloud sehingga saya bisa melihat situs-situs ini; namun akhirnya berhenti bekerja karena alasan yang tidak diketahui.
Lingkungan saya adalah Windows tetapi masalahnya identik. Saran tulus saya adalah dengan hanya membeli router baru dan menyelamatkan diri Anda dari banyak frustrasi dan kesengsaraan. Saya sekarang membeli sendiri, tetapi terbukti sangat sulit untuk menemukan router baru yang mendukung NAT loopback. Saya belum menemukan cara untuk mengatasi masalah ini sebaliknya. Semoga berhasil.
sumber
Saya tidak terlalu yakin, untuk memahami semua aspek ini dan saya tergelincir di sini lebih tidak sengaja. Untuk infrastruktur saya sendiri, saya menyelesaikan ini dengan menggunakan aturan iptables untuk mengarahkan permintaan intrenal ke server internal - tetapi saya menggunakan mesin linux sebagai firewall saya. Pokoknya terlihat bermanfaat untuk membaca tautan ini: Mengakses DNAT sever dari LAN lokal menggunakan alamat IP publik
sumber