NAT Loopback Problem - Lösung über DNSmasq
Ubuntu 17.04
Zur Lösung des NAT Loopback Problems kann ein eigener DNS-Server im Netzwerk zum Einsatz kommen. Dies kann z.B. über DNSmasq realisiert werden, welcher auf dem betreffenden Server installiert wird.
Behebung des Problemes mit DNSmasq
In diesem Beispiel hat der DNS-Server die Adresse 192.168.1.23 und der DNS-Server für extern (z.B. Router) die Adresse 192.168.1.1.
Zu allererst muss DNSmasq falls noch nicht geschehen installiert werden
sudo apt-get install dnsmasq
Anschließend muss dnsmasq konfiguriert werden. Hierfür die Datei /etc/dnsmasq.conf folgendermaßem editieren :
# Listen-adrresses of dnsmasq
listen-address=127.0.0.1
listen-address=192.168.1.23
# no DHCP Server for ethernet
no-dhcp-interface=enp2s8
# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
#no-resolv
# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
#no-hosts
Anschließend muss die Datei /etc/hosts editiert werden :
127.0.0.1 localhost
127.0.0.1 SERVERNAME
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
## Lokales Netzwerk
# = IP = = Domainname = = Rechnername =
192.168.1.23 example.ddnsprovider.com SERVERNAME
Die Datei /etc/resolv.conf wird unter Ubuntu Server bei Installation über die Standard Quellen von Resolvconf verwaltet und verändert. Die Datei kann dadurch praktisch nicht verändert werden. Bei korrekter Konfiguration des Routers ist dies auch nicht nötig.
Hierfür in der Konfiguration des Routers als DNS-Server 1 den eigenen Server eintragen. Als DNS-Server 2 den Standard Server des Internetproviders angeben.
Falls die Datei /etc/resolf.conf manuell abgeändert werden muss, und der Server NUR als DNS und NICHT als DHCP Server verwendet wird, kann resolfconf auch deinstalliert werden.
sudo apt-get --purge remove resolfconf
Anschließend kann die Datei /etc/resolv.conf mit eigenen Werte editiert werden :
#Server selbst gefolgt von DNS-Server für extern / Router
nameserver 192.168.1.23
nameserver 192.168.1.1
Der eigene Server sollte nun sowohl im eigenen Netz als auch über das Internet erreichbar sein.